diff --git a/angular.json b/angular.json index 2f0d87cf..c86c8402 100644 --- a/angular.json +++ b/angular.json @@ -25,8 +25,6 @@ "assets": ["src/favicon.ico", "src/assets"], "styles": [ "node_modules/fork-awesome/css/fork-awesome.min.css", - "node_modules/primeng/resources/themes/nova-light/theme.css", - "node_modules/primeng/resources/primeng.min.css", "node_modules/bulma-switch/dist/css/bulma-switch.min.css", "src/styles.scss" ], diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md new file mode 100644 index 00000000..5b8c2bb2 --- /dev/null +++ b/docs/CHANGELOG.md @@ -0,0 +1,551 @@ +## v0.6.0 (2021-05-17) + +* add mkdoc for all documentation [View](https://bitbucket.org/projects/test/repos/my-project/commits/6e0202a5a42256f4e2b49f746d7888a6608214f8) +* add changelog script [View](https://bitbucket.org/projects/test/repos/my-project/commits/b3833ec830100a9197fb9cb84cb4a9670f21e42d) +* 1.1.0 [View](https://bitbucket.org/projects/test/repos/my-project/commits/38388946143eb7881912023d4d3f2dc4403c62fe) +* messing with package version [View](https://bitbucket.org/projects/test/repos/my-project/commits/08ab0482dd5e25cb8152b92323660c35228c215d) +* 0.6.0 [View](https://bitbucket.org/projects/test/repos/my-project/commits/52792ba6472e4be43d2ce750c87d3c9097155da6) + + +## v0.5.0 (2021-05-04) + +* :zap: remove generated documentation from compodoc [View](https://bitbucket.org/projects/test/repos/my-project/commits/f358120516bbf027e53758c93a581f93bed3d10a) +* :book: merge documentation from the wiki in the folder doc [View](https://bitbucket.org/projects/test/repos/my-project/commits/c689a679e21e6e8fd4efff71ef95d555f9c59d82) +* :book: update contribute [View](https://bitbucket.org/projects/test/repos/my-project/commits/c4982267d2ae6980ef6f72694cb322ae8bec6092) +* :zap: ability to customize app title and app logo in header from environment vars. fixes #87 #88 #89. [View](https://bitbucket.org/projects/test/repos/my-project/commits/621101aa38e5732885aa184174cd1d97a157c49f) +* :book: move documentation to doc folder [View](https://bitbucket.org/projects/test/repos/my-project/commits/70acabb056c61da806f565927e063dba66e7592e) +* :book: DOC : desired feature added in doc [View](https://bitbucket.org/projects/test/repos/my-project/commits/14d2a109d30d29a1a83d616d3e543d0cdf4bc084) +* :alien: i18n header menu, :gears: splits routes, :fix: RED theme fix in switch [View](https://bitbucket.org/projects/test/repos/my-project/commits/b4f496b08dbd2bdea757b9f2feb1007a81d8b86e) +* hop [View](https://bitbucket.org/projects/test/repos/my-project/commits/6db96397ea4fc7735f4a921cd8a9a912dafa2221) +* remove some broken automation [View](https://bitbucket.org/projects/test/repos/my-project/commits/5f072fe3abee9c0b5cc5126a11188cd5b70a58c7) +* only send list of polls by email to user [View](https://bitbucket.org/projects/test/repos/my-project/commits/e5214fdd9757a207ee01a0e263c1ab63df1edc12) +* move dev menu slider and show it only in dev mode env [View](https://bitbucket.org/projects/test/repos/my-project/commits/6059533c3635684d8422c2bf1c12a975390af5b4) +* start form [View](https://bitbucket.org/projects/test/repos/my-project/commits/8cac3d18621c35f7f3d73fcc699017f04cefdc6b) +* add form array for choices [View](https://bitbucket.org/projects/test/repos/my-project/commits/d9301559ef99902c3901afd0ee4a6a5035e77b81) +* :hammer: test the build with gitlab CI [View](https://bitbucket.org/projects/test/repos/my-project/commits/41fd153991fb1e324664cd27b9c2d4aca8a4f408) +* add variables from env in footer [View](https://bitbucket.org/projects/test/repos/my-project/commits/b0026fabc471d34f718c8aff95fca2a33c0b3623) +* start combine choices array [View](https://bitbucket.org/projects/test/repos/my-project/commits/4bec5828b386b4be2d73837c97731997e1588106) +* dynamically add choices [View](https://bitbucket.org/projects/test/repos/my-project/commits/8c119739a72fc6767e46791c2341656f53e7fc04) +* add all config controls [View](https://bitbucket.org/projects/test/repos/my-project/commits/e5b8d5b65ec32f170610f0186ed08b6fc23a1568) +* multiple choices for creation [View](https://bitbucket.org/projects/test/repos/my-project/commits/fa534af3ab200835a16f38c2e7b5998cbadb45f6) +* :alien: i18n import po files from previous framadate version [View](https://bitbucket.org/projects/test/repos/my-project/commits/a5b0d2c2d45aa4b58fdd08669568dd7f22b5d795) +* :alien: i18n add extraction lib [View](https://bitbucket.org/projects/test/repos/my-project/commits/60eeddbf21a575e84f054afe5defe54e258bb54f) +* :bug: select lang wigthout lifecycle bug [View](https://bitbucket.org/projects/test/repos/my-project/commits/10c1930e4d5c4be1ec7d6af208dc939705020e89) +* reorder questions [View](https://bitbucket.org/projects/test/repos/my-project/commits/8df2b95c1e287ab7a3a4f0127b8ec616260126dc) +* translate homepage [View](https://bitbucket.org/projects/test/repos/my-project/commits/d07f51dd910ad243e030cfd1fdba041f8264d1e2) +* togglable advanced options [View](https://bitbucket.org/projects/test/repos/my-project/commits/d3042b3723839f6b4710b77024f0f0fb10a87455) +* add keybaord shortcuts on array for choices [View](https://bitbucket.org/projects/test/repos/my-project/commits/4769ecefc3b6b59887baec2625bd5e35f23f6554) +* :zap: more settings for admin form with time and answers groups [View](https://bitbucket.org/projects/test/repos/my-project/commits/82910a9aae0750c80b87a04bd1c6e6634e68f05b) +* add time to date func [View](https://bitbucket.org/projects/test/repos/my-project/commits/94162c796cf5016634eccdeb18fc132711055eb2) +* :alien: convert sentences from framadate1 to json files [View](https://bitbucket.org/projects/test/repos/my-project/commits/a4c2387e1257e9684147bb7af9184d4550fa2b8e) +* add sentences in fr and en from framadate 1 [View](https://bitbucket.org/projects/test/repos/my-project/commits/3700ede667e90a43eb39f301a396feacbe05d570) +* :art: add pictures from undraw, translate sentences on homepage [View](https://bitbucket.org/projects/test/repos/my-project/commits/04f04d622dea3f963273eb038bc1c99e2832f1ca) +* reuse automatic slug from poll config in form [View](https://bitbucket.org/projects/test/repos/my-project/commits/3306e7c29d4f811a6ba624595457768e8c237bcc) +* adding reodering of choices beginning [View](https://bitbucket.org/projects/test/repos/my-project/commits/1745762ba3125c7ad054284e4fd6b4020482d6f2) +* :zap: add api version config in env [View](https://bitbucket.org/projects/test/repos/my-project/commits/1167b692eaea2ffe711a7a56797ed3017624a184) +* add fields to config of poll [View](https://bitbucket.org/projects/test/repos/my-project/commits/4eef4c4220a4b8523e6f7a430afda12c563edaae) +* try to get the list of polls [View](https://bitbucket.org/projects/test/repos/my-project/commits/1b49231d924d0c3a69d43d5c02645b4d2621d50c) +* create success page and route [View](https://bitbucket.org/projects/test/repos/my-project/commits/03f7c49c519e2db062de3d64a1cfdd8c1f109e05) +* spacing buttons [View](https://bitbucket.org/projects/test/repos/my-project/commits/d4e5c614a9397fdd7feaa0dc6da1d1160ccd4c52) +* split of creation components [View](https://bitbucket.org/projects/test/repos/my-project/commits/84b69a1366dacb521d4295c99eb630f636429ac4) +* homepage texts [View](https://bitbucket.org/projects/test/repos/my-project/commits/2d9f1f7d40468d0b2ba3634e7cdd6cbf3f1a8118) +* home page reorder and statistics, todo component [View](https://bitbucket.org/projects/test/repos/my-project/commits/5bac37a7905ba1ccd16bab3568a366bf8b9d9090) +* link to static pages [View](https://bitbucket.org/projects/test/repos/my-project/commits/1717f738d19e65c22d91b1f429cde654fb677ad0) +* include advanced choices and toggle visibility of sub component [View](https://bitbucket.org/projects/test/repos/my-project/commits/feb0de8270204c31cbb92f6a6420644cc1a99e9e) +* ordering base fields [View](https://bitbucket.org/projects/test/repos/my-project/commits/f96dc1f3c44b413eef1b64b4ff9ea8abca9fc34a) +* link to base config [View](https://bitbucket.org/projects/test/repos/my-project/commits/2d49389d117b8060fd343e7815b0894e4413667d) +* add choices for the future [View](https://bitbucket.org/projects/test/repos/my-project/commits/237984c04073efa133ee2fd5ba18ee90a9e16a0e) +* harmonizing poll default properties with payload and advanced config [View](https://bitbucket.org/projects/test/repos/my-project/commits/2a4219e14941679da323d1fd066d6fb6ca62e6f9) +* testing ciphering page [View](https://bitbucket.org/projects/test/repos/my-project/commits/40c0c3888902b046c9ab9f65549c57abbff5a1c3) +* fill poll config default [View](https://bitbucket.org/projects/test/repos/my-project/commits/7140072ecc6d624e6e660cf694ea5d6b4b5c6376) +* patch kind of poll with patchvalue [View](https://bitbucket.org/projects/test/repos/my-project/commits/77cf4c6d04b5a7c7689e834dcc166dd5eca56b22) +* advanced button change color when active [View](https://bitbucket.org/projects/test/repos/my-project/commits/ce00a3ce695e7e6728bdeace31a66cc17359dcab) +* translate calendar contents, space options for days [View](https://bitbucket.org/projects/test/repos/my-project/commits/2edb828aa3a1e0d9e39f4abc6eefc0e0ef06c96b) +* visual sections for date selection [View](https://bitbucket.org/projects/test/repos/my-project/commits/de679721d1047d8ee7d780b23f0298b47af7bb21) +* drag and drop time interval [View](https://bitbucket.org/projects/test/repos/my-project/commits/7ca87e28b44887138b0b8b05bde47cca9024d990) +* display hour ranges [View](https://bitbucket.org/projects/test/repos/my-project/commits/5f4c2e04af08c896f3fb64d56157d007600f6f04) +* use crypto lib [View](https://bitbucket.org/projects/test/repos/my-project/commits/1ab5255bfa2aff83774132965842e357eb8494e4) +* add lib crypto [View](https://bitbucket.org/projects/test/repos/my-project/commits/4df2e00cbe228a19b10821be5025c0b11aeb27da) +* copy button [View](https://bitbucket.org/projects/test/repos/my-project/commits/760bde7e3069e6c2f84724b05c80c7260f7fc2a7) +* easy ciphering working with and without salt [View](https://bitbucket.org/projects/test/repos/my-project/commits/3e0c1ff3750a5f986dd850b6a6b765e19b8a1ad5) +* mixed salt for ciphering [View](https://bitbucket.org/projects/test/repos/my-project/commits/0885df23df39b20fa8ee16aa7c2b3fb1c13a8ec3) +* spacing dev menu button [View](https://bitbucket.org/projects/test/repos/my-project/commits/51de2b2e028305eabfdb9c6bb91a5758aa815344) +* add md5 lib to ciphering page [View](https://bitbucket.org/projects/test/repos/my-project/commits/d72e7763da7e60d551b3ee585555bfa83e6ddd11) +* listing char codes [View](https://bitbucket.org/projects/test/repos/my-project/commits/e5411ab425368ce6e3a7b024e8d9fb711e041018) +* compute entropy [View](https://bitbucket.org/projects/test/repos/my-project/commits/ddf5b40ef45290430f2c681ae0368ee2b98abecf) +* resize table for entropy [View](https://bitbucket.org/projects/test/repos/my-project/commits/e32db4983d014403c97e93a3faebb7ab2e318a59) +* compare entropy with generated pass [View](https://bitbucket.org/projects/test/repos/my-project/commits/e9a9d1a959b8141bdb56fe01d8d0ae7bcf2c8b06) +* chiffrement matrice ok [View](https://bitbucket.org/projects/test/repos/my-project/commits/73ad7426ee1f1b1b31f252ea30d16a810272d792) +* hop [View](https://bitbucket.org/projects/test/repos/my-project/commits/54ece76c7e916aa919d9e5abaca69efd7c12968d) +* fix types [View](https://bitbucket.org/projects/test/repos/my-project/commits/7b5cf59b9979f0da70af0f0ba7dd07c743ec851d) +* update env for prod [View](https://bitbucket.org/projects/test/repos/my-project/commits/3c3dddafa52f520658a70291b66fd42505aeee48) +* fix some production build warnings [View](https://bitbucket.org/projects/test/repos/my-project/commits/2993fc5cb5204bfd35ddc393b6805176e150461b) +* add stats [View](https://bitbucket.org/projects/test/repos/my-project/commits/2af45ae72708bec310febde7cbcf33020a1b83f0) +* using hash routes [View](https://bitbucket.org/projects/test/repos/my-project/commits/e63bbab75565370cdafe1c374bea97f5d777c71f) +* hide some components [View](https://bitbucket.org/projects/test/repos/my-project/commits/f3f2d6623bb1bc7aa8d36d2144ac46a47c98470a) +* choice template questions [View](https://bitbucket.org/projects/test/repos/my-project/commits/21040df287ccb46e9384273b6a352378a1d4ba76) +* date selector as question answers [View](https://bitbucket.org/projects/test/repos/my-project/commits/4a89b715a9e9a9f058c64f3384bd115a89170138) +* add theming in vars with blue variation [View](https://bitbucket.org/projects/test/repos/my-project/commits/b2806371585ba1d1810bfbb2edc977264fd6ba5d) +* default colors [View](https://bitbucket.org/projects/test/repos/my-project/commits/a744bf9931e472afd6a01bbb343c19a6fe095b03) +* setup theme comments [View](https://bitbucket.org/projects/test/repos/my-project/commits/2562b21d2ff9686d8a4cc35645f7ebed81093cd3) +* add fetching a poll with a pass hash [View](https://bitbucket.org/projects/test/repos/my-project/commits/3850f3811c135005131bdffef8cd760fa9cb9fb5) +* manage consultation path [View](https://bitbucket.org/projects/test/repos/my-project/commits/6cb32cb2e19276e28ee3d6c5bc7777a00edfc8ea) +* display de sondage de démo [View](https://bitbucket.org/projects/test/repos/my-project/commits/21aa634ce52beeab60bfc402178840f1f2eb0769) +* montrer consultation et préciser si aucun vote [View](https://bitbucket.org/projects/test/repos/my-project/commits/56273946c3f598e58df960a56756d877d443ece7) +* display title on poll page [View](https://bitbucket.org/projects/test/repos/my-project/commits/d84809d62a032dbe37d8da746fec12fc486a7fca) +* style on selected items in consultation page [View](https://bitbucket.org/projects/test/repos/my-project/commits/0c08e802c9a98d4182853092d615b4fd5f4994b1) +* scroll to top on route change [View](https://bitbucket.org/projects/test/repos/my-project/commits/74a928800edd8d67cfc428eb67d27aaddc33cffa) +* send form in dev mode, fill title demo [View](https://bitbucket.org/projects/test/repos/my-project/commits/215178efa9c6a3bc5e07d11b97dd0109ab356899) +* add comment on display [View](https://bitbucket.org/projects/test/repos/my-project/commits/078f63f742d29e5c1cb7426560047830f165ea97) +* export results added, models updates [View](https://bitbucket.org/projects/test/repos/my-project/commits/1e90d92ab9f6c25643600a254d032c486516a692) +* transmettre l'information d'expiration du sondage au front [View](https://bitbucket.org/projects/test/repos/my-project/commits/163b89b03ffc11c277f916379cb5631b0256d3af) +* fix models for backend update [View](https://bitbucket.org/projects/test/repos/my-project/commits/e45b490c2fdbdff37e5a252a478091b52b287612) +* key created_at for comment, format date [View](https://bitbucket.org/projects/test/repos/my-project/commits/2d3457cf6fa872fe277dcff3a43b93d8be5353a7) +* show counters on answers and favourite answer [View](https://bitbucket.org/projects/test/repos/my-project/commits/0abf924caedeebe008292c230dae3a2af40f028f) +* display details too [View](https://bitbucket.org/projects/test/repos/my-project/commits/9a4a72a24c781e24f773462c8978cf59ded6821b) +* info in modal [View](https://bitbucket.org/projects/test/repos/my-project/commits/729dac95993b4997eae4691bcfaec2630714a8aa) +* fixes for building in prod [View](https://bitbucket.org/projects/test/repos/my-project/commits/7a0061eeb1d2018857a78dcff9674df2076c0999) +* stack of vote relié au formulaire de commentaire [View](https://bitbucket.org/projects/test/repos/my-project/commits/620a7b99fac22a6809149d753410f5bf885c0570) +* set choices and toggle votes in votestack [View](https://bitbucket.org/projects/test/repos/my-project/commits/f1e6b5955ee16f4ec65828f6bd48930b606b879e) +* display stack answer and toggle fluently between answers to votes [View](https://bitbucket.org/projects/test/repos/my-project/commits/4464a0af2cae1c9c9c25c6b1762d28634c3b4207) +* default value of vote added [View](https://bitbucket.org/projects/test/repos/my-project/commits/cbc4bd8f5d85b0a6f1e3bc797c47564cee5c4e62) +* choice button refacto [View](https://bitbucket.org/projects/test/repos/my-project/commits/3abef619c8ce77cc1f9ba014a952fbb96456b01d) +* send stack of votes button linked to api [View](https://bitbucket.org/projects/test/repos/my-project/commits/7a83beae8e5ca64c21759b3337de0ecb30c06937) +* trying to send vot stack but getting CORS issue [View](https://bitbucket.org/projects/test/repos/my-project/commits/30d4adec373ae2714b25d46e704beef73785cfc0) +* use httpclient [View](https://bitbucket.org/projects/test/repos/my-project/commits/e61542b6521722eafafb989dd88fa482ae07caac) +* default backend to framadate demo api [View](https://bitbucket.org/projects/test/repos/my-project/commits/b2b8056b7eb35fef9de30adc7c897ee6c5d2d2a5) +* add good hash in route [View](https://bitbucket.org/projects/test/repos/my-project/commits/d5bc5777b787060dfaa84c1ed7599bff272b5507) +* move old stuff [View](https://bitbucket.org/projects/test/repos/my-project/commits/fdcb7327f0b65a4ce8c7ae6f8a5bec9f5592c026) +* rename utils services [View](https://bitbucket.org/projects/test/repos/my-project/commits/b9181b5b3fe6b7163ffefbb0bea3e70a186bee53) +* auto send vote in dev mode [View](https://bitbucket.org/projects/test/repos/my-project/commits/3a89645e66b9445e61bf67c50805b9682a538931) +* manage mobile menu, and add poll title to page title [View](https://bitbucket.org/projects/test/repos/my-project/commits/31f0f19a9ae2120ac3394414e79649a44ee2de14) +* nav disable default show [View](https://bitbucket.org/projects/test/repos/my-project/commits/78a88d3163f73a161649a0ed17d4038f458d5bcc) +* nav items for demos in mobile menu [View](https://bitbucket.org/projects/test/repos/my-project/commits/69f8eac147f413a1f7bbb9c2d2b12b6526e63419) +* change icons for answer [View](https://bitbucket.org/projects/test/repos/my-project/commits/9e4d5187b523891568387526e1a7cc749d6a5a44) +* toast message on error send vote stack [View](https://bitbucket.org/projects/test/repos/my-project/commits/765299e1c3ae69bebfbad281592d9460ef4f9aa4) +* creation poll style, fill DTO for creation [View](https://bitbucket.org/projects/test/repos/my-project/commits/585d3a215e62ee115d0bace3c5bc0c6f650c2b59) +* auto save on dev env [View](https://bitbucket.org/projects/test/repos/my-project/commits/12a41b502217ce8c2f0df9673ca7a21f80550409) +* flatten form fields [View](https://bitbucket.org/projects/test/repos/my-project/commits/d08bba4fcb4ffbb5b4b28cd948babc21059b8bfe) +* advanced fields flattened [View](https://bitbucket.org/projects/test/repos/my-project/commits/e405a09c78af01fdb02a0fa7b4f75fc92cee7c34) +* splitting date choices with a separator [View](https://bitbucket.org/projects/test/repos/my-project/commits/975997b7675876f5596e34533e50d76f1c6c8809) +* group display of days [View](https://bitbucket.org/projects/test/repos/my-project/commits/86c0ff815f824b9119d36482cd85fc668eccf7cb) +* ability to toggle answers on grouped choices [View](https://bitbucket.org/projects/test/repos/my-project/commits/16db2a69cf687e2f99b9faec96e87c4d89d06458) +* update url to copy after creation [View](https://bitbucket.org/projects/test/repos/my-project/commits/bfdb18b316ffaf614b58a33ebdb195d1e793cc0a) +* link function [View](https://bitbucket.org/projects/test/repos/my-project/commits/b2ee8ec668d252a23389780f977bba3c58a79512) +* hop [View](https://bitbucket.org/projects/test/repos/my-project/commits/dc382017a2ab64fddbe6ca6f31b8419f24e8c0b3) +* fix url public [View](https://bitbucket.org/projects/test/repos/my-project/commits/59cb917ea36ac9cb4b21fb2d93fe01bc067c8935) +* fix test kind [View](https://bitbucket.org/projects/test/repos/my-project/commits/ed13c98b99048078a9ff3bd23ff32ab34f68c349) +* hash routes re enabled [View](https://bitbucket.org/projects/test/repos/my-project/commits/d7a35e91edb3d6f75ddb0946d8d288b20627c925) +* fix get participation url [View](https://bitbucket.org/projects/test/repos/my-project/commits/9a013f6d2cd29832d98fa81352f39db0a12fe60c) +* better mix on creation of poll [View](https://bitbucket.org/projects/test/repos/my-project/commits/d40aa6a3ae0152f53da4f29379800ab146b8fc89) +* no auto send form [View](https://bitbucket.org/projects/test/repos/my-project/commits/c3026639948ce0b4adc5ef22704c076e79407fbd) +* fix deps to config prop [View](https://bitbucket.org/projects/test/repos/my-project/commits/e7343810d5612f5ce30d41536c5c9a1d77093d31) +* env message demo dans le header [View](https://bitbucket.org/projects/test/repos/my-project/commits/d222d88872012f4cf22c34da9370bb6d2cba5d71) +* home display stored polls [View](https://bitbucket.org/projects/test/repos/my-project/commits/1bfe747e4cd256a42bd4c17f9b25fc1c3175131a) +* more responsive menu header [View](https://bitbucket.org/projects/test/repos/my-project/commits/bf1df96dcdbdf15905a8db2d61716466c838cfd8) +* enable loading state in api creation, success page update [View](https://bitbucket.org/projects/test/repos/my-project/commits/a969b30a03bd6e2ab93d352b5fceccd8420b6983) +* add to local polls after creation, update poll [View](https://bitbucket.org/projects/test/repos/my-project/commits/10177d793bf0af056f96e4873b4bbfd12d7c0bee) +* fix icon [View](https://bitbucket.org/projects/test/repos/my-project/commits/f6b522748a3e78735926764580a08145def159de) +* display of success links [View](https://bitbucket.org/projects/test/repos/my-project/commits/1755f205ad41e6b10fa8b656746d65e578456bbc) +* update custom_url with title [View](https://bitbucket.org/projects/test/repos/my-project/commits/f1e5903d0aa2d444b9dd5dc1ecdf3f30e2b61f22) +* smaller uniq id in custom_url [View](https://bitbucket.org/projects/test/repos/my-project/commits/5d39b7aa3e5f045f4270729f6c6daa2cd9ea79a9) +* erasable button on first field [View](https://bitbucket.org/projects/test/repos/my-project/commits/6fdb56786aa1cbd33badb80d00184aefcf6b64bd) +* same time span for every day by default, clean config [View](https://bitbucket.org/projects/test/repos/my-project/commits/c0ca623885d923c873c7d5796f1f687dfa148f8e) +* display time slices [View](https://bitbucket.org/projects/test/repos/my-project/commits/af4dfacec9107678069b2dd909473ac68549a728) +* empty and reset time slices [View](https://bitbucket.org/projects/test/repos/my-project/commits/1d8aeb2f54711709cd6209fde3615c43e2d78598) +* display all on creation [View](https://bitbucket.org/projects/test/repos/my-project/commits/d7eac8d56c68923b74516d688eeea3d421201567) +* display fields errors [View](https://bitbucket.org/projects/test/repos/my-project/commits/9cd847be8f099509a55518b092b1d0645c1967ee) +* less logs for validation [View](https://bitbucket.org/projects/test/repos/my-project/commits/186e5e36da6f4b424df0e127d7f52980551ef787) +* separate choice from form [View](https://bitbucket.org/projects/test/repos/my-project/commits/f6ce22480cbd1fe1ed9e1bb0a038cc6df8fa2030) + + +## v0.4.0 (2020-06-26) + +* Ajout du lien vers le rendu [View](https://bitbucket.org/projects/test/repos/my-project/commits/983c64a1b4f542d743ee8f1029a4ca8662a3df95) +* Pose les textes de la première page de la maquette [View](https://bitbucket.org/projects/test/repos/my-project/commits/e9a85fe44a505a0444d72ae43e0a6a2e8003da3e) +* Changement de la structure HTML de base, inspiré de https://github.com/DavidBruant/better-defaults [View](https://bitbucket.org/projects/test/repos/my-project/commits/57b023425107ff786381339dab09e0344e03eb26) +* Habillage minimum de l'accueil [View](https://bitbucket.org/projects/test/repos/my-project/commits/2ca0982f6ee7181e701680d9ee63108bc34028d3) +* Ajoute les pages statiques de la navigation [View](https://bitbucket.org/projects/test/repos/my-project/commits/fac4efab3c48c70a0527641f0504031878141502) +* Ajoute un script docker pour lancer un serveur localement pour développer sur la maquette [View](https://bitbucket.org/projects/test/repos/my-project/commits/e30135786a4f6c3d39588afa00d17491a9406d1d) +* Documente le processus pour lancer le projet localement [View](https://bitbucket.org/projects/test/repos/my-project/commits/caf4cf7d2c7dd4969929c6290ab311df44bf1eaf) +* Ajout du parcour vers le sondage classique [View](https://bitbucket.org/projects/test/repos/my-project/commits/a248b803079b2ae58d86e8fa1b3e2cdb57fd8f74) +* ajout des champs de formulaire dans la page notifications [View](https://bitbucket.org/projects/test/repos/my-project/commits/1cc8e6beb442d3b365b73f0be2f525ff9f1bcb0d) +* Création du fichier js [View](https://bitbucket.org/projects/test/repos/my-project/commits/cb07e90e63ae8ec4ab1f91fe01630f7cc0cd8770) +* Ajoute le lien vers les natural language form [View](https://bitbucket.org/projects/test/repos/my-project/commits/b3b9797e8cd437efefee1ae6028dba433d62874e) +* Bifurcation sur le sondate en fonction du choix [View](https://bitbucket.org/projects/test/repos/my-project/commits/0f6abfa7b9ceea6fdd0d17366e77ea3929b9beb0) +* Usage du localStorage [View](https://bitbucket.org/projects/test/repos/my-project/commits/affb5500e734c94aa6526d1e8106f3b849871160) +* Ajoute la ponctuation [View](https://bitbucket.org/projects/test/repos/my-project/commits/23902aca1fb69cd40556896be744bfbf053dd8b8) +* Affiche un texte par défaut, et propose une popup pour saisi [View](https://bitbucket.org/projects/test/repos/my-project/commits/053d24c158c6e55888f42262d481d6bfb30e8013) +* Changement du nom, sans javascript, ou avec [View](https://bitbucket.org/projects/test/repos/my-project/commits/bf23bee2827d9197b646168c1a6606c13f890ed4) +* Généralise l'usage du champs text [View](https://bitbucket.org/projects/test/repos/my-project/commits/105b98388573ba5d6a1abe91a9e5b67db51c9169) +* Embelli les deux champs texte de la fin de sondage [View](https://bitbucket.org/projects/test/repos/my-project/commits/3229d14993c61eeb595971191c6b86c76707bb9d) +* Embelli le champ texte de l'index [View](https://bitbucket.org/projects/test/repos/my-project/commits/44b60adba0ee9c5b6ac515a926d7f4960023ba32) +* Base de reflexion pour l'ajout d'option [View](https://bitbucket.org/projects/test/repos/my-project/commits/91b94e806f1572a096d655932f352c26540c312c) +* Deploy on funky [View](https://bitbucket.org/projects/test/repos/my-project/commits/0ec23c03d3d16bc5f0979f678e696bdfed4f63a0) +* Update .gitlab-ci.yml [View](https://bitbucket.org/projects/test/repos/my-project/commits/9a045b4608b87d85f3ace567042991dab7b85828) +* Update .gitlab-ci.yml [View](https://bitbucket.org/projects/test/repos/my-project/commits/8ecb77c322df2b3d331c8a60b3c61bd7ac797d9a) +* Update .gitlab-ci.yml [View](https://bitbucket.org/projects/test/repos/my-project/commits/5edd7c6cd5edfae997ec2e4cece9fc524e51cebe) +* give up on bash & alpine [View](https://bitbucket.org/projects/test/repos/my-project/commits/ee2dfb7002c1a553e123f58ff1b3a5b1df7f63f4) +* Recherche de sondate en deux temps [View](https://bitbucket.org/projects/test/repos/my-project/commits/55ca50890f7d132bb626811aa9e50cce24d5f996) +* Déplace la date plus haut dans la page des notif. [View](https://bitbucket.org/projects/test/repos/my-project/commits/4d8e493c7049fbb9299c2b93fe2e914518c88f4c) +* Selectionne les options d'un sondage dates [View](https://bitbucket.org/projects/test/repos/my-project/commits/d151724e87b20500d19c022fa3a8f90066dfa533) +* Ajoute des informations sur la page de validation [View](https://bitbucket.org/projects/test/repos/my-project/commits/23b43fe5345f9a8fe2b6e77531def3eabb8a8125) +* Ajoute une option image + lien [View](https://bitbucket.org/projects/test/repos/my-project/commits/cdbe0a12e16156ae2ab7a4a854fdb57dd806d644) +* Ajout d'un champ texte en cas de sondage classique [View](https://bitbucket.org/projects/test/repos/my-project/commits/45319fcfd65a784f8e312a621cf3d1faaccfac6b) +* changement de l'URL de demo [View](https://bitbucket.org/projects/test/repos/my-project/commits/d48879c8f651ac4cd288d9914903fcd9d34ab671) +* fix(#16): amélioration de l'affichage de la page dates [View](https://bitbucket.org/projects/test/repos/my-project/commits/d4ad832004e399a289c9fa960a30caf38e6b4570) +* fix(#3): amélioration du design des boutons [View](https://bitbucket.org/projects/test/repos/my-project/commits/7505340c037682cf2894079aed1177499a162542) +* fix(#4): proposition d'amélioration d'affichage des champs textes [View](https://bitbucket.org/projects/test/repos/my-project/commits/19905b208e224eb77127e664cbc6b54aeee2a5d1) +* fix(#5): amélioration de l'apparence du textarea [View](https://bitbucket.org/projects/test/repos/my-project/commits/b2c79980c3ef4047bf0a073fe73f5220e3ebf737) +* fix(#15): amélioration du design de la page validation [View](https://bitbucket.org/projects/test/repos/my-project/commits/08b4e8bed0123a363f4f7d4edc6f0a11fbce2074) +* changement de la taille de typo [View](https://bitbucket.org/projects/test/repos/my-project/commits/d99f3af9212c328a3b20d626ca542117dcc69e4a) +* amélioration de l'affichage de l'email [View](https://bitbucket.org/projects/test/repos/my-project/commits/f566c30ee129d736c48f7a7af404bf3e8b244d38) +* ajout du style de bouton primary [View](https://bitbucket.org/projects/test/repos/my-project/commits/0ffbdca9ad4495124c386ab84fd15c55214e6809) +* amélioration de récapitulatif [View](https://bitbucket.org/projects/test/repos/my-project/commits/925ad5a5575af5414457b50cc6944e41d6da2591) +* ajout d'une classe bold [View](https://bitbucket.org/projects/test/repos/my-project/commits/77329039772e1342c03d46431b3034757f919010) +* amélioration affichage champs email [View](https://bitbucket.org/projects/test/repos/my-project/commits/bf4ccd61643aea3bdfdf7502ab693569706e1edb) +* proposition affichage des dates [View](https://bitbucket.org/projects/test/repos/my-project/commits/e3be6ad85a8dcea0dde9c0621b253e96d2a46cb3) +* amélioration de l'affichage des icones [View](https://bitbucket.org/projects/test/repos/my-project/commits/de5e3604b7524952940dbc494f328f34737d1d94) +* amélioration de l'affichage des icones [View](https://bitbucket.org/projects/test/repos/my-project/commits/531fd91aef8a8852085bd55202192fab76aa8eda) +* Ajoute des dates, et les enregistres dans le localStorage [View](https://bitbucket.org/projects/test/repos/my-project/commits/8f309740c18e25586434e9095f51ab064c9a9587) +* Affiche le titre du sondage dans la page de validation [View](https://bitbucket.org/projects/test/repos/my-project/commits/b1ab16bd11195294e080ecbd7a903191be55cc6a) +* Récupère l'ancien framadate [View](https://bitbucket.org/projects/test/repos/my-project/commits/50e56a0396610ac4f970b7ecc1702222c1981421) +* propose un champe vide par défaut [View](https://bitbucket.org/projects/test/repos/my-project/commits/4a6b039fa974e2df5b7062ee3079873f33c3949a) +* Met à jour le readme [View](https://bitbucket.org/projects/test/repos/my-project/commits/e5a4cde537a40691fbe2ac5dd2bacd7ea59dba76) +* Utilise un sondage spécial date par défaut [View](https://bitbucket.org/projects/test/repos/my-project/commits/90c014222f5322ca34cdfeb5c8720cd30e69e966) +* revois la page suivante par defaut [View](https://bitbucket.org/projects/test/repos/my-project/commits/2c9d5fa912e2ceb2cb32e1ad573d898d88305a8f) +* affiche uniquement les options nécessaire pour les date [View](https://bitbucket.org/projects/test/repos/my-project/commits/18d649dab9201c33ce156f5450d2d68dba7d1a47) +* reformule le texte de la page des dates [View](https://bitbucket.org/projects/test/repos/my-project/commits/eb79e6161117d5155482249536f053e6e24c9589) +* affiche les horaires dans un sondage spécial dates [View](https://bitbucket.org/projects/test/repos/my-project/commits/a5f3e96ad190b6c19c6f84f57884cf3892c13a8f) +* ajoute un bouton pour ajouter des horaires [View](https://bitbucket.org/projects/test/repos/my-project/commits/9c27b43d3bbd17ece53edde92b4ea85334f66d1c) +* affiche le récapitulatif en fonction des dates qui ont été saisies [View](https://bitbucket.org/projects/test/repos/my-project/commits/f6ded6f5fa2df0eb957f6512b8772eb09e2f938b) +* passage à du plus joli [View](https://bitbucket.org/projects/test/repos/my-project/commits/b5581c7127d96ee75856242b076b1b4632dea8d4) +* Dossier screenshots pour voir l'avancement ! [View](https://bitbucket.org/projects/test/repos/my-project/commits/91460d407700f2e6feac19e97c8d9468aef83d23) +* Téléverser un nouveau fichier [View](https://bitbucket.org/projects/test/repos/my-project/commits/d6c81848ea028fc10d746dbd31f2434cece8f137) +* Téléverser un nouveau fichier [View](https://bitbucket.org/projects/test/repos/my-project/commits/f5cd418a5767dc70413be45285c34f5623c5117f) +* Téléverser un nouveau fichier [View](https://bitbucket.org/projects/test/repos/my-project/commits/018987e6ae0dad4b878baa828ffa50ce7b82b531) +* Téléverser un nouveau fichier [View](https://bitbucket.org/projects/test/repos/my-project/commits/3f80ba64ee15bd497699fafdd26e6b7a3c9540db) +* Téléverser un nouveau fichier [View](https://bitbucket.org/projects/test/repos/my-project/commits/a46d24f267463b31a27a16967de7d1928c813f77) +* Téléverser un nouveau fichier [View](https://bitbucket.org/projects/test/repos/my-project/commits/376f093a00f958979e09913cc708a69cca27fed2) +* Téléverser un nouveau fichier [View](https://bitbucket.org/projects/test/repos/my-project/commits/18b984d478d974df5cd5db47d9306c3c95a02a2e) +* ajoute un lien vers l'exmple de natural language form [View](https://bitbucket.org/projects/test/repos/my-project/commits/e22559a6462240b69cfc74f522bb183542743f5f) +* Restart from scratch [View](https://bitbucket.org/projects/test/repos/my-project/commits/39242f22dbf321461d49bbf47f87274219210626) +* removed useless files [View](https://bitbucket.org/projects/test/repos/my-project/commits/61f69c926e879604936f73e3fe4726dbd8ee5dda) +* :tada: initialize Angular version of Framdate funky front end [View](https://bitbucket.org/projects/test/repos/my-project/commits/40b1a7bbf9c67f85d21c4212a7af51f9cb98d07b) +* hop [View](https://bitbucket.org/projects/test/repos/my-project/commits/512d569c54ce255f329a6883b1ba1c0bd86ffc18) +* :zap: make routing, link data with poll config. :art: style sheets [View](https://bitbucket.org/projects/test/repos/my-project/commits/d5f71504dc66c12a0ec9df91b5fb6a646aa098fc) +* real example of config [View](https://bitbucket.org/projects/test/repos/my-project/commits/c048c35b9d6aad8664ecd2fb208f047a1ab3eefc) +* :zap: example of navigation [View](https://bitbucket.org/projects/test/repos/my-project/commits/42f229f686bcf61ea4d8e3c877847937a12ae16e) +* :zap: example of navigation [View](https://bitbucket.org/projects/test/repos/my-project/commits/46cce96dab991af2de358e66daadbff9dda5079d) +* :zap: rename components [View](https://bitbucket.org/projects/test/repos/my-project/commits/e238b0aceb1fb2776242ef74cba46b5d27feebd7) +* :zap: make pages components, split config of poll from service [View](https://bitbucket.org/projects/test/repos/my-project/commits/56aa09df3bb71342aafd31ce95cba6e2733d1767) +* :zap: make pages components and nav [View](https://bitbucket.org/projects/test/repos/my-project/commits/49f4b4c13b555e0498d7bc2c8770e446d2ec2968) +* :zap: sync answers [View](https://bitbucket.org/projects/test/repos/my-project/commits/d413774d3b473c5355e2a52f1d0f73efa90b3ab8) +* :zap: ability to add a new answer and focus [View](https://bitbucket.org/projects/test/repos/my-project/commits/488b9f677ac9048062304a55f9ad6d6ff5630444) +* :zap: all steps and demo page [View](https://bitbucket.org/projects/test/repos/my-project/commits/54c7c6568d2cba66d0088b5bd0b8f3c401645445) +* focus via injected document [View](https://bitbucket.org/projects/test/repos/my-project/commits/d9b81d3d8ef5001fd7e199afcd05051263b21973) +* Correcting routing at the end of the form [View](https://bitbucket.org/projects/test/repos/my-project/commits/504d8faddf5ff608e63e2081bbbc2ab880860632) +* add fonts folder [View](https://bitbucket.org/projects/test/repos/my-project/commits/3fa61053a53518c57ba142ffee180f1cf9c9732d) +* fix(styles files): improve styles folders [View](https://bitbucket.org/projects/test/repos/my-project/commits/74b991362aa181ac64fa2882cd5ed3a1142d1536) +* Ajouter un nouveau dossier [View](https://bitbucket.org/projects/test/repos/my-project/commits/c77792b0575902f8b52b80483808a672fbc1cf8c) +* Téléverser un nouveau fichier [View](https://bitbucket.org/projects/test/repos/my-project/commits/c0491a433b2556c917fcd0771b20bf0026ef07a4) +* Téléverser un nouveau fichier [View](https://bitbucket.org/projects/test/repos/my-project/commits/9a9450dc0dcf23b8931fea51ae90455947a95e87) +* Téléverser un nouveau fichier [View](https://bitbucket.org/projects/test/repos/my-project/commits/0c00813056699d552f5990f825dd9612fc5443ab) +* Téléverser un nouveau fichier [View](https://bitbucket.org/projects/test/repos/my-project/commits/51540252844a8019cde41f4137effa10546127d8) +* Ajouter un nouveau dossier [View](https://bitbucket.org/projects/test/repos/my-project/commits/04d6a1b430214853e235fad96c5d8b9707114063) +* Téléverser un nouveau fichier [View](https://bitbucket.org/projects/test/repos/my-project/commits/5cada8fc32beb844e0cd78a5bf3a084d10f2e05c) +* Téléverser un nouveau fichier [View](https://bitbucket.org/projects/test/repos/my-project/commits/c1bf0631571d25cb669288caab7c1a74f14fa9a8) +* :zap: change privacy of properties [View](https://bitbucket.org/projects/test/repos/my-project/commits/d5e5550c54102ca3e1ddf3988139f036a09bcd9a) +* :zap: page creation or retrieve start [#28] [View](https://bitbucket.org/projects/test/repos/my-project/commits/6532538da3dfc07b9fdd328a984b431868580a67) +* styling in mobile column [View](https://bitbucket.org/projects/test/repos/my-project/commits/56a7271325dde04724aa1648e4cb3433b56020d9) +* :zap: lien entre multiple dates et config [View](https://bitbucket.org/projects/test/repos/my-project/commits/d941d6bed86ed922667c9fd806709efc96e6c236) +* :art: style of cursor hovering buttons [View](https://bitbucket.org/projects/test/repos/my-project/commits/16e8ab4ec5d3fb2cd522ca890066a653f230939c) +* :zap: add my name input in first form [View](https://bitbucket.org/projects/test/repos/my-project/commits/8eecb506c3c448273a2d52fc7f28733b09e93717) +* Remove my editor config files [View](https://bitbucket.org/projects/test/repos/my-project/commits/4bb851640bba5054c282e97144d8916bc5aa1957) +* Add calendar component [View](https://bitbucket.org/projects/test/repos/my-project/commits/9dace55091d8f8d5cfe72764a2ac54d0fa1de2a8) +* added web fonts [View](https://bitbucket.org/projects/test/repos/my-project/commits/7fcd13f05a1d07be698cb40f6855c3181a2f169f) +* Modification de la page de création [View](https://bitbucket.org/projects/test/repos/my-project/commits/189f5915c17604a6ced866a98ee735fdf73dffe7) +* added bootstrap reboot as a CSS reset [View](https://bitbucket.org/projects/test/repos/my-project/commits/ce53ccf55f9370bc1da8202189497d9178a44c45) +* improved heading code [View](https://bitbucket.org/projects/test/repos/my-project/commits/918999178495e5541498a02a4b495bf3b324863f) +* Modification des liens [View](https://bitbucket.org/projects/test/repos/my-project/commits/13144d5b8c28986a450170f2421a34482b66da59) +* ordered links file + added sass [View](https://bitbucket.org/projects/test/repos/my-project/commits/5ae1aeabeb561bff94758b50b61e9d26c83480ad) +* improve markup, hide useless decortion for a and h1 in header [View](https://bitbucket.org/projects/test/repos/my-project/commits/c47e00a82481c8c0415b137b406623d0d63f9bd2) +* improve global display [View](https://bitbucket.org/projects/test/repos/my-project/commits/74285393d885870340ecb60a6d8b79f360abfaea) +* Adding basic date filling [View](https://bitbucket.org/projects/test/repos/my-project/commits/9031b60178bf2c4a25bc596161429fa6a24858c2) +* :art: organize fonts in folders [View](https://bitbucket.org/projects/test/repos/my-project/commits/2d03578a1d6fef9431a79950b1e24f13c71ce44c) +* :art: remove blue in links of the bootstrap lib, add strike line on create button [View](https://bitbucket.org/projects/test/repos/my-project/commits/07989e454fb4df951177831a0e3d793cbba54198) +* :art: striked button and icon style [View](https://bitbucket.org/projects/test/repos/my-project/commits/29bfe45acac4905a4f9df4f343993beebe9c6fee) +* :bug: remove page folder, refacto in pages folder for creation page [View](https://bitbucket.org/projects/test/repos/my-project/commits/8291f2d8de90b54f4bd6dac6d4384589f8eabdf8) +* fix(headings): moved h1 with border to component [View](https://bitbucket.org/projects/test/repos/my-project/commits/1753515797ddca6d20ee3464d73e0421332abdec) +* style(default): added font color [View](https://bitbucket.org/projects/test/repos/my-project/commits/e91c66eef42b7b614458e65cef9dd80660f0a836) +* worked on links [View](https://bitbucket.org/projects/test/repos/my-project/commits/f0da02371ddf0a46c3166ec9228a3f7a8e7603b6) +* style(hover): added hover color [View](https://bitbucket.org/projects/test/repos/my-project/commits/c3b9ddfb7221c5cba0ab9997fc715096d29df72d) +* Modify input's style [View](https://bitbucket.org/projects/test/repos/my-project/commits/7e4feb9350d39880d42505d6a80159d05a49f5f2) +* Fix password css object [View](https://bitbucket.org/projects/test/repos/my-project/commits/ecbf7878569c519c41b96001ca2198212f13a5c3) +* modifications sur les liens & les buttons [View](https://bitbucket.org/projects/test/repos/my-project/commits/435a1d58c90acdd6b373919387558de65bd922c3) +* Personalize p html balise [View](https://bitbucket.org/projects/test/repos/my-project/commits/b0ca964c7558c6589aa3cd9d4c4b543a07b9e48c) +* added list of elements [View](https://bitbucket.org/projects/test/repos/my-project/commits/8ac8b696aad5bf0358fdd06cbcdc8a6fea718979) +* worked a bit on display [View](https://bitbucket.org/projects/test/repos/my-project/commits/93b9908a407999324b50d85619cb185266fbebb0) +* worked on home [View](https://bitbucket.org/projects/test/repos/my-project/commits/807b6bc66020c279c4e7296d718579d6837bd671) +* added delete buttons [View](https://bitbucket.org/projects/test/repos/my-project/commits/c64f6b9ebe17554c500224784417471fb0f93ce5) +* added useful classes and comments [View](https://bitbucket.org/projects/test/repos/my-project/commits/58835864d32061c0d1e4c2da8cd00a98561f5b9f) +* corrected links background [View](https://bitbucket.org/projects/test/repos/my-project/commits/fcc770f82de0b47a81c8c74cdbd029e82f58005c) +* Add img [View](https://bitbucket.org/projects/test/repos/my-project/commits/00e3f00c9adecf6f93d8c3259b7cf71db3fe347a) +* select modify [View](https://bitbucket.org/projects/test/repos/my-project/commits/ccf37a85362d9f3a226d0a8e3721702a616ec2c0) +* minimal commit [View](https://bitbucket.org/projects/test/repos/my-project/commits/5f796b817a60eee9a7fc609cf00e73959e63209e) +* Add dropdown arrow [View](https://bitbucket.org/projects/test/repos/my-project/commits/2e1078c4e437372a8e5705709260cbb76e6264ac) +* :zap: format html, :alien: up translate file [View](https://bitbucket.org/projects/test/repos/my-project/commits/320c9504677d521a4011ec4f88c680b1b7177667) +* :zap: add pages [View](https://bitbucket.org/projects/test/repos/my-project/commits/018b1ce83eb84a74bafc35bc48fc3404338c384c) +* Change colors [View](https://bitbucket.org/projects/test/repos/my-project/commits/9996d954dd5adafd3951e2357ae35fad6f99784e) +* Add input borders [View](https://bitbucket.org/projects/test/repos/my-project/commits/1d6f1dc95580fb8432af93290b731c1e107ecea7) +* delete left border on textarea [View](https://bitbucket.org/projects/test/repos/my-project/commits/b763252d765360da96f29c827258b76e100be567) +* Change png to svg select image [View](https://bitbucket.org/projects/test/repos/my-project/commits/b091a190cf24785e78bce31086ce7f09aa527c64) +* change select padding [View](https://bitbucket.org/projects/test/repos/my-project/commits/bddc200cbdc44e0266eaa018c0d9f9a0dff5e8e0) +* change select padding [View](https://bitbucket.org/projects/test/repos/my-project/commits/e00dff4acb1a09f759779656af0a80e5d5e72718) +* remove placeholder [View](https://bitbucket.org/projects/test/repos/my-project/commits/ba4fad8a31660e5c0a761e7507d9ff7a6f858a0b) +* change home order text [View](https://bitbucket.org/projects/test/repos/my-project/commits/48e77024d54edfa950ed1cc89eab4110c830b8ff) +* added flex-line [View](https://bitbucket.org/projects/test/repos/my-project/commits/cb6979926d282129cee11c56b352e46a97c58f14) +* added wrap to flex-line [View](https://bitbucket.org/projects/test/repos/my-project/commits/ef9a0fe7704a18da5c5b4e75ee0839b53e6e70c3) +* changed content width [View](https://bitbucket.org/projects/test/repos/my-project/commits/53a550bdc1ce33f691bffa0cd40a579142dcea05) +* Change button style on home [View](https://bitbucket.org/projects/test/repos/my-project/commits/3be3bb44f1886e72a828662d267c090a477a0627) +* style answers page [View](https://bitbucket.org/projects/test/repos/my-project/commits/e0898ba3945b8617609bc1a1a24646e27d1713ee) +* add button [View](https://bitbucket.org/projects/test/repos/my-project/commits/132a7fabd3c089b84dd237d37c9902996d1f2427) +* Testing [View](https://bitbucket.org/projects/test/repos/my-project/commits/df859e02818f2ffe2b2e9340eae725d540fa0e23) +* :ambulance: change form-container to home component [View](https://bitbucket.org/projects/test/repos/my-project/commits/d2478c37a48bac56af35d0b91311a99bdd946913) +* :zap: all page components do extend basecomponent and its common config service [View](https://bitbucket.org/projects/test/repos/my-project/commits/8f8a258ecf65d8af5307acf5ed8d2b543c835aae) +* change link [View](https://bitbucket.org/projects/test/repos/my-project/commits/326f2731ff9caf811cab32062998cc62a6c116b6) +* merge with ng-init [View](https://bitbucket.org/projects/test/repos/my-project/commits/193468e66995309adf480db0c6cbbf4113c96bc2) +* Remove placeholder [View](https://bitbucket.org/projects/test/repos/my-project/commits/aab6ea801b81ee0aa8368483a2f15070ea574cf9) +* :alien: demo for i18n [View](https://bitbucket.org/projects/test/repos/my-project/commits/cc7b4661eefc6674e4e5b849b3b6cda2eb67bbe7) +* modify create or retrive page [View](https://bitbucket.org/projects/test/repos/my-project/commits/0c0dd7063dd7a47e1440366dd7b976e3e75e169d) +* stylise button [View](https://bitbucket.org/projects/test/repos/my-project/commits/128e4b628185bcb00fe0de15abe2c9277b25f52f) +* :alien: add ngx translate config [View](https://bitbucket.org/projects/test/repos/my-project/commits/d1ced70b1b81e2fa7cf8124bc9d6ee9cd76eeae5) +* :alien: json strings to translate things in en/fr [View](https://bitbucket.org/projects/test/repos/my-project/commits/90323c28c7e96d1d3c70e54b8818d34680fc5783) +* :alien: add missing translation support [View](https://bitbucket.org/projects/test/repos/my-project/commits/91101f2326413f9d63476c026c0207f93cb3e490) +* :alien: translate 2 first pages [View](https://bitbucket.org/projects/test/repos/my-project/commits/0f2a72f8720220fd17db37006b5361b425975006) +* Add html code for voting [View](https://bitbucket.org/projects/test/repos/my-project/commits/6cc09aebb5f175d09862228799735aeed1ac1c85) +* Add css on vote component : No works [View](https://bitbucket.org/projects/test/repos/my-project/commits/e059d45f73b5ee16925260139bdf066a3ac1b4d0) +* Minimal commit [View](https://bitbucket.org/projects/test/repos/my-project/commits/9c4fabb176e78f28b72439d6e4f5ee138f404069) +* :zap: choice component JS logic and type constraints. demo for dev environment [View](https://bitbucket.org/projects/test/repos/my-project/commits/f48d05b5188df06e3e4494510cb6f780d6b8c982) +* :bug: fix undefined choice [View](https://bitbucket.org/projects/test/repos/my-project/commits/1074d219dd9dc5c267976806270dd6a2c51ed4ea) +* :zap: date en français dans le choix de vote [View](https://bitbucket.org/projects/test/repos/my-project/commits/2d060f99055acb3d5251b1afde70abc786768f51) +* Add round to buttons on vote-choice [View](https://bitbucket.org/projects/test/repos/my-project/commits/1b9c669ae3d16d8fcaaa6977d558e420e7bdfc03) +* Corrige center alignement [View](https://bitbucket.org/projects/test/repos/my-project/commits/36192647c01c47f1d6782da6c69297449c1f2d8b) +* stylize the date [View](https://bitbucket.org/projects/test/repos/my-project/commits/8215dfab78f101bd15fcfaa0752afedc0b56842d) +* Add `npm i` command to README.md [View](https://bitbucket.org/projects/test/repos/my-project/commits/fd27382a9aeaff8a6735a85712d4142f0b795976) +* Modify vote component [View](https://bitbucket.org/projects/test/repos/my-project/commits/280783c56b699f72e736f31125cf4ab22c9d8c70) +* Translation fr->en [View](https://bitbucket.org/projects/test/repos/my-project/commits/5e2193e8aa0aa5cea1fa1d20127142d84518ede6) +* Correction of a typing mistake [View](https://bitbucket.org/projects/test/repos/my-project/commits/a63f76b45014c9dbb199406b30389b447bb09d60) +* Put the words in a more natural order [View](https://bitbucket.org/projects/test/repos/my-project/commits/fd6cce277775a271aaab702e836dd93104d7e1be) +* Add i18n in navigation [View](https://bitbucket.org/projects/test/repos/my-project/commits/0cb0813eb774c7aff4f96d71822dfa2d9e0cd089) +* Stick "Frama" and "date" together [View](https://bitbucket.org/projects/test/repos/my-project/commits/efe0b892186b203dca49939573966eee10d1d772) +* Minimal commit [View](https://bitbucket.org/projects/test/repos/my-project/commits/c671a8bdea289d1623502d5672069897556af3ab) +* Replaced text by i18n json keys and add i18n attribute [View](https://bitbucket.org/projects/test/repos/my-project/commits/c5021a2aa1ff176457852f5419aa76e58dff2fa6) +* Align elements [View](https://bitbucket.org/projects/test/repos/my-project/commits/69802a99ffa5e5a23e94f6b1f1d6931c9bfc62aa) +* [front] global : update button styles [View](https://bitbucket.org/projects/test/repos/my-project/commits/802f54b930125db6c8994f53c1389d3892e0b91a) +* [front] global : increase main wrap size [View](https://bitbucket.org/projects/test/repos/my-project/commits/a176405dd492ca9941d5b02011436db0e3f2076e) +* [front] component : vote choice [View](https://bitbucket.org/projects/test/repos/my-project/commits/3e29117ea62ee3025ed1e3ae8b328aa51197dc3e) +* ajout composant graphique sondage [View](https://bitbucket.org/projects/test/repos/my-project/commits/a006e4d42a0bd1bb85361952f47c27aa5ca3307d) +* #36 : ajout librairie chartjs [View](https://bitbucket.org/projects/test/repos/my-project/commits/46a02846bfd0a49066cb03fcce04c1f239df5a8a) +* issue 36 : select daltonien [View](https://bitbucket.org/projects/test/repos/my-project/commits/5f2a2b4461f6a4b8a33b6d64af4180f7e1ff85de) +* Issue-30: Markdown support [View](https://bitbucket.org/projects/test/repos/my-project/commits/be96384a8e5f42211303b5f9215512787e9bb7cd) +* [front] component : vote choice [View](https://bitbucket.org/projects/test/repos/my-project/commits/6ee9f742faa27b039785290660563bce998fe52b) +* Issue-30 : markdown - bouton retour [View](https://bitbucket.org/projects/test/repos/my-project/commits/ca3b76d0c82dffa5c4f8f4228ef0579da7642500) +* Format html templates with tabs [View](https://bitbucket.org/projects/test/repos/my-project/commits/bfa44534aa0ccc821a5d5f73d40a967dbc45ebab) +* [fix] vote choice : minor css fixes [View](https://bitbucket.org/projects/test/repos/my-project/commits/28b3334d3e258f3cef1a36c3247aa6f89b37e8a4) +* [front] vote choice : add image and text cases [View](https://bitbucket.org/projects/test/repos/my-project/commits/6f8b180d1fdb50f10804025e6232fbe512cf680f) +* suppression du code mort [View](https://bitbucket.org/projects/test/repos/my-project/commits/f9a8c1d8c3f92099b2d29723a5337402a0bc6d05) +* Resolution du conflit [View](https://bitbucket.org/projects/test/repos/my-project/commits/985be95b0d16529196891d4c855c46bfad53c575) +* Conflit resolved [View](https://bitbucket.org/projects/test/repos/my-project/commits/8b728d172f1558f603bc8f11df0d97f737020772) +* Traduction placeholder [View](https://bitbucket.org/projects/test/repos/my-project/commits/61d31dfd5a252f7e89ad464c51d675d78b0812d5) +* Err correction special dates [View](https://bitbucket.org/projects/test/repos/my-project/commits/22a560d82d40337bd66ab30062ca235a7e3e99ca) +* issue-36 : restitution des votes d'un sondage sous forme de graphiques. début [View](https://bitbucket.org/projects/test/repos/my-project/commits/00597410277aa3c387a8b33d9e31033adc853fc9) +* :zap: choices to add,clear and delete [View](https://bitbucket.org/projects/test/repos/my-project/commits/b7afca96db4b811fa02e1f4725dc6f5661f1db0e) +* Issue-36 : Graph sondage [View](https://bitbucket.org/projects/test/repos/my-project/commits/723a0f9527776f1de653464b979980c662a6e909) +* Fix bug [View](https://bitbucket.org/projects/test/repos/my-project/commits/497cf9e12ca5ef283391b9586d83f1ca2daf13dd) +* fix bug [View](https://bitbucket.org/projects/test/repos/my-project/commits/1055a0cdbe3f800acccc6a8f06c3669f47ef6de7) +* Une partie de html [View](https://bitbucket.org/projects/test/repos/my-project/commits/942649656df42aa23f0117ed8757bb3e176129b8) +* :bug: fix focus on date, extend the empty all button to timespans [View](https://bitbucket.org/projects/test/repos/my-project/commits/cf2a12507e053d9235d6a03f1e0569c90df82c27) +* Ajout formatage données [View](https://bitbucket.org/projects/test/repos/my-project/commits/c36a3b064cc1330628037c57ffff9cf5c41c183c) +* :bug: fix deletions in date buttons , input of type date [View](https://bitbucket.org/projects/test/repos/my-project/commits/933c32798cc26461ca5b62ec3eb89c18f29e4953) +* :zap: start call backend service to retrieve my polls by email [View](https://bitbucket.org/projects/test/repos/my-project/commits/026c7cfda2476e7a77cecfaff28c151e835b7a10) +* :alien: translate button to add [View](https://bitbucket.org/projects/test/repos/my-project/commits/6a40e041d0af462d9e776632168d033ab2d7eae2) +* :alien: translate button to add in template [View](https://bitbucket.org/projects/test/repos/my-project/commits/20876f9a8d927fadc083b193d671355f4bfd3423) +* :zap: add unique interval days [View](https://bitbucket.org/projects/test/repos/my-project/commits/572f0837cc93feba5ee76a6b112a14d333ba6121) +* :alien: translate buttons [View](https://bitbucket.org/projects/test/repos/my-project/commits/7b590840b2a8504db34114434fd2345141711f4d) +* :zap: fix function call in template [View](https://bitbucket.org/projects/test/repos/my-project/commits/e81389eae13b8709085710ce60bae6d3307ba7ae) +* :zap: link graphic in nav [View](https://bitbucket.org/projects/test/repos/my-project/commits/c0f800ff91822255a4d84e18106d238506dfaab4) +* Page crée et bien complétée (plus qu'a faire les alignements) [View](https://bitbucket.org/projects/test/repos/my-project/commits/84b87486ed57d14549f6a5bc5c00df508cad7ed1) +* Presque fini [View](https://bitbucket.org/projects/test/repos/my-project/commits/8f8a0d07d27a23f0871f1718ca5e0654bb1f38db) +* Dernier commit avant merge [View](https://bitbucket.org/projects/test/repos/my-project/commits/39d4213bded6915081dd42cd506c52ff20ac2659) +* Resolve a part of merge conflicts [View](https://bitbucket.org/projects/test/repos/my-project/commits/275a065d8ebde70d9556ad1c2e915daf6228578b) +* :zap: svg in assets [View](https://bitbucket.org/projects/test/repos/my-project/commits/d993111d34afa7f33a56c95823e2ca159a8350f1) +* :alien: translation keys for visibility page [View](https://bitbucket.org/projects/test/repos/my-project/commits/7a9c7b6dc3d5f63282fe48e8dd9b1979cca38463) +* start visibility [View](https://bitbucket.org/projects/test/repos/my-project/commits/8ff8cbc40838ac3ffb41643804ca3aa976adc4c8) +* :zap: selector custom component for ui, half the visibility page [View](https://bitbucket.org/projects/test/repos/my-project/commits/d107978f2c66dfa80abb47ddc2cce107f8a5eec1) +* end visibilty fields link with poll config [View](https://bitbucket.org/projects/test/repos/my-project/commits/f4108ee61b31fe555775a05dbebba49ed78d722f) +* :zap: link default values [View](https://bitbucket.org/projects/test/repos/my-project/commits/c1935dbb87b53b4750c798dee79506cc215ac1dd) +* :zap: linked things [View](https://bitbucket.org/projects/test/repos/my-project/commits/7da480f310359c4d29a030654582cbadf68d26ce) +* :art: style remove strange section sizes, h1 size greater [View](https://bitbucket.org/projects/test/repos/my-project/commits/93f3aa76bd7aced66d936967c7f7fb90b2d800cd) +* add default content to poll config [View](https://bitbucket.org/projects/test/repos/my-project/commits/e179be812eda262fb103c67b721f35f7c95010fa) +* :zap: enhance keyboard navigation with answers [View](https://bitbucket.org/projects/test/repos/my-project/commits/9c02b1ae2b16abd5ef43f41721a2657369fedc28) +* :alien: add english key to translate [View](https://bitbucket.org/projects/test/repos/my-project/commits/48586b847507e93f0c93c084364523d2bef94e73) +* changer la langue entre fr et en quand on clique sur l'icone de traduction [View](https://bitbucket.org/projects/test/repos/my-project/commits/b78ea6273eadfa9ea862952fdd4ed32b72a9191e) +* Translation work [View](https://bitbucket.org/projects/test/repos/my-project/commits/abe07bc9784cce5aa93ffa2831ca18abc8e8c046) +* HTML Part [View](https://bitbucket.org/projects/test/repos/my-project/commits/c581d7262500778c7fab1d63323f74437a6e0665) +* Complete HTML [View](https://bitbucket.org/projects/test/repos/my-project/commits/a53322b441be5cdf882777e92909205e91008445) +* CSS Part [View](https://bitbucket.org/projects/test/repos/my-project/commits/3e372d6f53b7dc8e06d26bc8295663505f958def) +* Other css part [View](https://bitbucket.org/projects/test/repos/my-project/commits/07f5d60b95e87c5393061a2c443a8d4f3b66e285) +* :zap: start backend calls [View](https://bitbucket.org/projects/test/repos/my-project/commits/f223b760fff0cfc769396891f5528fc97b55099d) +* organise calls, add headers [View](https://bitbucket.org/projects/test/repos/my-project/commits/cb6636f1557cdf4e33f0a2163245f6ab5ae63755) +* push [View](https://bitbucket.org/projects/test/repos/my-project/commits/d3a7a37d4db51e2aaddae9180c7c4d6dc8413444) +* Spelling corrections [View](https://bitbucket.org/projects/test/repos/my-project/commits/6f08fc3dd05203babedf7d15c8c9fe09b9b0eca7) +* 🎉🎉 Page terminée 🎉🎉 [View](https://bitbucket.org/projects/test/repos/my-project/commits/73b9d496e68db9c0bdb49e1f53fc3a25129c97eb) +* Plus qu'a aligner les labels aux inputs [View](https://bitbucket.org/projects/test/repos/my-project/commits/be66cc0a907fc1e947d5c02e85ff1e6388eec0a1) +* Terminé [View](https://bitbucket.org/projects/test/repos/my-project/commits/2b079f63a043e3bd2dda486ca8e1005b72535c6a) +* Add route and HTML [View](https://bitbucket.org/projects/test/repos/my-project/commits/adcdaf911f99567bb348accd1197a6f013939bca) +* Add css [View](https://bitbucket.org/projects/test/repos/my-project/commits/c727aa935e509e061b0dba669e41c82bc6791e63) +* :art: style on current page from the route data, and texts in the confirm page, step end [View](https://bitbucket.org/projects/test/repos/my-project/commits/809aa0f02fc0add44b497a4ba8ee55c6ee17fc6c) +* :zap: link to public [View](https://bitbucket.org/projects/test/repos/my-project/commits/112119194a1255b6c96e82476dc7e08123b1b835) +* :zap: remove debug step in nav [View](https://bitbucket.org/projects/test/repos/my-project/commits/daf7006bb8317b4ec6ed96e0a28ef93d8de9ba39) +* :zap: fix some deps [View](https://bitbucket.org/projects/test/repos/my-project/commits/cf4e9f45634b0eb8fa52bf77c52373876ce5eaef) +* :zap: update dependencies with yarn, add primefaces to make toasts [View](https://bitbucket.org/projects/test/repos/my-project/commits/ded5e71e73a037096d0497b615faf82d733a775b) +* :art: add font awesome [View](https://bitbucket.org/projects/test/repos/my-project/commits/4296c5c9f95c2dae7754c4a6ba1751444b9ff039) +* :zap: get poll data in vote choices [View](https://bitbucket.org/projects/test/repos/my-project/commits/5657f57fc75b05c055c63798032c8eae0514a0e0) +* :zap: reorganize poll display page [View](https://bitbucket.org/projects/test/repos/my-project/commits/79ef34e5af971db537f42cb0c4eacd6bd79f00e0) +* merge with dev [View](https://bitbucket.org/projects/test/repos/my-project/commits/c9b4ffe328ec283b2630406c788dab70b45c8505) +* :zap: enhance display poll page [View](https://bitbucket.org/projects/test/repos/my-project/commits/52587428ddcbe179c71892f9288a44202306fb0a) +* :zap: reorganize poll display page and urls in config [View](https://bitbucket.org/projects/test/repos/my-project/commits/051e4d8ee469370a7ae7b68cce6a1325394b9c12) +* :zap: change translation button way to be in sync with the model [View](https://bitbucket.org/projects/test/repos/my-project/commits/37904596fbc2f68e2fa6d80d44422b4230af71d8) +* :art: visual help on clickable elements [View](https://bitbucket.org/projects/test/repos/my-project/commits/5eba5d684b7c8b6194ac1676b4559d189792ec44) +* :zap: check for uniqueness of the slug, slug the title by default [View](https://bitbucket.org/projects/test/repos/my-project/commits/2720b6596241874df330373645952f6a53ebeb5c) +* :zap: add email to creation [View](https://bitbucket.org/projects/test/repos/my-project/commits/7c64f1f8f08b75fb34ddd7459d8e9580202e5298) +* :zap: copy to clipboard ok [View](https://bitbucket.org/projects/test/repos/my-project/commits/4098f7ec5c533d3b35e629278006d6134ff8ee38) +* :zap: toast messages when copied to clipboard and network errors [View](https://bitbucket.org/projects/test/repos/my-project/commits/b44f2719b44e4aba7476dc7952b4cc739b9d1d39) +* :book: clean console logs [View](https://bitbucket.org/projects/test/repos/my-project/commits/7df60e5a514783a5d393e9a3446a934e12e580ea) +* :bug: fix show and hide of password input [View](https://bitbucket.org/projects/test/repos/my-project/commits/fd4bbb5c712fb79204badae316d92fd17be7c9e5) +* :zap: calls in administration page to delete things [View](https://bitbucket.org/projects/test/repos/my-project/commits/bae3f19af223022c933fd622d3c8adf2bf6167db) +* :bug: remove duplicate text in end of admin page [View](https://bitbucket.org/projects/test/repos/my-project/commits/113609e945f5e09ae3c04119225eb6bd7fa670c8) +* :zap: toast todo things [View](https://bitbucket.org/projects/test/repos/my-project/commits/7b790e3cdc58ee296e16645abef0fc9ee0cad629) +* :zap: computations for the result graph [View](https://bitbucket.org/projects/test/repos/my-project/commits/1b65d58a6f52acfb0265c33de7c9779177b73ff1) +* toggle simple answer [View](https://bitbucket.org/projects/test/repos/my-project/commits/a3e243ed19bddc12e194a166ab38c3101835fcc2) +* :bug: fix build [View](https://bitbucket.org/projects/test/repos/my-project/commits/10497c9cb09873f3ede8b75729d2f444d12e5338) +* :zap: add update demo script, remove duplicate toast, try hash route [View](https://bitbucket.org/projects/test/repos/my-project/commits/6a3d2c3195303b5094f43102df78f7e4990e19c8) +* :zap: modal to display url [View](https://bitbucket.org/projects/test/repos/my-project/commits/255205696bcf8778088404348bdd0b748649f0b3) +* :zap: list mypolls on first page [View](https://bitbucket.org/projects/test/repos/my-project/commits/9ebd22536b1ed314e264757867d84bef1ee87d9f) +* buttons to nav [View](https://bitbucket.org/projects/test/repos/my-project/commits/3808f194258dd5cd93b03258ec2f2d90ee6b615b) +* :zap: erasable inputs on first config screen ok [View](https://bitbucket.org/projects/test/repos/my-project/commits/3ada66ac5f36c38502556f18982954d2526cce0e) +* launch creation from resume page [View](https://bitbucket.org/projects/test/repos/my-project/commits/f8568eb9102668521556b40eacc89ee8b639db09) +* :zap: lang input placement [View](https://bitbucket.org/projects/test/repos/my-project/commits/ff5c11e79c42926296516f27cc95aa660e34a50d) +* :zap: really fetch a poll by id [View](https://bitbucket.org/projects/test/repos/my-project/commits/123a0b1c809999306f131e6e0f9523d82944d38a) +* :zap: update vote list after vote creation [View](https://bitbucket.org/projects/test/repos/my-project/commits/06cf447529583f05789e17f9d9b9d196f0a56409) +* :zap: hop [View](https://bitbucket.org/projects/test/repos/my-project/commits/96709c9bc71980541497eb7f4387512948f3de08) +* :book: add mocks from updated backend [View](https://bitbucket.org/projects/test/repos/my-project/commits/a68cbdcc0a017e30490239ff9593c69b7b2f798f) +* :bug: fix recursion in input erase button [View](https://bitbucket.org/projects/test/repos/my-project/commits/195259bb722a4dd5260a05bbe5dd77cbc6d0577e) +* :zap: menu to nav on poll display - #64 [View](https://bitbucket.org/projects/test/repos/my-project/commits/d2c726012bbc4cf413b18f454fc9e859fdb50b49) +* :zap: build for production, :bug: fix publicy of vars in templates [View](https://bitbucket.org/projects/test/repos/my-project/commits/ea43430e1b7acf3f6250215fc9966cca5e6422a5) +* :zap: build for demo updated [View](https://bitbucket.org/projects/test/repos/my-project/commits/f96833d96e7c53dd855113ef9e3a7dd7b62c5021) +* :zap: use hash for internal routing in the frontend [View](https://bitbucket.org/projects/test/repos/my-project/commits/b06a44fb98ec9d0f3903b99f917aff7817742983) +* poll routing hints in the app, demo precision in header [View](https://bitbucket.org/projects/test/repos/my-project/commits/8322a9a83a799e67b90dd47e0aa4ff1c56b81e0b) +* :zap: other url to create a poll [View](https://bitbucket.org/projects/test/repos/my-project/commits/9900e1ec976dd98fcb63bc35ed6f286caa8c427c) +* sync fetch stuff [View](https://bitbucket.org/projects/test/repos/my-project/commits/02995c8b3d40eb7b05361c8ecf9e59a706a0fd51) +* :zap: mock for poll 1, fix new comment [View](https://bitbucket.org/projects/test/repos/my-project/commits/346bd9dc4f69296c51550f0da1b7e40a632051a7) +* stuff [View](https://bitbucket.org/projects/test/repos/my-project/commits/7e4e80f1ed3843eb8724e93d46c1d7fc598dcdd1) +* :bug: fix fetch of old params [View](https://bitbucket.org/projects/test/repos/my-project/commits/01bddc842db7b91ed2e5ebe4db036ba709dae3f4) +* :zap: add administration key after creation [View](https://bitbucket.org/projects/test/repos/my-project/commits/7bc53e198d8dc9fdae172bd596647a6b2ca1ad6f) +* :zap: choices lighter and work [View](https://bitbucket.org/projects/test/repos/my-project/commits/22bd836a16187607ee3be22cad867c7f7e2e729b) +* step to date form [View](https://bitbucket.org/projects/test/repos/my-project/commits/2e6723a1f1121c47bf9e6fb00cc043f987394940) +* fix buttons colours and manage a bit more the date form [View](https://bitbucket.org/projects/test/repos/my-project/commits/f056b0d79a2a5c894cc91d3723d16244c4abb58d) +* button to act on time [View](https://bitbucket.org/projects/test/repos/my-project/commits/a66933041f46dbaa2a15d373fd1809c82607dff3) +* change preview for dates type [View](https://bitbucket.org/projects/test/repos/my-project/commits/460e236d604beb1c24b4beaa5a1d992eb5b45dab) +* date accessor [View](https://bitbucket.org/projects/test/repos/my-project/commits/22736f709e36463e9e470e9a3385d246c85fd85f) +* :bug: handle no current poll [View](https://bitbucket.org/projects/test/repos/my-project/commits/f9d1cfff3a8f0f8d17ce622f21bc74fa9aa66aac) +* :bug: fix some config keys [View](https://bitbucket.org/projects/test/repos/my-project/commits/100569515328df6988c250f87e12124e9034227e) +* :zap: manage interval of date with date objects [View](https://bitbucket.org/projects/test/repos/my-project/commits/e227344647501e02bb3ed56da2e239e5c9e2a06a) +* :zap: disabled button when nothing is selected, detect counts [View](https://bitbucket.org/projects/test/repos/my-project/commits/0369d934bddc852e71d7a671ec41765b1a80990c) +* display a table of answers [View](https://bitbucket.org/projects/test/repos/my-project/commits/43ea524c2604891095940da3827ecd7c0003a10b) +* :bug: fix visibility of config in summary [View](https://bitbucket.org/projects/test/repos/my-project/commits/f976d65d204183c3c9f5d1d606edcf97bf6db311) +* :zap: update current answers with a previous vote [View](https://bitbucket.org/projects/test/repos/my-project/commits/9cf368f5504c1dcd28d34f9682888c65202bda6f) +* sort table of answers [View](https://bitbucket.org/projects/test/repos/my-project/commits/ca69160ea979c2995a2e5cdc2b825bb05e293fa2) +* :zap: show preferred texts in summary, icons for votes [View](https://bitbucket.org/projects/test/repos/my-project/commits/0e8d18cd8000b2b9a9fb3d74277bf24a26c8b380) +* :zap: add bulma framework, style table [View](https://bitbucket.org/projects/test/repos/my-project/commits/74ade7ac0fe52d48bec50522b648b5e0bac27d1e) +* fix select visibility [View](https://bitbucket.org/projects/test/repos/my-project/commits/bc67f26327186ef6ff9a476824eae987f3b83532) +* :zap: component to copy text to clipboard [View](https://bitbucket.org/projects/test/repos/my-project/commits/63e1a5e899cd6681ce819c53669a76b7987fb7a2) +* :zap: unify update config after fetching a poll config [View](https://bitbucket.org/projects/test/repos/my-project/commits/dd9e8950f4473dd39841ba3150bff23b8f172016) +* :fix: load vote of someone else ok [View](https://bitbucket.org/projects/test/repos/my-project/commits/b1adfaa8ea565cc6204ef975d5153ba99fc66e75) +* :zap: reset all answers before loading a stack [View](https://bitbucket.org/projects/test/repos/my-project/commits/4bcd3e475f9c7f31b5b4f8f5ffe700239929660c) +* export data in csv with rows and comments [View](https://bitbucket.org/projects/test/repos/my-project/commits/e3e5cf6638b2522c2bc7ac7181d63a6f3683e502) +* :zap: split poll display components [View](https://bitbucket.org/projects/test/repos/my-project/commits/ab23b9b2566cbd328bf9a510202c39fcd046634c) +* :gears: refacto date and poll utilities functions in a separate class [View](https://bitbucket.org/projects/test/repos/my-project/commits/c5b52764002149eff41dcd48cb876fa6ec79d562) +* :book: update refacto utilities as services [View](https://bitbucket.org/projects/test/repos/my-project/commits/44424d378aef95bb0bfc014104b5346c340ad5c7) +* :hammer: test voting choice, add ci pipeline config [View](https://bitbucket.org/projects/test/repos/my-project/commits/0a3ee9b6f0c145ed069eb07f554f20f4f294cff4) +* :zap: update package lock for CI [View](https://bitbucket.org/projects/test/repos/my-project/commits/91b1d64f0a6282fcbebd46aab328988e75be2620) +* :bug: run test in single run mode on CI [View](https://bitbucket.org/projects/test/repos/my-project/commits/a088daf4a3a1870a82c300e66d1463b0be909f5e) +* run build for prod on CI [View](https://bitbucket.org/projects/test/repos/my-project/commits/b360720e1504af9b220d579ee2b01668255c6b7d) +* :gears: update ng cli 8 [View](https://bitbucket.org/projects/test/repos/my-project/commits/8f59e654477a5b2ccea0748b59720ccb8137919e) +* :hammer: update to angular v 9 [View](https://bitbucket.org/projects/test/repos/my-project/commits/38d1d52633a3e0fb8d68433edb985754861aaf2b) +* :zap: custom date value accessor with renderer 2 [View](https://bitbucket.org/projects/test/repos/my-project/commits/1816150c6d06c51ab83cc77ebebff7ff70cc002f) +* :hammer: test with FirefoxHeadless for gitlab CI [View](https://bitbucket.org/projects/test/repos/my-project/commits/e089d19993613619c0585556f5cdc6265154a0cb) +* :zap: manage dates poll type display, fix typo in add button date [View](https://bitbucket.org/projects/test/repos/my-project/commits/15bbf0e375309a8e273c4a5b9aa0bc70cd5cdc6e) +* dates and recap side to side [View](https://bitbucket.org/projects/test/repos/my-project/commits/61bf6a289c44cac419d60e186f18594b21f1b4e8) +* :zap: ad storybook [View](https://bitbucket.org/projects/test/repos/my-project/commits/4ec9b174ad295f5cee76e515ed70b88313f6476e) +* :zap: add some types interfaces in the config [View](https://bitbucket.org/projects/test/repos/my-project/commits/49b79395644d792ac633a0df5d15da07e0c460a3) +* :book: add compodoc [View](https://bitbucket.org/projects/test/repos/my-project/commits/d7a2a8d6b78f7ea920fd794139f7f3d0d6dddd51) +* :bug: fix synced time slices [View](https://bitbucket.org/projects/test/repos/my-project/commits/ff8e02b2154d81a62a7f979dcfcc83c826a79295) +* :fix: remove puckage lock in profit of yarn [View](https://bitbucket.org/projects/test/repos/my-project/commits/ba7465fe8395c26e0d2bb6ae8fcab10d179a2497) +* :bug: add package only for CI [View](https://bitbucket.org/projects/test/repos/my-project/commits/e03359e8db170647a5534e376803a9d6e0a10ddd) +* :zap: component to select theme [View](https://bitbucket.org/projects/test/repos/my-project/commits/2d757c6726a942237c3bad27258e1820bce1e5d0) +* :art: better disposal for theme selector [View](https://bitbucket.org/projects/test/repos/my-project/commits/312b2d859943900a8784d0fbdc1cc03db0ab2be4) +* :hammer: fix for CI, bad option in npm run test [View](https://bitbucket.org/projects/test/repos/my-project/commits/a0138f84d3b01e276909a934d176a375e22529b1) +* :zap: add confirmation modal for admin user, issue #59 [View](https://bitbucket.org/projects/test/repos/my-project/commits/c0a4ec7a0c143263ed84b494ca30fcce3dc27e00) +* :bug: fix update after vote #65 [View](https://bitbucket.org/projects/test/repos/my-project/commits/75c26572fe0fcc9b305c51d10a39bd1d3fba6f43) +* :zap: can or can not modify votes issue #49 [View](https://bitbucket.org/projects/test/repos/my-project/commits/fff4e57378d9a49211a684f64433870fd67b3441) +* :zap: fix issue of selecting can or can not modify answers [View](https://bitbucket.org/projects/test/repos/my-project/commits/23dc45f1986fd8b3c06af7ba02a192737c04c3a4) +* :art: arrange create or retrieve page in two columns [View](https://bitbucket.org/projects/test/repos/my-project/commits/60c184c60ba389e8ebd1b40d6ac0d51488fe66b6) +* split many components, presentation with left nav [View](https://bitbucket.org/projects/test/repos/my-project/commits/9bdd4e0084d8c4fedf45453b947348cf55ad7416) +* :hammer: fix linting, add env default [View](https://bitbucket.org/projects/test/repos/my-project/commits/6e6b812d2d5271221d65b7d3d8c2705e134e2683) +* :zap: theme persisted in the localstorage, reload config on page reload - issue #75 [View](https://bitbucket.org/projects/test/repos/my-project/commits/936110846c4326d5772c89fbfad488b44aaa7651) +* :zap: :alien: Conserver le choix de langue au rechargement de la page - issue #54 [View](https://bitbucket.org/projects/test/repos/my-project/commits/acb091802c51ee7d1fad0b0ae08597da87cf3c52) +* :zap: export format json public [View](https://bitbucket.org/projects/test/repos/my-project/commits/e2c388da9e26e908ca278cde575ac9bff28926e4) +* :zap: add eslint [View](https://bitbucket.org/projects/test/repos/my-project/commits/e56d5cdcef59bba41e0d37711f047b6f799e45fa) +* - upgrade all packages - intall & configure linters (eslint, prettier, etc.) [View](https://bitbucket.org/projects/test/repos/my-project/commits/dd9bb8922f24cca7b33c34cb3bad1b190aebb91a) +* reformat all files + move routes.ts to AppRoutingModule [View](https://bitbucket.org/projects/test/repos/my-project/commits/18a7d4781ac44f820b870269f5134b305758e722) +* Jest tests [View](https://bitbucket.org/projects/test/repos/my-project/commits/ca5ffdc896864d47467b7562494c600b120f4d2b) +* routing for admin ith token parameter, add comments [View](https://bitbucket.org/projects/test/repos/my-project/commits/15b10f938149cc5fb8af087f773188be3c722bfe) +* :zap: admin route calling the backend [View](https://bitbucket.org/projects/test/repos/my-project/commits/8fa39250d5e5863c8987b3fc2e9464dc3bb61d7e) +* refacto : create entities, enums, services [View](https://bitbucket.org/projects/test/repos/my-project/commits/e5243204572e2dcba735335f4861f36d72fd98a5) +* :gears: move components to better semantic folders [View](https://bitbucket.org/projects/test/repos/my-project/commits/86ada008c505f6935e540023bb706cf9605588d9) +* :zap: change theme enum to correspond with themes classnames [View](https://bitbucket.org/projects/test/repos/my-project/commits/60b4bfb6197318ca5bb6e21d8dfc031da7c5d070) +* :zap: add component having a couple of configurable links, to navigate between pages [View](https://bitbucket.org/projects/test/repos/my-project/commits/da7e96526c3ed95b395b33bdaee5347ea9837f6f) +* Feature/simplify scss [View](https://bitbucket.org/projects/test/repos/my-project/commits/ba7a24708dd83cc99c81ebe064f5570fac369a38) +* gitignore add eslintcache file [View](https://bitbucket.org/projects/test/repos/my-project/commits/985b9fcdcf17b35790e341318b1a109b3e454a79) +* update env api endpoints [View](https://bitbucket.org/projects/test/repos/my-project/commits/23b8622a4f2b8d74e1b2d80319658ac70bcd2e21) +* rebase branch 'feature/refacto_1' of https://framagit.org/framasoft/framadate/funky-framadate-front into feature/refacto_1 [View](https://bitbucket.org/projects/test/repos/my-project/commits/7a4f16e4845f74894bcbfd7344205f005c243b5e) +* :bug: remove admin component request [View](https://bitbucket.org/projects/test/repos/my-project/commits/4ec9091233986af49d5c271b91bdbe33b18aaebe) +* :bug: fix window variable in html [View](https://bitbucket.org/projects/test/repos/my-project/commits/48636ad9478e002da705bd96c330333cb3bb3fc9) +* split config service & dispatch [View](https://bitbucket.org/projects/test/repos/my-project/commits/3997dd090e076bcd3f92562e231f118eb5cc731f) +* upgrade archi with modules [View](https://bitbucket.org/projects/test/repos/my-project/commits/7029368ab1fc7f4ebbddcaca3d7140f4441d2873) +* - replace date-fns by momentJS - install ng2-chart along with chart.js [View](https://bitbucket.org/projects/test/repos/my-project/commits/91be2a3048dbaa0179fa97f8cbc027d06b276f4a) +* 👷 — Build and deploy on Gitlab pages [View](https://bitbucket.org/projects/test/repos/my-project/commits/f6753822183d63a53c908017740b0908a600f3cc) +* 👷 — Try to deploy build on Gitlab page even if test fails [View](https://bitbucket.org/projects/test/repos/my-project/commits/f1cbf175a9c93681ffa0e438564cc76925e3c87a) +* 👷 — Deploy build on Gitlab page before tests [View](https://bitbucket.org/projects/test/repos/my-project/commits/96354f6202c0de8892a7516658ea1a5e65a28615) +* 👷 — Modify tag in build’s index.html [View](https://bitbucket.org/projects/test/repos/my-project/commits/da854454aaee8390e9430def4674577b747433cb) +* 👷 — Cleaner script for Gitlab page build [View](https://bitbucket.org/projects/test/repos/my-project/commits/645b25de790b43c19191545beecd4923a29b71eb) +* [feat] :zap: add a floating button to give feedback [View](https://bitbucket.org/projects/test/repos/my-project/commits/442530983b8015a291ae34be78d78c9e061adf7d) +* :style: style for feedback options, fixed floating button [View](https://bitbucket.org/projects/test/repos/my-project/commits/9057e890a408199eb96b6a6b7a92336a4b31582c) +* default to hide menu [View](https://bitbucket.org/projects/test/repos/my-project/commits/93ea16127475cd7611b70684ea6ff2f6d90ce96e) +* :zap: refacto feedback, :art: style for popup links, place icons before text [View](https://bitbucket.org/projects/test/repos/my-project/commits/cc27f31e0ecf08c5cae26068d19e1e715e921844) +* :zap: styling themes [View](https://bitbucket.org/projects/test/repos/my-project/commits/23c6b9400ee2d2917e3f5e8cf3d327fd2a537747) +* :book: add footer links, :art: set default theme to light, fix some details with black theme. [View](https://bitbucket.org/projects/test/repos/my-project/commits/a93a34a638ecca03dfc6466f0b347c9961cff18f) +* :art: primary button, section to find back my polls on home [View](https://bitbucket.org/projects/test/repos/my-project/commits/b2a739016fbc39b69138127fe60de621698aa904) +* add feedback button, load administration module from app module [View](https://bitbucket.org/projects/test/repos/my-project/commits/9c60f8a379fffea4574c86799c886aee37dd9968) +* :zap: change branch name in update demo script [View](https://bitbucket.org/projects/test/repos/my-project/commits/a1de41699e4aeeb6149f2a93f8c98696ff952a40) +* :zap: demo build script back to life [View](https://bitbucket.org/projects/test/repos/my-project/commits/4f0a29e806f9a87b97c7024487b195b3c90896eb) +* add user settings button & modal [View](https://bitbucket.org/projects/test/repos/my-project/commits/355fed53f3dc45fc27245e5b13dcefadac774b87) +* add json-server + refacto [View](https://bitbucket.org/projects/test/repos/my-project/commits/ae2974967048a6bbbba65df79591a1dcff970064) +* clean refacto [View](https://bitbucket.org/projects/test/repos/my-project/commits/3125e86f0bdc1ab74cec9baeb273588afe92ca90) +* replace primeng by material && improvments [View](https://bitbucket.org/projects/test/repos/my-project/commits/f9b847b305192506b2fc8109f187f6a45afeccd3) +* add route resolver for lazy-loading [View](https://bitbucket.org/projects/test/repos/my-project/commits/63600c759ebbdba5473789b6b030fe8e33a767ae) +* refacto routing [View](https://bitbucket.org/projects/test/repos/my-project/commits/a62e00c6adf4a0a62a617e0e5a9a054b6bfd6803) + + diff --git a/mocks/old-stuff/config/PollConfig.ts b/mocks/old-stuff/config/PollConfig.ts deleted file mode 100644 index cdaed816..00000000 --- a/mocks/old-stuff/config/PollConfig.ts +++ /dev/null @@ -1,79 +0,0 @@ -/** - * une option de date dans les sondages spéciaux - */ -import { environment } from '../../../src/environments/environment'; -import { DateChoice, defaultAnswers, otherDefaultDates, PollAnswer } from './defaultConfigs'; - -export interface DateOption { - timeList: any; - literal: string; - date_object?: object; -} - -const baseConfigValues = { - pollType: 'dates', - title: '', - description: '', - myName: '', - myEmail: '', -}; - -/** - * configuration of the poll, add new fields at will - */ -export class PollConfig { - menuVisible = true; - - expiracyDateDefaultInDays = 60; - deletionDateAfterLastModification = 180; - step = 0; // step in the progress of creating a poll - stepMax = 3; // step max in the progress of creating a poll - pollType = 'dates'; // classic or dates - - title: string = environment.production ? '' : 'titre'; - description: string = environment.production ? '' : 'ma description'; - myName: string = environment.production ? '' : 'mon pseudo'; - myComment: string = environment.production ? '' : 'wouah trop bien framadate!'; - isAdmin = !environment.production; - myVoteStack: any; - myTempVoteStack = 0; - myEmail: string = environment.production ? '' : 'tktest@tktest.com'; - myPolls: any = []; // list of retrieved polls from the backend api - /* - date specific poll, we have the choice to setup different hours (timeSlices) for all possible dates (dateChoices), or use the same hours for all dates - */ - allowSeveralHours = 'true'; - // access - visibility = 'link_only'; // visible to anyone with the link: - voteChoices = 'only_yes'; // possible answers to a vote choice: only "yes", "yes, maybe, no" - creationDate = new Date(); - expirationDate = ''; // expiracy date - voteStackId = null; // id of the vote stack to update - pollId = null; // id of the current poll when created. data given by the backend api - custom_url = null; // id of the current poll when created. data given by the backend api - currentPoll; // current poll selected with createPoll or getPoll of ConfigService - passwordAccess = 0; - password = ''; - customUrl = ''; // custom custom_url in the url, must be unique - customUrlIsUnique = null; // given by the backend - urlSlugPublic = null; - urlPublic = environment.production ? '' : document.location.href + '/poll/id/4'; - urlAdmin = document.location.href + '/admin/d65es45fd45sdf45sd345f312sdf31sgfd345'; - adminKey = ''; // key to change config of the poll - owner_modifier_token = ''; // key to change a vote stack - canModifyAnswers = true; // bool for the frontend selector - whoCanChangeAnswers = 'everybody'; // everybody, self, nobody (= just admin) - dateList: any = otherDefaultDates; // sets of dateChoices as strings, config to set identical time for dateChoices in a special dateChoices poll - timeList: DateChoice[] = otherDefaultDates; // ranges of time expressed as strings - - answers: PollAnswer[] = defaultAnswers; - // modals - displayConfirmVoteModalAdmin = false; - - resetConfig() { - const self = this; - Object.keys(baseConfigValues).forEach((key) => { - self[key] = baseConfigValues[key]; - }); - } -} diff --git a/mocks/old-stuff/config/defaultConfigs.ts b/mocks/old-stuff/config/defaultConfigs.ts deleted file mode 100644 index 7edb36a5..00000000 --- a/mocks/old-stuff/config/defaultConfigs.ts +++ /dev/null @@ -1,112 +0,0 @@ -export interface DateChoice { - literal: string; - timeList: TimeSlices[]; - date_object: Date; -} - -export interface TimeSlices { - literal: string; -} - -export interface PollAnswer { - id: number; - text: string; - url: string; - file: string; - literal: string; - date_object: Date; - timeList: TimeSlices[]; -} - -const currentYear = new Date().getFullYear(); -const currentMonth = new Date().getMonth(); -const currentDay = new Date().getDate(); - -export const basicSlicesOfDay: TimeSlices[] = [ - { literal: 'matin' }, - { literal: 'midi' }, - { literal: 'après-midi' }, - { literal: 'soir' }, -]; -export const otherSlicesOfDay: TimeSlices[] = [ - { literal: 'aux aurores' }, - { literal: 'au petit dej' }, - { literal: 'au deuxième petit dej des hobbits' }, -]; -export const defaultTimeOfDay: TimeSlices[] = (() => { - return [...basicSlicesOfDay]; -})(); - -export const otherTimeOfDay: TimeSlices[] = (() => { - return [...otherSlicesOfDay]; -})(); -export const moreTimeOfDay: TimeSlices[] = (() => { - return [...otherSlicesOfDay]; -})(); -export const defaultDates: DateChoice[] = [ - { - literal: `${currentYear}-${currentMonth}-${currentDay}`, - date_object: new Date(), - timeList: defaultTimeOfDay, - }, - { - literal: `${currentYear}-${currentMonth}-${currentDay + 1}`, - date_object: new Date(), - timeList: defaultTimeOfDay, - }, - { - literal: `${currentYear}-${currentMonth}-${currentDay + 2}`, - date_object: new Date(), - timeList: defaultTimeOfDay, - }, -]; - -export const otherDefaultDates: DateChoice[] = [ - { - literal: `${currentYear}-${currentMonth}-${currentDay}`, - date_object: new Date(), - timeList: defaultTimeOfDay, - }, - { - literal: `${currentYear}-${currentMonth}-${currentDay + 1}`, - date_object: new Date(currentYear, currentMonth, currentDay + 1), - timeList: otherTimeOfDay, - }, - { - literal: `${currentYear}-${currentMonth}-${currentDay + 2}`, - date_object: new Date(), - timeList: moreTimeOfDay, - }, -]; -export const defaultAnswers: PollAnswer[] = [ - { - id: 0, - text: 'réponse de démo 1', - file: '', - url: - 'https://mastodon.cipherbliss.com/system/media_attachments/files/001/439/118/original/6fcf149bd902841b.png?1579471574', - literal: `${currentYear}-${currentMonth}-${currentDay}`, - date_object: new Date(), - timeList: otherSlicesOfDay, - }, - { - id: 1, - text: 'réponse 2', - file: '', - url: - 'https://mastodon.cipherbliss.com/system/media_attachments/files/001/439/118/original/6fcf149bd902841b.png?1579471574', - literal: `${currentYear}-${currentMonth}-${currentDay + 1}`, - date_object: new Date(), - timeList: basicSlicesOfDay, - }, - { - id: 2, - text: 'la réponse D', - file: '', - url: - 'https://mastodon.cipherbliss.com/system/media_attachments/files/001/439/118/original/6fcf149bd902841b.png?1579471574', - literal: `${currentYear}-${currentMonth}-${currentDay + 2}`, - date_object: new Date(), - timeList: otherSlicesOfDay, - }, -]; diff --git a/mocks/old-stuff/custom-lib/date-value-accessor/date-value-accessor.metadata.json b/mocks/old-stuff/custom-lib/date-value-accessor/date-value-accessor.metadata.json deleted file mode 100644 index ca58ce11..00000000 --- a/mocks/old-stuff/custom-lib/date-value-accessor/date-value-accessor.metadata.json +++ /dev/null @@ -1 +0,0 @@ -{"__symbolic":"module","version":1,"metadata":{"DATE_VALUE_ACCESSOR":{"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALUE_ACCESSOR"},"useExisting":{"__symbolic":"reference","name":"DateValueAccessor"},"multi":true},"DateValueAccessor":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive"},"arguments":[{"selector":"[useValueAsDate]","providers":[{"__symbolic":"reference","name":"DATE_VALUE_ACCESSOR"}]}]}],"members":{"onChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener"},"arguments":["input",["$event.target.valueAsDate"]]}]}],"onTouched":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener"},"arguments":["blur",[]]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"Renderer"},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef"}]}],"writeValue":[{"__symbolic":"method"}],"registerOnChange":[{"__symbolic":"method"}],"registerOnTouched":[{"__symbolic":"method"}],"setDisabledState":[{"__symbolic":"method"}]}}}} \ No newline at end of file diff --git a/mocks/old-stuff/custom-lib/date-value-accessor/date-value-accessor.ts b/mocks/old-stuff/custom-lib/date-value-accessor/date-value-accessor.ts deleted file mode 100644 index b4b66947..00000000 --- a/mocks/old-stuff/custom-lib/date-value-accessor/date-value-accessor.ts +++ /dev/null @@ -1,49 +0,0 @@ -import { Directive, ElementRef, forwardRef, HostListener, Renderer2 } from '@angular/core'; -import { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms'; - -export const DATE_VALUE_ACCESSOR: any = { - provide: NG_VALUE_ACCESSOR, - useExisting: forwardRef(() => DateValueAccessor), - multi: true, -}; - -/** - * The accessor for writing a value and listening to changes on a date input element - * - * ### Example - * `` - */ -@Directive({ - // this selector changes the previous behavior silently and might break existing code - // selector: 'input[type=date][formControlName],input[type=date][formControl],input[type=date][ngModel]', - - // this selector is an opt-in version - selector: '[useValueAsDate]', - providers: [DATE_VALUE_ACCESSOR], -}) -export class DateValueAccessor implements ControlValueAccessor { - @HostListener('input', ['$event.target.valueAsDate']) onChange = (_: any) => {}; - @HostListener('blur', []) onTouched = () => {}; - - constructor(private _renderer: Renderer2, private _elementRef: ElementRef) {} - - writeValue(value: Date): void { - if (!value) { - this._renderer.setProperty(this._elementRef.nativeElement, 'value', null); - return; - } - this._renderer.setProperty(this._elementRef.nativeElement, 'valueAsDate', value); - } - - registerOnChange(fn: (_: any) => void): void { - this.onChange = fn; - } - - registerOnTouched(fn: () => void): void { - this.onTouched = fn; - } - - setDisabledState(isDisabled: boolean): void { - this._renderer.setProperty(this._elementRef.nativeElement, 'disabled', isDisabled); - } -} diff --git a/mocks/old-stuff/custom-lib/date-value-accessor/index.metadata.json b/mocks/old-stuff/custom-lib/date-value-accessor/index.metadata.json deleted file mode 100644 index 3c2671a7..00000000 --- a/mocks/old-stuff/custom-lib/date-value-accessor/index.metadata.json +++ /dev/null @@ -1 +0,0 @@ -{"__symbolic":"module","version":1,"metadata":{},"exports":[{"from":"./module"},{"from":"./date-value-accessor"}]} \ No newline at end of file diff --git a/mocks/old-stuff/custom-lib/date-value-accessor/index.ts b/mocks/old-stuff/custom-lib/date-value-accessor/index.ts deleted file mode 100644 index 45839385..00000000 --- a/mocks/old-stuff/custom-lib/date-value-accessor/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from './module'; -export * from './date-value-accessor'; diff --git a/mocks/old-stuff/custom-lib/date-value-accessor/module.metadata.json b/mocks/old-stuff/custom-lib/date-value-accessor/module.metadata.json deleted file mode 100644 index 07188111..00000000 --- a/mocks/old-stuff/custom-lib/date-value-accessor/module.metadata.json +++ /dev/null @@ -1 +0,0 @@ -{"__symbolic":"module","version":1,"metadata":{"DateValueAccessorModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule"},"arguments":[{"declarations":[{"__symbolic":"reference","module":"./date-value-accessor","name":"DateValueAccessor"}],"exports":[{"__symbolic":"reference","module":"./date-value-accessor","name":"DateValueAccessor"}]}]}]}}} \ No newline at end of file diff --git a/mocks/old-stuff/custom-lib/date-value-accessor/module.ts b/mocks/old-stuff/custom-lib/date-value-accessor/module.ts deleted file mode 100644 index 8e774c5b..00000000 --- a/mocks/old-stuff/custom-lib/date-value-accessor/module.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { NgModule } from '@angular/core'; -import { DateValueAccessor } from './date-value-accessor'; - -@NgModule({ - declarations: [DateValueAccessor], - exports: [DateValueAccessor], -}) -export class DateValueAccessorModule {} diff --git a/mocks/old-stuff/mocks/choice.ts b/mocks/old-stuff/mocks/choice.ts deleted file mode 100644 index 92007c5b..00000000 --- a/mocks/old-stuff/mocks/choice.ts +++ /dev/null @@ -1,11 +0,0 @@ -export const mockChoice = { - id: 11, - date: { - date: '2020-01-30 12:25:13.000000', - timezone_type: 3, - timezone: 'Europe/Berlin', - }, - text: 'Les mondes engloutis', - url: null, - answer: null, -}; diff --git a/mocks/old-stuff/mocks/comment-same-text-error.json b/mocks/old-stuff/mocks/comment-same-text-error.json deleted file mode 100644 index d68e7bab..00000000 --- a/mocks/old-stuff/mocks/comment-same-text-error.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "message": "anti flood déclenché", - "details": "votre deriner commentaire a exactement le même contenu que celui ci, il n'a donc pas été créé" -} diff --git a/mocks/old-stuff/mocks/comment-too-fast-error.json b/mocks/old-stuff/mocks/comment-too-fast-error.json deleted file mode 100644 index 4af92db2..00000000 --- a/mocks/old-stuff/mocks/comment-too-fast-error.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "message": "anti flood déclenché", - "details": "votre deriner commentaire a été envoyé il y a moins de 5 secondes" -} diff --git a/mocks/old-stuff/mocks/config-poll-dessins-animes.json b/mocks/old-stuff/mocks/config-poll-dessins-animes.json deleted file mode 100644 index 512a5cfe..00000000 --- a/mocks/old-stuff/mocks/config-poll-dessins-animes.json +++ /dev/null @@ -1,565 +0,0 @@ -{ - "message": "your poll config", - "data": { - "id": 3, - "title": "dessin animé préféré", - "customUrl": null, - "description": "choisissez votre animé préféré", - "creationDate": { - "date": "2020-01-20 16:45:48.000000", - "timezone_type": 3, - "timezone": "Europe/Berlin" - }, - "expiracyDate": { - "date": "2020-01-20 16:45:48.000000", - "timezone_type": 3, - "timezone": "Europe/Berlin" - }, - "owner": { - "__initializer__": null, - "__cloner__": null, - "__isInitialized__": true, - "pseudo": "tk_TEST", - "email": "tktest@tktest.com" - }, - "kind": "text", - "allowedAnswers": [ - "yes" - ], - "modificationPolicy": "self", - "mailOnComment": null, - "mailOnVote": null, - "hideResults": null, - "showResultEvenIfPasswords": null, - "votes": {}, - "stacksOfVotes": {}, - "choices": {}, - "comments": {}, - "defaultExpiracyDaysFromNow": 60 - }, - "stacks_count": 10, - "stacks": [ - { - "id": 3, - "pseudo": "voting_people_TEST", - "creation_date": { - "date": "2020-01-20 16:45:48.000000", - "timezone_type": 3, - "timezone": "Europe/Berlin" - }, - "votes": [ - { - "id": 3, - "vote_id": 4, - "value": "yes", - "choice_id": 7, - "text": "Les mystérieuses cités d'or" - }, - { - "id": 3, - "vote_id": 5, - "value": "maybe", - "choice_id": 6, - "text": "Boumbo petite automobile" - } - ] - }, - { - "id": 4, - "pseudo": "voting_people_TEST", - "creation_date": { - "date": "2020-01-20 16:45:48.000000", - "timezone_type": 3, - "timezone": "Europe/Berlin" - }, - "votes": [ - { - "id": 4, - "vote_id": 6, - "value": "yes", - "choice_id": 6, - "text": "Boumbo petite automobile" - }, - { - "id": 4, - "vote_id": 7, - "value": "yes", - "choice_id": 7, - "text": "Les mystérieuses cités d'or" - }, - { - "id": 4, - "vote_id": 8, - "value": "no", - "choice_id": 7, - "text": "Les mystérieuses cités d'or" - } - ] - }, - { - "id": 5, - "pseudo": "voting_people_TEST", - "creation_date": { - "date": "2020-01-21 10:33:26.000000", - "timezone_type": 3, - "timezone": "Europe/Berlin" - }, - "votes": [ - { - "id": 5, - "vote_id": 9, - "value": "no", - "choice_id": 5, - "text": "Vic le viking" - }, - { - "id": 5, - "vote_id": 10, - "value": "maybe", - "choice_id": 6, - "text": "Boumbo petite automobile" - }, - { - "id": 5, - "vote_id": 11, - "value": "yes", - "choice_id": 7, - "text": "Les mystérieuses cités d'or" - } - ] - }, - { - "id": 6, - "pseudo": "voting_people_TEST", - "creation_date": { - "date": "2020-01-21 10:36:58.000000", - "timezone_type": 3, - "timezone": "Europe/Berlin" - }, - "votes": [ - { - "id": 6, - "vote_id": 12, - "value": "no", - "choice_id": 5, - "text": "Vic le viking" - }, - { - "id": 6, - "vote_id": 13, - "value": "maybe", - "choice_id": 6, - "text": "Boumbo petite automobile" - }, - { - "id": 6, - "vote_id": 14, - "value": "yes", - "choice_id": 7, - "text": "Les mystérieuses cités d'or" - } - ] - }, - { - "id": 7, - "pseudo": "voting_people_TEST", - "creation_date": { - "date": "2020-01-21 10:39:12.000000", - "timezone_type": 3, - "timezone": "Europe/Berlin" - }, - "votes": [ - { - "id": 7, - "vote_id": 15, - "value": "no", - "choice_id": 5, - "text": "Vic le viking" - }, - { - "id": 7, - "vote_id": 16, - "value": "maybe", - "choice_id": 6, - "text": "Boumbo petite automobile" - }, - { - "id": 7, - "vote_id": 17, - "value": "yes", - "choice_id": 7, - "text": "Les mystérieuses cités d'or" - } - ] - }, - { - "id": 8, - "pseudo": "voting_people_TEST", - "creation_date": { - "date": "2020-01-21 10:39:13.000000", - "timezone_type": 3, - "timezone": "Europe/Berlin" - }, - "votes": [ - { - "id": 8, - "vote_id": 18, - "value": "no", - "choice_id": 5, - "text": "Vic le viking" - }, - { - "id": 8, - "vote_id": 19, - "value": "maybe", - "choice_id": 6, - "text": "Boumbo petite automobile" - }, - { - "id": 8, - "vote_id": 20, - "value": "yes", - "choice_id": 7, - "text": "Les mystérieuses cités d'or" - } - ] - }, - { - "id": 9, - "pseudo": "voting_people_TEST", - "creation_date": { - "date": "2020-01-21 10:42:19.000000", - "timezone_type": 3, - "timezone": "Europe/Berlin" - }, - "votes": [ - { - "id": 9, - "vote_id": 21, - "value": "no", - "choice_id": 5, - "text": "Vic le viking" - }, - { - "id": 9, - "vote_id": 22, - "value": "maybe", - "choice_id": 6, - "text": "Boumbo petite automobile" - }, - { - "id": 9, - "vote_id": 23, - "value": "yes", - "choice_id": 7, - "text": "Les mystérieuses cités d'or" - } - ] - }, - { - "id": 10, - "pseudo": "voting_people_TEST", - "creation_date": { - "date": "2020-01-21 10:42:32.000000", - "timezone_type": 3, - "timezone": "Europe/Berlin" - }, - "votes": [ - { - "id": 10, - "vote_id": 24, - "value": "no", - "choice_id": 5, - "text": "Vic le viking" - }, - { - "id": 10, - "vote_id": 25, - "value": "maybe", - "choice_id": 6, - "text": "Boumbo petite automobile" - }, - { - "id": 10, - "vote_id": 26, - "value": "yes", - "choice_id": 7, - "text": "Les mystérieuses cités d'or" - } - ] - }, - { - "id": 11, - "pseudo": "voting_people_TEST", - "creation_date": { - "date": "2020-01-21 10:43:46.000000", - "timezone_type": 3, - "timezone": "Europe/Berlin" - }, - "votes": [ - { - "id": 11, - "vote_id": 27, - "value": "no", - "choice_id": 5, - "text": "Vic le viking" - }, - { - "id": 11, - "vote_id": 28, - "value": "maybe", - "choice_id": 6, - "text": "Boumbo petite automobile" - }, - { - "id": 11, - "vote_id": 29, - "value": "yes", - "choice_id": 7, - "text": "Les mystérieuses cités d'or" - } - ] - }, - { - "id": 12, - "pseudo": "voting_people_TEST", - "creation_date": { - "date": "2020-01-21 10:44:35.000000", - "timezone_type": 3, - "timezone": "Europe/Berlin" - }, - "votes": [ - { - "id": 12, - "vote_id": 30, - "value": "no", - "choice_id": 5, - "text": "Vic le viking" - }, - { - "id": 12, - "vote_id": 31, - "value": "maybe", - "choice_id": 6, - "text": "Boumbo petite automobile" - }, - { - "id": 12, - "vote_id": 32, - "value": "yes", - "choice_id": 7, - "text": "Les mystérieuses cités d'or" - } - ] - } - ], - "choices_count": 7, - "choices": [ - { - "id": 5, - "date": { - "date": "2020-01-20 16:45:48.000000", - "timezone_type": 3, - "timezone": "Europe/Berlin" - }, - "text": "Vic le viking" - }, - { - "id": 6, - "date": { - "date": "2020-01-20 16:45:48.000000", - "timezone_type": 3, - "timezone": "Europe/Berlin" - }, - "text": "Boumbo petite automobile" - }, - { - "id": 7, - "date": { - "date": "2020-01-20 16:45:48.000000", - "timezone_type": 3, - "timezone": "Europe/Berlin" - }, - "text": "Les mystérieuses cités d'or" - }, - { - "id": 8, - "date": { - "date": "2020-01-20 16:45:48.000000", - "timezone_type": 3, - "timezone": "Europe/Berlin" - }, - "text": "Les mondes engloutis" - }, - { - "id": 9, - "date": { - "date": "2020-01-20 16:45:48.000000", - "timezone_type": 3, - "timezone": "Europe/Berlin" - }, - "text": "Foot 2 rue" - }, - { - "id": 10, - "date": { - "date": "2020-01-20 16:45:48.000000", - "timezone_type": 3, - "timezone": "Europe/Berlin" - }, - "text": "Le chat, la vache, et l'océan" - }, - { - "id": 11, - "date": { - "date": "2020-01-20 16:45:48.000000", - "timezone_type": 3, - "timezone": "Europe/Berlin" - }, - "text": "Digimon" - } - ], - "comments": [ - { - "id": 3, - "text": "wouah trop bien framadate!", - "pseudo": "tk_TEST", - "date": { - "date": "2020-01-20 16:58:56.000000", - "timezone_type": 3, - "timezone": "Europe/Berlin" - } - }, - { - "id": 4, - "text": "wouah trop bien framadate!", - "pseudo": "tk_TEST", - "date": { - "date": "2020-01-20 16:59:48.000000", - "timezone_type": 3, - "timezone": "Europe/Berlin" - } - }, - { - "id": 5, - "text": "wouah trop bien framadate!", - "pseudo": "tk_TEST", - "date": { - "date": "2020-01-21 10:12:02.000000", - "timezone_type": 3, - "timezone": "Europe/Berlin" - } - }, - { - "id": 6, - "text": "wouah trop bien framadate!", - "pseudo": "tk_TEST", - "date": { - "date": "2020-01-21 10:12:34.000000", - "timezone_type": 3, - "timezone": "Europe/Berlin" - } - }, - { - "id": 7, - "text": "wouah trop bien framadate!", - "pseudo": "tk_TEST", - "date": { - "date": "2020-01-21 10:14:20.000000", - "timezone_type": 3, - "timezone": "Europe/Berlin" - } - }, - { - "id": 8, - "text": "wouah trop bien framadate!", - "pseudo": "tk_TEST", - "date": { - "date": "2020-01-21 10:15:09.000000", - "timezone_type": 3, - "timezone": "Europe/Berlin" - } - }, - { - "id": 9, - "text": "wouah trop bien framadate!", - "pseudo": "tk_TEST", - "date": { - "date": "2020-01-21 10:15:10.000000", - "timezone_type": 3, - "timezone": "Europe/Berlin" - } - }, - { - "id": 10, - "text": "wouah trop bien framadate!", - "pseudo": "tk_TEST", - "date": { - "date": "2020-01-21 10:15:35.000000", - "timezone_type": 3, - "timezone": "Europe/Berlin" - } - }, - { - "id": 11, - "text": "wouah trop bien framadate!", - "pseudo": "tk_TEST", - "date": { - "date": "2020-01-21 10:26:58.000000", - "timezone_type": 3, - "timezone": "Europe/Berlin" - } - }, - { - "id": 12, - "text": "wouah trop bien framadate!", - "pseudo": "tk_TEST", - "date": { - "date": "2020-01-21 10:27:03.000000", - "timezone_type": 3, - "timezone": "Europe/Berlin" - } - }, - { - "id": 13, - "text": "wouah trop bien framadate!", - "pseudo": "tk_TEST", - "date": { - "date": "2020-01-21 10:27:10.000000", - "timezone_type": 3, - "timezone": "Europe/Berlin" - } - }, - { - "id": 14, - "text": "wouah trop bien framadate wouhouuu!", - "pseudo": "tk_TEST", - "date": { - "date": "2020-01-21 10:34:04.000000", - "timezone_type": 3, - "timezone": "Europe/Berlin" - } - }, - { - "id": 15, - "text": "wouah trop bien framadate wouhouucghfdghu!", - "pseudo": "tk_TEST", - "date": { - "date": "2020-01-21 10:36:33.000000", - "timezone_type": 3, - "timezone": "Europe/Berlin" - } - }, - { - "id": 16, - "text": "wouah trop bien framadate woudghdghhouucghfdghu!", - "pseudo": "tk_TEST", - "date": { - "date": "2020-01-21 10:50:43.000000", - "timezone_type": 3, - "timezone": "Europe/Berlin" - } - } - ], - "comments_count": 14 -} diff --git a/mocks/old-stuff/mocks/created-comment.json b/mocks/old-stuff/mocks/created-comment.json deleted file mode 100644 index d7ae4604..00000000 --- a/mocks/old-stuff/mocks/created-comment.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "message": "you created a comment", - "data": { - "your_comment": { - "id": 14, - "poll": { - "id": 3, - "title": "dessin animé préféré", - "customUrl": null, - "description": "choisissez votre animé préféré", - "creationDate": { - "date": "2020-01-20 16:45:48.000000", - "timezone_type": 3, - "timezone": "Europe/Berlin" - }, - "expiracyDate": { - "date": "2020-01-20 16:45:48.000000", - "timezone_type": 3, - "timezone": "Europe/Berlin" - }, - "owner": { - "__initializer__": null, - "__cloner__": null, - "__isInitialized__": true, - "pseudo": "tk_TEST", - "email": "tktest@tktest.com" - }, - "kind": "text", - "allowedAnswers": [ - "yes" - ], - "modificationPolicy": "self", - "mailOnComment": null, - "mailOnVote": null, - "hideResults": null, - "showResultEvenIfPasswords": null, - "votes": {}, - "stacksOfVotes": {}, - "choices": {}, - "comments": {}, - "defaultExpiracyDaysFromNow": 60 - }, - "text": "wouah trop bien framadate wouhouuu!", - "token": "5e25cb2c6e533" - }, - "poll_comments": {} - } -} diff --git a/mocks/old-stuff/mocks/mock-comments.ts b/mocks/old-stuff/mocks/mock-comments.ts deleted file mode 100644 index 24c8127f..00000000 --- a/mocks/old-stuff/mocks/mock-comments.ts +++ /dev/null @@ -1,22 +0,0 @@ -export const mockComments = [ - { - pseudo: 'Bulbizarre', - date: { - date: '2020-01-22 16:00:22.000000', - timezone_type: 3, - timezone: 'Europe/Paris', - }, - text: - 'Pokem ipsum dolor sit amet Electric Cottonee Scratch Leech Life Ice Berry Ducklett. Leaf Green Durant Zoroark\n' + - ' Skitty Rock Luxio Surskit. Glacier Badge', - }, - { - pseudo: 'Marylin', - date: { - date: '2020-01-22 16:00:22.000000', - timezone_type: 3, - timezone: 'Europe/Paris', - }, - text: "j'ai vu de la lumière o_o", - }, -]; diff --git a/mocks/old-stuff/mocks/mock-graph.ts b/mocks/old-stuff/mocks/mock-graph.ts deleted file mode 100644 index e65b6086..00000000 --- a/mocks/old-stuff/mocks/mock-graph.ts +++ /dev/null @@ -1,52 +0,0 @@ -export const mockGraphConfig = { - step: 0, - stepMax: 3, - pollType: 'special dates', - title: '', - description: '', - myName: '', - visibility: 'link_only', - // date specific poll - allowSeveralHours: 'true', - dateLgfgfgfgist: ['jeudi', 'vendredi', 'samedi'], // sets of dateChoices as strings - timeList: ['08:00', '08:30', '09:00'], // ranges of time expressed as strings - answers: [ - { - id: 0, - text: 'no', - }, - - { - id: 1, - text: 'yes', - }, - { - id: 2, - text: 'maybe', - }, - { - id: 3, - text: 'maybe', - }, - { - id: 4, - text: 'maybe', - }, - { - id: 5, - text: 'maybe', - }, - { - id: 6, - text: 'maybe', - }, - { - id: 7, - text: 'maybe', - }, - { - id: 8, - text: 'maybe', - }, - ], -}; diff --git a/mocks/old-stuff/mocks/mock-poll3.ts b/mocks/old-stuff/mocks/mock-poll3.ts deleted file mode 100644 index 5e658107..00000000 --- a/mocks/old-stuff/mocks/mock-poll3.ts +++ /dev/null @@ -1,529 +0,0 @@ -export const mockPoll3 = { - message: 'your poll config', - poll: { - id: 4, - title: 'dessin animé préféré', - customUrl: null, - description: 'choisissez votre animé préféré', - creationDate: { - date: '2020-01-30 12:25:13.000000', - timezone_type: 3, - timezone: 'Europe/Berlin', - }, - expiracyDate: { - date: '2020-01-30 12:25:13.000000', - timezone_type: 3, - timezone: 'Europe/Berlin', - }, - owner: { - __initializer__: null, - __cloner__: null, - __isInitialized__: true, - pseudo: 'tk_TEST', - email: 'tktest@tktest.com', - }, - kind: 'text', - allowedAnswers: [ - // "yes", "maybe", "no" - 'yes', - ], - modificationPolicy: 'everybody', - mailOnComment: null, - mailOnVote: null, - hideResults: null, - showResultEvenIfPasswords: null, - votes: {}, - stacksOfVotes: {}, - choices: {}, - choices_count: { - counts: { - '10': { - choice_id: 10, - choice_text: "Les mystérieuses cités d'or", - id: 4, - score: 2.5, - yes: { - count: 2, - people: ['voting_people_TEST', 'voting_people_TEST'], - }, - maybe: { - count: 1, - people: ['Nikolas Edison'], - }, - no: { - count: 1, - people: ['voting_people_TEST'], - }, - }, - '9': { - choice_id: 9, - choice_text: 'Boumbo petite automobile', - id: 5, - score: 2.5, - yes: { - count: 2, - people: ['voting_people_TEST', 'Billie Jean'], - }, - maybe: { - count: 1, - people: ['voting_people_TEST'], - }, - no: { - count: 0, - people: [], - }, - }, - '12': { - choice_id: 12, - choice_text: 'Foot 2 rue', - id: 14, - score: 0.5, - yes: { - count: 0, - people: [], - }, - maybe: { - count: 1, - people: ['Nikolas Edison'], - }, - no: { - count: 0, - people: [], - }, - }, - '11': { - choice_id: 11, - choice_text: 'Les mondes engloutis', - id: 15, - score: 1.5, - yes: { - count: 1, - people: ['Billie Jean'], - }, - maybe: { - count: 1, - people: ['Wulfila'], - }, - no: { - count: 0, - people: [], - }, - }, - '13': { - choice_id: 13, - choice_text: "Le chat, la vache, et l'océan", - id: 16, - score: 1, - yes: { - count: 1, - people: ['Wulfila'], - }, - maybe: { - count: 0, - people: [], - }, - no: { - count: 0, - people: [], - }, - }, - }, - maxScore: 2.5, - }, - comments: {}, - defaultExpiracyDaysFromNow: 60, - }, - stacks_count: 5, - stacks: [ - { - id: 3, - pseudo: 'voting_people_TEST', - creation_date: { - date: '2020-01-30 12:25:13.000000', - timezone_type: 3, - timezone: 'Europe/Berlin', - }, - votes: { - '8': { - choice_id: 8, - }, - '9': { - id: 3, - vote_id: 5, - value: 'maybe', - choice_id: 9, - text: 'Boumbo petite automobile', - }, - '10': { - id: 3, - vote_id: 4, - value: 'yes', - choice_id: 10, - text: "Les mystérieuses cités d'or", - }, - '11': { - choice_id: 11, - }, - '12': { - choice_id: 12, - }, - '13': { - choice_id: 13, - }, - '14': { - choice_id: 14, - }, - }, - }, - { - id: 4, - pseudo: 'voting_people_TEST', - creation_date: { - date: '2020-01-30 12:25:13.000000', - timezone_type: 3, - timezone: 'Europe/Berlin', - }, - votes: { - '8': { - choice_id: 8, - }, - '9': { - id: 4, - vote_id: 6, - value: 'yes', - choice_id: 9, - text: 'Boumbo petite automobile', - }, - '10': { - id: 4, - vote_id: 8, - value: 'no', - choice_id: 10, - text: "Les mystérieuses cités d'or", - }, - '11': { - choice_id: 11, - }, - '12': { - choice_id: 12, - }, - '13': { - choice_id: 13, - }, - '14': { - choice_id: 14, - }, - }, - }, - { - id: 7, - pseudo: 'Nikolas Edison', - creation_date: { - date: '2020-01-30 12:25:13.000000', - timezone_type: 3, - timezone: 'Europe/Berlin', - }, - votes: { - '8': { - choice_id: 8, - }, - '9': { - choice_id: 9, - }, - '10': { - id: 7, - vote_id: 13, - value: 'maybe', - choice_id: 10, - text: "Les mystérieuses cités d'or", - }, - '11': { - choice_id: 11, - }, - '12': { - id: 7, - vote_id: 14, - value: 'maybe', - choice_id: 12, - text: 'Foot 2 rue', - }, - '13': { - choice_id: 13, - }, - '14': { - choice_id: 14, - }, - }, - }, - { - id: 8, - pseudo: 'Wulfila', - creation_date: { - date: '2020-01-30 12:25:13.000000', - timezone_type: 3, - timezone: 'Europe/Berlin', - }, - votes: { - '8': { - choice_id: 8, - }, - '9': { - choice_id: 9, - }, - '10': { - choice_id: 10, - }, - '11': { - id: 8, - vote_id: 15, - value: 'maybe', - choice_id: 11, - text: 'Les mondes engloutis', - }, - '12': { - choice_id: 12, - }, - '13': { - id: 8, - vote_id: 16, - value: 'yes', - choice_id: 13, - text: "Le chat, la vache, et l'océan", - }, - '14': { - choice_id: 14, - }, - }, - }, - { - id: 9, - pseudo: 'Billie Jean', - creation_date: { - date: '2020-01-30 12:25:13.000000', - timezone_type: 3, - timezone: 'Europe/Berlin', - }, - votes: { - '8': { - choice_id: 8, - }, - '9': { - id: 9, - vote_id: 17, - value: 'yes', - choice_id: 9, - text: 'Boumbo petite automobile', - }, - '10': { - choice_id: 10, - }, - '11': { - id: 9, - vote_id: 18, - value: 'yes', - choice_id: 11, - text: 'Les mondes engloutis', - }, - '12': { - choice_id: 12, - }, - '13': { - choice_id: 13, - }, - '14': { - choice_id: 14, - }, - }, - }, - ], - choices_count: { - counts: { - '10': { - choice_id: 10, - choice_text: "Les mystérieuses cités d'or", - id: 4, - score: 2.5, - yes: { - count: 2, - people: ['voting_people_TEST', 'voting_people_TEST'], - }, - maybe: { - count: 1, - people: ['Nikolas Edison'], - }, - no: { - count: 1, - people: ['voting_people_TEST'], - }, - }, - '9': { - choice_id: 9, - choice_text: 'Boumbo petite automobile', - id: 5, - score: 2.5, - yes: { - count: 2, - people: ['voting_people_TEST', 'Billie Jean'], - }, - maybe: { - count: 1, - people: ['voting_people_TEST'], - }, - no: { - count: 0, - people: [], - }, - }, - '12': { - choice_id: 12, - choice_text: 'Foot 2 rue', - id: 14, - score: 0.5, - yes: { - count: 0, - people: [], - }, - maybe: { - count: 1, - people: ['Nikolas Edison'], - }, - no: { - count: 0, - people: [], - }, - }, - '11': { - choice_id: 11, - choice_text: 'Les mondes engloutis', - id: 15, - score: 1.5, - yes: { - count: 1, - people: ['Billie Jean'], - }, - maybe: { - count: 1, - people: ['Wulfila'], - }, - no: { - count: 0, - people: [], - }, - }, - '13': { - choice_id: 13, - choice_text: "Le chat, la vache, et l'océan", - id: 16, - score: 1, - yes: { - count: 1, - people: ['Wulfila'], - }, - maybe: { - count: 0, - people: [], - }, - no: { - count: 0, - people: [], - }, - }, - }, - maxScore: 2.5, - }, - choices: [ - { - id: 8, - date: { - date: '2020-01-30 12:25:13.000000', - timezone_type: 3, - timezone: 'Europe/Berlin', - }, - text: 'Vic le viking', - url: null, - }, - { - id: 9, - date: { - date: '2020-01-30 12:25:13.000000', - timezone_type: 3, - timezone: 'Europe/Berlin', - }, - text: 'Boumbo petite automobile', - url: null, - }, - { - id: 10, - date: { - date: '2020-01-30 12:25:13.000000', - timezone_type: 3, - timezone: 'Europe/Berlin', - }, - text: "Les mystérieuses cités d'or", - url: null, - }, - { - id: 11, - date: { - date: '2020-01-30 12:25:13.000000', - timezone_type: 3, - timezone: 'Europe/Berlin', - }, - text: 'Les mondes engloutis', - url: null, - }, - { - id: 12, - date: { - date: '2020-01-30 12:25:13.000000', - timezone_type: 3, - timezone: 'Europe/Berlin', - }, - text: 'Foot 2 rue', - url: null, - }, - { - id: 13, - date: { - date: '2020-01-30 12:25:13.000000', - timezone_type: 3, - timezone: 'Europe/Berlin', - }, - text: "Le chat, la vache, et l'océan", - url: null, - }, - { - id: 14, - date: { - date: '2020-01-30 12:25:13.000000', - timezone_type: 3, - timezone: 'Europe/Berlin', - }, - text: 'Digimon', - url: null, - }, - ], - comments: [ - { - id: 3, - text: 'allez boumbo!', - pseudo: 'tk_TEST_commentateur', - date: { - date: '2020-01-30 12:25:13.000000', - timezone_type: 3, - timezone: 'Europe/Berlin', - }, - }, - { - id: 4, - text: 'je suis pour la team rocket de digimon', - pseudo: 'tk_TEST', - date: { - date: '2020-01-30 12:25:13.000000', - timezone_type: 3, - timezone: 'Europe/Berlin', - }, - }, - ], - comments_count: 2, -}; diff --git a/mocks/old-stuff/mocks/mock-success-vote.ts b/mocks/old-stuff/mocks/mock-success-vote.ts deleted file mode 100644 index 00da3934..00000000 --- a/mocks/old-stuff/mocks/mock-success-vote.ts +++ /dev/null @@ -1,658 +0,0 @@ -export const mockSuccessVote = { - message: 'you created a vote stack from an existing owner : tktest@tktest.com', - poll: { - id: 4, - title: 'dessin animé préféré', - customUrl: null, - description: 'choisissez votre animé préféré', - creationDate: { - date: '2020-02-04 12:35:37.000000', - timezone_type: 3, - timezone: 'Europe/Berlin', - }, - expiracyDate: { - date: '2020-02-04 12:35:37.000000', - timezone_type: 3, - timezone: 'Europe/Berlin', - }, - owner: { - __initializer__: null, - __cloner__: null, - __isInitialized__: true, - pseudo: 'tk_TEST', - email: 'tktest@tktest.com', - }, - kind: 'text', - allowedAnswers: ['yes'], - modificationPolicy: 'everybody', - mailOnComment: null, - mailOnVote: null, - hideResults: null, - showResultEvenIfPasswords: null, - votes: {}, - stacksOfVotes: {}, - choices: {}, - comments: {}, - defaultExpiracyDaysFromNow: 60, - }, - vote_stack: { - id: 10, - modifier_token: - 'V46C6b58c456B39kTI19KSfp1y8Zz7Wyg500xMdjNB823st221Gb509VX1AOsnhV93fhol1f8P30OblKFoI76u54T94rH92x5c95TdW1W2eH0hb55q8', - pseudo: 'tk_TEST', - creation_date: { - date: '2020-02-04 12:36:07.530846', - timezone_type: 3, - timezone: 'Europe/Berlin', - }, - votes: { - '8': { - id: 22, - value: 'yes', - choice_id: 8, - text: 'Vic le viking', - stack_id: 10, - }, - '9': { - choice_id: 9, - }, - '10': { - choice_id: 10, - }, - '11': { - choice_id: 11, - }, - '12': { - choice_id: 12, - }, - '13': { - choice_id: 13, - }, - '14': { - choice_id: 14, - }, - '5': { - id: 19, - value: 'yes', - choice_id: 5, - text: '2020-02-04 12:35:37', - stack_id: 10, - }, - '6': { - id: 20, - value: 'yes', - choice_id: 6, - text: '2020-02-04 12:35:37', - stack_id: 10, - }, - '7': { - id: 21, - value: 'yes', - choice_id: 7, - text: '2020-02-04 12:35:37', - stack_id: 10, - }, - }, - }, - stacks: [ - { - id: 3, - modifier_token: '5e39570956e5d', - pseudo: 'voting_people_TEST', - creation_date: { - date: '2020-02-04 12:35:37.000000', - timezone_type: 3, - timezone: 'Europe/Berlin', - }, - votes: { - '8': { - choice_id: 8, - }, - '9': { - id: 5, - value: 'maybe', - choice_id: 9, - text: 'Boumbo petite automobile', - stack_id: 3, - }, - '10': { - id: 4, - value: 'yes', - choice_id: 10, - text: "Les mystérieuses cités d'or", - stack_id: 3, - }, - '11': { - choice_id: 11, - }, - '12': { - choice_id: 12, - }, - '13': { - choice_id: 13, - }, - '14': { - choice_id: 14, - }, - }, - }, - { - id: 4, - modifier_token: '5e39570956e5d', - pseudo: 'voting_people_TEST', - creation_date: { - date: '2020-02-04 12:35:37.000000', - timezone_type: 3, - timezone: 'Europe/Berlin', - }, - votes: { - '8': { - choice_id: 8, - }, - '9': { - id: 6, - value: 'yes', - choice_id: 9, - text: 'Boumbo petite automobile', - stack_id: 4, - }, - '10': { - id: 8, - value: 'no', - choice_id: 10, - text: "Les mystérieuses cités d'or", - stack_id: 4, - }, - '11': { - choice_id: 11, - }, - '12': { - choice_id: 12, - }, - '13': { - choice_id: 13, - }, - '14': { - choice_id: 14, - }, - }, - }, - { - id: 7, - modifier_token: '5e3957095ca23', - pseudo: 'Nikolas Edison', - creation_date: { - date: '2020-02-04 12:35:37.000000', - timezone_type: 3, - timezone: 'Europe/Berlin', - }, - votes: { - '8': { - choice_id: 8, - }, - '9': { - choice_id: 9, - }, - '10': { - id: 13, - value: 'maybe', - choice_id: 10, - text: "Les mystérieuses cités d'or", - stack_id: 7, - }, - '11': { - choice_id: 11, - }, - '12': { - id: 14, - value: 'maybe', - choice_id: 12, - text: 'Foot 2 rue', - stack_id: 7, - }, - '13': { - choice_id: 13, - }, - '14': { - choice_id: 14, - }, - }, - }, - { - id: 8, - modifier_token: '5e3957095ca2d', - pseudo: 'Wulfila', - creation_date: { - date: '2020-02-04 12:35:37.000000', - timezone_type: 3, - timezone: 'Europe/Berlin', - }, - votes: { - '8': { - choice_id: 8, - }, - '9': { - choice_id: 9, - }, - '10': { - choice_id: 10, - }, - '11': { - id: 15, - value: 'maybe', - choice_id: 11, - text: 'Les mondes engloutis', - stack_id: 8, - }, - '12': { - choice_id: 12, - }, - '13': { - id: 16, - value: 'yes', - choice_id: 13, - text: "Le chat, la vache, et l'océan", - stack_id: 8, - }, - '14': { - choice_id: 14, - }, - }, - }, - { - id: 9, - modifier_token: '5e3957095ca34', - pseudo: 'Billie Jean', - creation_date: { - date: '2020-02-04 12:35:37.000000', - timezone_type: 3, - timezone: 'Europe/Berlin', - }, - votes: { - '8': { - choice_id: 8, - }, - '9': { - id: 17, - value: 'yes', - choice_id: 9, - text: 'Boumbo petite automobile', - stack_id: 9, - }, - '10': { - choice_id: 10, - }, - '11': { - id: 18, - value: 'yes', - choice_id: 11, - text: 'Les mondes engloutis', - stack_id: 9, - }, - '12': { - choice_id: 12, - }, - '13': { - choice_id: 13, - }, - '14': { - choice_id: 14, - }, - }, - }, - { - id: 10, - modifier_token: - 'V46C6b58c456B39kTI19KSfp1y8Zz7Wyg500xMdjNB823st221Gb509VX1AOsnhV93fhol1f8P30OblKFoI76u54T94rH92x5c95TdW1W2eH0hb55q8', - pseudo: 'tk_TEST', - creation_date: { - date: '2020-02-04 12:36:07.530846', - timezone_type: 3, - timezone: 'Europe/Berlin', - }, - votes: { - '8': { - id: 22, - value: 'yes', - choice_id: 8, - text: 'Vic le viking', - stack_id: 10, - }, - '9': { - choice_id: 9, - }, - '10': { - choice_id: 10, - }, - '11': { - choice_id: 11, - }, - '12': { - choice_id: 12, - }, - '13': { - choice_id: 13, - }, - '14': { - choice_id: 14, - }, - '5': { - id: 19, - value: 'yes', - choice_id: 5, - text: '2020-02-04 12:35:37', - stack_id: 10, - }, - '6': { - id: 20, - value: 'yes', - choice_id: 6, - text: '2020-02-04 12:35:37', - stack_id: 10, - }, - '7': { - id: 21, - value: 'yes', - choice_id: 7, - text: '2020-02-04 12:35:37', - stack_id: 10, - }, - }, - }, - ], - comments: [ - { - id: 3, - text: 'allez boumbo!', - pseudo: 'tk_TEST_commentateur', - date: { - date: '2020-02-04 12:35:37.000000', - timezone_type: 3, - timezone: 'Europe/Berlin', - }, - }, - { - id: 4, - text: 'je suis pour la team rocket de digimon', - pseudo: 'tk_TEST', - date: { - date: '2020-02-04 12:35:37.000000', - timezone_type: 3, - timezone: 'Europe/Berlin', - }, - }, - ], - choices: [ - { - id: 8, - date: { - date: '2020-02-04 12:35:37.000000', - timezone_type: 3, - timezone: 'Europe/Berlin', - }, - text: 'Vic le viking', - url: null, - }, - { - id: 9, - date: { - date: '2020-02-04 12:35:37.000000', - timezone_type: 3, - timezone: 'Europe/Berlin', - }, - text: 'Boumbo petite automobile', - url: null, - }, - { - id: 10, - date: { - date: '2020-02-04 12:35:37.000000', - timezone_type: 3, - timezone: 'Europe/Berlin', - }, - text: "Les mystérieuses cités d'or", - url: null, - }, - { - id: 11, - date: { - date: '2020-02-04 12:35:37.000000', - timezone_type: 3, - timezone: 'Europe/Berlin', - }, - text: 'Les mondes engloutis', - url: null, - }, - { - id: 12, - date: { - date: '2020-02-04 12:35:37.000000', - timezone_type: 3, - timezone: 'Europe/Berlin', - }, - text: 'Foot 2 rue', - url: null, - }, - { - id: 13, - date: { - date: '2020-02-04 12:35:37.000000', - timezone_type: 3, - timezone: 'Europe/Berlin', - }, - text: "Le chat, la vache, et l'océan", - url: null, - }, - { - id: 14, - date: { - date: '2020-02-04 12:35:37.000000', - timezone_type: 3, - timezone: 'Europe/Berlin', - }, - text: 'Digimon', - url: null, - }, - ], - choices_count: { - counts: { - '10': { - choice_id: 10, - choice_text: "Les mystérieuses cités d'or", - id: 4, - score: 2.5, - yes: { - count: 2, - people: ['voting_people_TEST', 'voting_people_TEST'], - }, - maybe: { - count: 1, - people: ['Nikolas Edison'], - }, - no: { - count: 1, - people: ['voting_people_TEST'], - }, - }, - '9': { - choice_id: 9, - choice_text: 'Boumbo petite automobile', - id: 5, - score: 2.5, - yes: { - count: 2, - people: ['voting_people_TEST', 'Billie Jean'], - }, - maybe: { - count: 1, - people: ['voting_people_TEST'], - }, - no: { - count: 0, - people: [], - }, - }, - '12': { - choice_id: 12, - choice_text: 'Foot 2 rue', - id: 14, - score: 0.5, - yes: { - count: 0, - people: [], - }, - maybe: { - count: 1, - people: ['Nikolas Edison'], - }, - no: { - count: 0, - people: [], - }, - }, - '11': { - choice_id: 11, - choice_text: 'Les mondes engloutis', - id: 15, - score: 1.5, - yes: { - count: 1, - people: ['Billie Jean'], - }, - maybe: { - count: 1, - people: ['Wulfila'], - }, - no: { - count: 0, - people: [], - }, - }, - '13': { - choice_id: 13, - choice_text: "Le chat, la vache, et l'océan", - id: 16, - score: 1, - yes: { - count: 1, - people: ['Wulfila'], - }, - maybe: { - count: 0, - people: [], - }, - no: { - count: 0, - people: [], - }, - }, - '5': { - choice_id: 5, - choice_text: '2020-02-04 12:35:37', - id: 19, - score: 1, - yes: { - count: 1, - people: ['tk_TEST'], - }, - maybe: { - count: 0, - people: [], - }, - no: { - count: 0, - people: [], - }, - }, - '6': { - choice_id: 6, - choice_text: '2020-02-04 12:35:37', - id: 20, - score: 1, - yes: { - count: 1, - people: ['tk_TEST'], - }, - maybe: { - count: 0, - people: [], - }, - no: { - count: 0, - people: [], - }, - }, - '7': { - choice_id: 7, - choice_text: '2020-02-04 12:35:37', - id: 21, - score: 1, - yes: { - count: 1, - people: ['tk_TEST'], - }, - maybe: { - count: 0, - people: [], - }, - no: { - count: 0, - people: [], - }, - }, - '8': { - choice_id: 8, - choice_text: 'Vic le viking', - id: 22, - score: 1, - yes: { - count: 1, - people: ['tk_TEST'], - }, - maybe: { - count: 0, - people: [], - }, - no: { - count: 0, - people: [], - }, - }, - }, - maxScore: 2.5, - }, - vote_count: 6, - owner: { - __initializer__: null, - __cloner__: null, - __isInitialized__: true, - pseudo: 'tk_TEST', - email: 'tktest@tktest.com', - }, - owner_modifier_token: - 'V46C6b58c456B39kTI19KSfp1y8Zz7Wyg500xMdjNB823st221Gb509VX1AOsnhV93fhol1f8P30OblKFoI76u54T94rH92x5c95TdW1W2eH0hb55q8', - admin_key: - '9uE27daM8dG1P9z74B89z299W0JF0ne15eER37g2v3d86mk123318v516UUbey4z3C87Wbo65V3c7cHsBTELvhl8b82d61WBMR2U66USNc7idS8810f', - json_you_sent: { - pseudo: 'mon pseudo', - email: 'tktest@tktest.com', - votes: [ - { - choice_id: 5, - value: 'yes', - }, - { - choice_id: 6, - value: 'yes', - }, - { - choice_id: 7, - value: 'yes', - }, - { - choice_id: 8, - value: 'yes', - }, - ], - }, -}; diff --git a/mocks/old-stuff/mocks/mockmypolls.ts b/mocks/old-stuff/mocks/mockmypolls.ts deleted file mode 100644 index e07e41ad..00000000 --- a/mocks/old-stuff/mocks/mockmypolls.ts +++ /dev/null @@ -1,44 +0,0 @@ -export const mockMyPolls = [ - { - id: 1000001, - title: 'blehehehe heh hehhe e test1', - customUrl: null, - description: 'maaaaaaaaaaah', - creationDate: { date: '2020-01-20 14:21:16.270157', timezone_type: 3, timezone: 'Europe/Paris' }, - expiracyDate: { date: '2020-01-20 14:21:16.270178', timezone_type: 3, timezone: 'Europe/Paris' }, - owner: null, - kind: 'text', - allowedAnswers: ['yes'], - modificationPolicy: 'nobody', - mailOnComment: null, - mailOnVote: null, - hideResults: null, - showResultEvenIfPasswords: null, - votes: {}, - stacksOfVotes: {}, - choices: {}, - comments: {}, - defaultExpiracyDaysFromNow: 60, - }, - { - id: 1000002, - title: 'bleh z zr erth tuyjikioy yylil test2', - customUrl: null, - description: 'maaaaaaaaaaah 2', - creationDate: { date: '2020-01-20 14:21:16.270157', timezone_type: 3, timezone: 'Europe/Paris' }, - expiracyDate: { date: '2020-01-20 14:21:16.270178', timezone_type: 3, timezone: 'Europe/Paris' }, - owner: null, - kind: 'text', - allowedAnswers: ['yes'], - modificationPolicy: 'nobody', - mailOnComment: null, - mailOnVote: null, - hideResults: null, - showResultEvenIfPasswords: null, - votes: {}, - stacksOfVotes: {}, - choices: {}, - comments: {}, - defaultExpiracyDaysFromNow: 60, - }, -]; diff --git a/mocks/old-stuff/mocks/votestack-success.json b/mocks/old-stuff/mocks/votestack-success.json deleted file mode 100644 index b2b6c171..00000000 --- a/mocks/old-stuff/mocks/votestack-success.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "message": "you created a vote stack from an existing owner : testing_vote_people@tktest.com", - "vote_stack": { - "30": { - "id": 30, - "value": "no", - "choice_id": 5, - "text": "Vic le viking" - }, - "31": { - "id": 31, - "value": "maybe", - "choice_id": 6, - "text": "Boumbo petite automobile" - }, - "32": { - "id": 32, - "value": "yes", - "choice_id": 7, - "text": "Les mystérieuses cités d'or" - } - }, - "vote_count": 10, - "owner_modifier_token": "rc7fgzdb6D8bUdgwl7H065eYMMeqOcL31JrS11MpRs08az8ed43aZLKsFd81cr50uq23D9b1w068E57U39omaBcygfebm7m252YI430b332UZ4tkC76", - "json_you_sent": { - "pseudo": "tktest", - "email": "testing_vote_people@tktest.com", - "votes": [ - { - "choice_id": 5, - "value": "no" - }, - { - "choice_id": 6, - "value": "maybe" - }, - { - "choice_id": 7, - "value": "yes" - } - ] - } -} diff --git a/mocks/old-stuff/old-stuff-routing.module.ts b/mocks/old-stuff/old-stuff-routing.module.ts deleted file mode 100644 index a51f91e5..00000000 --- a/mocks/old-stuff/old-stuff-routing.module.ts +++ /dev/null @@ -1,45 +0,0 @@ -import { NgModule } from '@angular/core'; -import { RouterModule, Routes } from '@angular/router'; - -import { AdminComponent } from './pages/admin/admin.component'; -import { AnswersComponent } from './pages/answers/answers.component'; -import { CreateOrRetrieveComponent } from './pages/create-or-retrieve/create-or-retrieve.component'; -import { DatesComponent } from './pages/dates/dates.component'; -import { EndConfirmationComponent } from './pages/end-confirmation/end-confirmation.component'; -import { KindComponent } from './pages/example/kind/kind.component'; -import { PicturesComponent } from './pages/example/pictures/pictures.component'; -import { HomeComponent } from './pages/home/home.component'; -import { PasswordComponent } from './pages/password/password.component'; -import { PollDisplayComponent } from './pages/poll/poll-display/poll-display.component'; -import { PollGraphicComponent } from './pages/poll/poll-graphic/poll-graphic.component'; -import { ResumeComponent } from './pages/resume/resume.component'; -import { VisibilityComponent } from './pages/visibility/visibility.component'; -import { VotingChoiceComponent } from './pages/voting/voting-choice/voting-choice.component'; -import { VotingComponent } from './pages/voting/voting.component'; - -const routes: Routes = [ - { path: '', redirectTo: 'step/home', pathMatch: 'full' }, - { path: 'admin/:token', component: AdminComponent }, // http://localhost:4200/admin/srfdgedsTGETHRYJtujTUjTUkTIUKTK - { path: 'step/home', component: HomeComponent }, - { path: 'step/creation', component: CreateOrRetrieveComponent }, - { path: 'step/date', component: DatesComponent }, - { path: 'step/kind', component: KindComponent }, - { path: 'step/answers', component: AnswersComponent }, - { path: 'step/admin', component: AdminComponent }, - { path: 'step/pictures', component: PicturesComponent }, - { path: 'step/visibility', component: VisibilityComponent }, - { path: 'step/password', component: PasswordComponent }, - { path: 'step/resume', component: ResumeComponent }, - { path: 'step/end', component: EndConfirmationComponent }, - { path: 'graphic/:poll', component: PollGraphicComponent }, - { path: 'vote/poll/id/:id', component: PollDisplayComponent }, - { path: 'vote/poll/custom_url/:custom_url', component: PollDisplayComponent }, - { path: 'votingchoice', component: VotingChoiceComponent }, - { path: 'voting', component: VotingComponent }, -]; - -@NgModule({ - imports: [RouterModule.forChild(routes)], - exports: [RouterModule], -}) -export class OldStuffRoutingModule {} diff --git a/mocks/old-stuff/old-stuff.module.ts b/mocks/old-stuff/old-stuff.module.ts deleted file mode 100644 index c4502415..00000000 --- a/mocks/old-stuff/old-stuff.module.ts +++ /dev/null @@ -1,78 +0,0 @@ -import { CommonModule } from '@angular/common'; -import { NgModule } from '@angular/core'; -import { TranslateModule } from '@ngx-translate/core'; -import { ConfirmationService, DialogModule, MessageService } from 'primeng'; - -import { SharedModule } from '../../src/app/shared/shared.module'; -import { DateValueAccessorModule } from './custom-lib/date-value-accessor'; -import { OldStuffRoutingModule } from './old-stuff-routing.module'; -import { AdminComponent } from './pages/admin/admin.component'; -import { AnswersComponent } from './pages/answers/answers.component'; -import { CreateOrRetrieveComponent } from './pages/create-or-retrieve/create-or-retrieve.component'; -import { DatesComponent } from './pages/dates/dates.component'; -import { EndConfirmationComponent } from './pages/end-confirmation/end-confirmation.component'; -import { BaseComponent } from './pages/example/base-page/base.component'; -import { KindComponent } from './pages/example/kind/kind.component'; -import { PicturesComponent } from './pages/example/pictures/pictures.component'; -import { HomeComponent } from './pages/home/home.component'; -import { PasswordComponent } from './pages/password/password.component'; -import { PollDisplayComponent } from './pages/poll/poll-display/poll-display.component'; -import { PollGraphicComponent } from './pages/poll/poll-graphic/poll-graphic.component'; -import { ResumeComponent } from './pages/resume/resume.component'; -import { VisibilityComponent } from './pages/visibility/visibility.component'; -import { ChoicesListComponent } from './pages/voting/choices-list/choices-list.component'; -import { CommentsListComponent } from './pages/voting/comments-list/comments-list.component'; -import { VotingChoiceComponent } from './pages/voting/voting-choice/voting-choice.component'; -import { VotingCommentComponent } from './pages/voting/voting-comment/voting-comment.component'; -import { VotingGraphComponent } from './pages/voting/voting-graph/voting-graph.component'; -import { VotingNavigationComponent } from './pages/voting/voting-navigation/voting-navigation.component'; -import { VotingSummaryComponent } from './pages/voting/voting-summary/voting-summary.component'; -import { VotingComponent } from './pages/voting/voting.component'; -import { ConfigService } from './services/config.service'; -import { CopyTextComponent } from './ui/copy-text/copy-text.component'; -import { ResettableInputDirective } from './ui/directives/resettable-input.directive'; -import { ErasableInputComponent } from './ui/erasable-input/erasable-input.component'; -import { TwoLinksComponent } from './ui/two-links/two-links.component'; - -const PRIMENG_MODULES = [DialogModule]; - -@NgModule({ - declarations: [ - AdminComponent, - AnswersComponent, - BaseComponent, - ChoicesListComponent, - CommentsListComponent, - CopyTextComponent, - CreateOrRetrieveComponent, - DatesComponent, - EndConfirmationComponent, - ErasableInputComponent, - HomeComponent, - KindComponent, - PasswordComponent, - PicturesComponent, - PollDisplayComponent, - PollGraphicComponent, - ResettableInputDirective, - ResumeComponent, - TwoLinksComponent, - VisibilityComponent, - VotingChoiceComponent, - VotingGraphComponent, - VotingComponent, - VotingCommentComponent, - VotingSummaryComponent, - VotingNavigationComponent, - ], - imports: [ - ...PRIMENG_MODULES, - CommonModule, - OldStuffRoutingModule, - SharedModule, - TranslateModule.forChild({ extend: true }), - DateValueAccessorModule, - ], - providers: [ConfigService, ConfirmationService, MessageService], -}) -export class OldStuffModule {} diff --git a/mocks/old-stuff/pages/admin/admin.component.html b/mocks/old-stuff/pages/admin/admin.component.html deleted file mode 100644 index f5881e2d..00000000 --- a/mocks/old-stuff/pages/admin/admin.component.html +++ /dev/null @@ -1,10 +0,0 @@ -
-

- admin page to modify a poll -

-
-

Anybody with this link can modify and delete the poll

- token: {{ tokenForAdministration }} - coming soon -
-
diff --git a/mocks/old-stuff/pages/admin/admin.component.scss b/mocks/old-stuff/pages/admin/admin.component.scss deleted file mode 100644 index 646ee1b5..00000000 --- a/mocks/old-stuff/pages/admin/admin.component.scss +++ /dev/null @@ -1,41 +0,0 @@ -form { - display: flex; - flex-direction: column; - width: 340px; - margin: auto; -} -.row { - flex-direction: row; - flex-wrap: wrap; - padding-bottom: 65px; -} -textarea { - height: 115px; - margin-bottom: 50px; -} -label { - padding-bottom: 10px; - flex-wrap: wrap; -} -h2, -h1 { - margin-bottom: 40px; -} -h2 { - margin-top: 40px; - padding-left: 16px; -} -.btn--alert { - font-weight: 600; -} -h3 { - padding-left: 28px; - padding-bottom: 15px; -} -select, -input[type='date'] { - max-width: 130px; -} -.btn--outline { - margin-bottom: 70px; -} diff --git a/mocks/old-stuff/pages/admin/admin.component.spec.ts b/mocks/old-stuff/pages/admin/admin.component.spec.ts deleted file mode 100644 index 333de021..00000000 --- a/mocks/old-stuff/pages/admin/admin.component.spec.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; - -import { AdminComponent } from './admin.component'; - -fdescribe('AdminComponent', () => { - let component: AdminComponent; - let fixture: ComponentFixture; - - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [AdminComponent], - }).compileComponents(); - })); - - beforeEach(() => { - fixture = TestBed.createComponent(AdminComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/mocks/old-stuff/pages/admin/admin.component.ts b/mocks/old-stuff/pages/admin/admin.component.ts deleted file mode 100644 index 5e0c1fd3..00000000 --- a/mocks/old-stuff/pages/admin/admin.component.ts +++ /dev/null @@ -1,61 +0,0 @@ -import { Component, OnInit } from '@angular/core'; -import { ConfigService } from '../../services/config.service'; -import { ActivatedRoute, Router } from '@angular/router'; -import { HttpClient } from '@angular/common/http'; -import { PollUtilitiesService } from '../../../../src/app/core/services/poll.utilities.service'; -import { environment } from '../../../../src/environments/environment'; - -@Component({ - selector: 'app-admin', - templateUrl: './admin.component.html', - styleUrls: ['./admin.component.scss'], -}) -export class AdminComponent implements OnInit { - public tokenForAdministration = ''; - - constructor( - public config: ConfigService, - public router: Router, - private utils: PollUtilitiesService, - public http: HttpClient, - public activeRoute: ActivatedRoute - ) {} - - ngOnInit(): void { - this.activeRoute.paramMap.subscribe((params) => { - console.log('params', params); - this.tokenForAdministration = params.get('token'); - // redirect to home if no token provided - if (!this.tokenForAdministration) { - alert('pas de token pour administrer un sondage, mauvaise URL.'); - this.router.navigate(['/home']); - } - if (!this.config.loading) { - // get token paarameter from route - // fetch admin version of the poll - // then, populate UI. - this.fetchPoll(); - } - }); - } - - // fetch poll with its ID or custom_url. - fetchPoll() { - const token = this.tokenForAdministration; - const headers = this.utils.makeHeaders({ token: token }); - this.config.loading = true; - // store it in the poll property here - // this.http.get(`${environment.baseApiHref}/admin/${token}`, headers).subscribe( - // (res: any) => { - // console.log('res', res); - // this.config.updateCurrentPollFromResponse(res); - // this.config.loading = false; - // }, - // (e) => { - // // handle need for a password - // console.log('e', e); - // this.config.handleError(e); - // } - // ); - } -} diff --git a/mocks/old-stuff/pages/answers/answers.component.html b/mocks/old-stuff/pages/answers/answers.component.html deleted file mode 100644 index 98386e6d..00000000 --- a/mocks/old-stuff/pages/answers/answers.component.html +++ /dev/null @@ -1,76 +0,0 @@ -
-

- Choisir les propositions -

- -

- Vous pouvez utiliser la syntaxe markdown, et naviguer entre les inputs avec les flèches du clavier. -

- -
    -
  1. - - - - - {{ answer.text }} - - -
    - - -
    - -
    -
    - - -
  2. -
- - -
- -
- -
diff --git a/mocks/old-stuff/pages/answers/answers.component.spec.ts b/mocks/old-stuff/pages/answers/answers.component.spec.ts deleted file mode 100644 index f916576f..00000000 --- a/mocks/old-stuff/pages/answers/answers.component.spec.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; - -import { AnswersComponent } from './answers.component'; - -describe('AnswersComponent', () => { - let component: AnswersComponent; - let fixture: ComponentFixture; - - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [AnswersComponent], - }).compileComponents(); - })); - - beforeEach(() => { - fixture = TestBed.createComponent(AnswersComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/mocks/old-stuff/pages/answers/answers.component.ts b/mocks/old-stuff/pages/answers/answers.component.ts deleted file mode 100644 index b24acece..00000000 --- a/mocks/old-stuff/pages/answers/answers.component.ts +++ /dev/null @@ -1,93 +0,0 @@ -import { AfterViewInit, ChangeDetectorRef, Component, Inject, OnChanges, OnInit } from '@angular/core'; -import { BaseComponent } from '../example/base-page/base.component'; -import { ConfigService } from '../../services/config.service'; - -import { DOCUMENT } from '@angular/common'; - -@Component({ - selector: 'app-answers', - templateUrl: './answers.component.html', - styleUrls: ['./answers.component.scss'], -}) -export class AnswersComponent extends BaseComponent implements OnInit, AfterViewInit, OnChanges { - allAnswersAreValid = false; - - answerList = []; - currentHeader: any = ''; - display: boolean; - - constructor(public config: ConfigService, @Inject(DOCUMENT) private document: any, private cd: ChangeDetectorRef) { - super(config); - this.answerList = this.config.answers; - } - - // todo, manage validation of each page in a common way - ngOnInit(): void {} - - ngOnChanges() { - this.checkValidAnswers(); - } - - checkValidAnswers() { - this.allAnswersAreValid = true; - this.config.answers.forEach((answer) => { - if (!answer.text.length) { - this.allAnswersAreValid = false; - return; - } - }); - } - - ngAfterViewInit() { - this.focusOnAnswer(0); - this.checkValidAnswers(); - } - - trackFunction(index: number, item: any): number { - return item.id; - } - - addAnswer() { - this.config.answers.push({ - id: this.config.answers.length + 1, - text: '', - url: '', - file: '', - literal: '', - date_object: null, - timeList: [], - }); - this.cd.detectChanges(); // to refresh the view before focusing on the new input - this.focusOnAnswer(this.config.answers.length - 1); - } - - focusOnAnswer(i) { - const AnswersDomToFocus = this.document.querySelectorAll('.answers .answer'); - const dom = AnswersDomToFocus[i]; - if (dom.focus) { - dom.focus(); - } - if (dom.select) { - dom.select(); - } - } - - navigateOrDelete(event: KeyboardEvent, i) { - if (event.ctrlKey && event.key == 'd') { - this.config.answers.splice(i, 1); - } - if (event.key == 'ArrowUp' && i > 0) { - this.focusOnAnswer(i - 1); - } - if (event.key == 'ArrowDown' && i < this.config.answers.length) { - this.focusOnAnswer(i + 1); - } - } - - showModalForPictureOfAnswer(answer) { - // TODO - this.currentHeader = answer; - this.display = true; - // this.config.todo(); - } -} diff --git a/mocks/old-stuff/pages/create-or-retrieve/create-or-retrieve.component.html b/mocks/old-stuff/pages/create-or-retrieve/create-or-retrieve.component.html deleted file mode 100644 index bb84f89a..00000000 --- a/mocks/old-stuff/pages/create-or-retrieve/create-or-retrieve.component.html +++ /dev/null @@ -1,71 +0,0 @@ -
-
-
-
-

- {{ 'creation.title' | translate }} -

-

- {{ 'config.description' | translate }} -

-
- -
-
-
-
-
-

- {{ 'config.find_my_polls' | translate }} -

-
- - - -
-
-
-

- Mes Sondages trouvés: -

- - -
- Aucun sondage. -
-
-
- -
-
-
-
diff --git a/mocks/old-stuff/pages/create-or-retrieve/create-or-retrieve.component.scss b/mocks/old-stuff/pages/create-or-retrieve/create-or-retrieve.component.scss deleted file mode 100644 index 61cfb445..00000000 --- a/mocks/old-stuff/pages/create-or-retrieve/create-or-retrieve.component.scss +++ /dev/null @@ -1,27 +0,0 @@ -.container { - display: flex; - flex-direction: column; - margin: auto; -} -h1 { - display: inline-block; - margin-bottom: 3rem; - font-size: 2.6rem; - - &::after { - content: ''; - display: block; - width: 27.4%; - height: 2px; - margin-top: 5px; - margin-right: auto; - margin-left: auto; - // background-color: $primary_color; - } -} -label { - float: left; -} -input[type='email'] { - display: block; -} diff --git a/mocks/old-stuff/pages/create-or-retrieve/create-or-retrieve.component.spec.ts b/mocks/old-stuff/pages/create-or-retrieve/create-or-retrieve.component.spec.ts deleted file mode 100644 index 086419f8..00000000 --- a/mocks/old-stuff/pages/create-or-retrieve/create-or-retrieve.component.spec.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; - -import { CreateOrRetrieveComponent } from './create-or-retrieve.component'; - -describe('CreateOrRetrieveComponent', () => { - let component: CreateOrRetrieveComponent; - let fixture: ComponentFixture; - - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [CreateOrRetrieveComponent], - }).compileComponents(); - })); - - beforeEach(() => { - fixture = TestBed.createComponent(CreateOrRetrieveComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/mocks/old-stuff/pages/create-or-retrieve/create-or-retrieve.component.ts b/mocks/old-stuff/pages/create-or-retrieve/create-or-retrieve.component.ts deleted file mode 100644 index 50c3a1a4..00000000 --- a/mocks/old-stuff/pages/create-or-retrieve/create-or-retrieve.component.ts +++ /dev/null @@ -1,34 +0,0 @@ -import { Component, OnInit } from '@angular/core'; -import { BaseComponent } from '../example/base-page/base.component'; -import { ConfigService } from '../../services/config.service'; - -@Component({ - selector: 'app-create-or-retrieve', - templateUrl: './create-or-retrieve.component.html', - styleUrls: ['./create-or-retrieve.component.scss'], -}) -export class CreateOrRetrieveComponent extends BaseComponent implements OnInit { - loadedMyPolls = false; - - constructor(public config: ConfigService) { - super(config); - } - - ngOnInit(): void { - // if (!environment.production) { - // this.findMyPollsByEmail('tktest@tktest.com') - // } - } - - findMyPollsByEmail(email: string) { - if (!email) { - return; - } - this.config.findPollsByEmail(email); - this.loadedMyPolls = true; - } - - trackFunction(index: number, item: any): number { - return item.id; - } -} diff --git a/mocks/old-stuff/pages/dates/dates.component.html b/mocks/old-stuff/pages/dates/dates.component.html deleted file mode 100644 index 76446371..00000000 --- a/mocks/old-stuff/pages/dates/dates.component.html +++ /dev/null @@ -1,155 +0,0 @@ -

{{ 'dates.title' | translate }}

- -
- -
- - - - - -
- -
-

{{ 'dates.add_interval' | translate }}

-

- {{ 'dates.interval_propose' | translate }} - - {{ 'dates.interval_span' | translate }} - -
-

- -
-
-
-
-
-
- - {{ config.timeList.length }} - - - {{ 'dates.count_time' | translate }} - (pour chaque jour) - -
-
- - - -
- -
- -
-
- - {{ config.dateList.length }} - - - {{ 'dates.count_dates' | translate }} - - -
- {{ id }}) - - - -
-
- - -
-
-
-
-
-
- -
-
- - - C'est parfait! - - diff --git a/mocks/old-stuff/pages/dates/dates.component.scss b/mocks/old-stuff/pages/dates/dates.component.scss deleted file mode 100644 index 6949ff7d..00000000 --- a/mocks/old-stuff/pages/dates/dates.component.scss +++ /dev/null @@ -1,43 +0,0 @@ -:host { - .several-times { - padding-left: 1em; - } - - .date-interval { - padding: 1em; - margin-bottom: 1em; - } - - .dates-list { - .btn--primary { - float: right; - } - } - - .date-choice { - input { - width: 70%; - } - } - - .title { - font-size: 1.5rem; - } - - input, - button { - + button { - margin-left: 1em; - } - } - - .columns { - margin-top: 1em; - } - - .identical-dates { - label { - width: 3ch; - } - } -} diff --git a/mocks/old-stuff/pages/dates/dates.component.spec.ts b/mocks/old-stuff/pages/dates/dates.component.spec.ts deleted file mode 100644 index 36964615..00000000 --- a/mocks/old-stuff/pages/dates/dates.component.spec.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; - -import { DatesComponent } from './dates.component'; - -describe('DatesComponent', () => { - let component: DatesComponent; - let fixture: ComponentFixture; - - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [DatesComponent], - }).compileComponents(); - })); - - beforeEach(() => { - fixture = TestBed.createComponent(DatesComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/mocks/old-stuff/pages/dates/dates.component.ts b/mocks/old-stuff/pages/dates/dates.component.ts deleted file mode 100644 index 7a1a9255..00000000 --- a/mocks/old-stuff/pages/dates/dates.component.ts +++ /dev/null @@ -1,134 +0,0 @@ -import { DOCUMENT } from '@angular/common'; -import { ChangeDetectorRef, Component, Inject, OnInit } from '@angular/core'; - -import { ToastService } from '../../../../src/app/core/services/toast.service'; -import { DateUtilitiesService } from '../../../../src/app/core/services/date.utilities.service'; -import { otherDefaultDates } from '../../config/defaultConfigs'; -import { ConfigService } from '../../services/config.service'; -import { BaseComponent } from '../example/base-page/base.component'; - -@Component({ - selector: 'app-dates', - templateUrl: './dates.component.html', - styleUrls: ['./dates.component.scss'], -}) -export class DatesComponent extends BaseComponent implements OnInit { - showDateInterval = false; - startDateInterval: any; - intervalDays: any; - intervalDaysDefault = 7; - endDateInterval: any; - - constructor( - public config: ConfigService, - private cd: ChangeDetectorRef, - private toastService: ToastService, - private dateUtilities: DateUtilitiesService, - @Inject(DOCUMENT) private document: any - ) { - super(config); - } - - countDays() { - // compute the number of dateChoices in the date interval - if (this.endDateInterval && this.startDateInterval) { - this.intervalDays = this.dateUtilities.dayDiff(this.endDateInterval, this.startDateInterval).toFixed(0); - } - } - - /** - * set the interval options - */ - ngOnInit(): void { - const dateCurrent = new Date(); - const dateJson = dateCurrent.toISOString(); - this.startDateInterval = dateJson.substring(0, 10); - this.endDateInterval = this.dateUtilities - .addDaysToDate(this.intervalDaysDefault, dateCurrent) - .toISOString() - .substring(0, 10); - } - - addDate() { - this.config.dateList.push({ - literal: '', - date_object: new Date(), - timeList: [], - }); - const selector = '["choice_label_' + (this.config.dateList.length - 1) + '"]'; - this.cd.detectChanges(); - const elem = this.document.querySelector(selector); - if (elem) { - elem.focus(); - } - } - - /** - * change time spans - */ - addTime() { - this.config.timeList.push({ - literal: '', - timeList: [], - date_object: new Date(), - }); - } - - removeAllTimes() { - this.config.timeList = []; - } - - resetTimes() { - this.config.timeList = otherDefaultDates; - } - - /** - * add a time period to a specific date choice, - * focus on the new input - * @param config - * @param id - */ - addTimeToDate(config: any, id: number) { - config.timeList.push({ literal: '' }); - const selector = '[ng-reflect-choice_label="dateTime_' + id + '_Choices_' + (config.timeList.length - 1) + '"]'; - this.cd.detectChanges(); - const elem = this.document.querySelector(selector); - if (elem) { - elem.focus(); - } - } - - /** - * remove all input contents, does not reset to default - */ - emptyAll() { - this.config.dateList.forEach((element) => { - element.literal = ''; - element.date_object = new Date(); - element.timeList = ['', '', '']; - }); - this.config.timeList.forEach((element) => { - element.literal = ''; - }); - } - - /** - * add all the dates between the start and end dates in the interval section - */ - addIntervalOfDates() { - const newIntervalArray = this.dateUtilities.getDatesInRange(this.startDateInterval, this.endDateInterval, 1); - - const converted = []; - newIntervalArray.forEach((element) => { - converted.push({ - literal: element.literal, - date_object: element.date_object, - timeList: [], - }); - }); - this.config.dateList = [...new Set(converted)]; // add only dates that are not already present with a Set of unique items - this.showDateInterval = false; - - this.toastService.display(`les dates ont été ajoutées aux réponses possibles.`); - } -} diff --git a/mocks/old-stuff/pages/end-confirmation/end-confirmation.component.html b/mocks/old-stuff/pages/end-confirmation/end-confirmation.component.html deleted file mode 100644 index e7458fe0..00000000 --- a/mocks/old-stuff/pages/end-confirmation/end-confirmation.component.html +++ /dev/null @@ -1,56 +0,0 @@ -

- {{ 'resume.title' | translate }} -

-
-

{{ 'resume.admins' | translate }}

-

- Votre sondage « - - {{ config.title }} - - » a bien été créé ! -

-

- Voici les liens d’accès au sondage, conservez-les soigneusement ! (Si vous les perdez vous pourrez toujours les - recevoir par email) -

- -

- Pour accéder au sondage et à tous ses paramètres : - {{ config.urlAdmin }} -

- - - Voir le sondage coté administrateur·ice - -

- Note : Le sondage sera supprimé {{ config.deletionDateAfterLastModification }} jours après la date de sa - dernière modification. -

-
-
-

{{ 'resume.users' | translate }}

-

- Pour accéder au sondage : - {{ config.urlPublic }} -

- - - Voir le sondage - -
-
-

{{ 'resume.links_mail' | translate }}

-

- Pour être sur de retrouver ces liens, nous pouvons vous les envoyer sur votre mail mail : - -

- - - - Voir le sondage - -
diff --git a/mocks/old-stuff/pages/end-confirmation/end-confirmation.component.scss b/mocks/old-stuff/pages/end-confirmation/end-confirmation.component.scss deleted file mode 100644 index f2a50065..00000000 --- a/mocks/old-stuff/pages/end-confirmation/end-confirmation.component.scss +++ /dev/null @@ -1,5 +0,0 @@ -:host { - button { - margin-right: 1em; - } -} diff --git a/mocks/old-stuff/pages/end-confirmation/end-confirmation.component.spec.ts b/mocks/old-stuff/pages/end-confirmation/end-confirmation.component.spec.ts deleted file mode 100644 index 2b8c4b9b..00000000 --- a/mocks/old-stuff/pages/end-confirmation/end-confirmation.component.spec.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; - -import { EndConfirmationComponent } from './end-confirmation.component'; - -describe('EndConfirmationComponent', () => { - let component: EndConfirmationComponent; - let fixture: ComponentFixture; - - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [EndConfirmationComponent], - }).compileComponents(); - })); - - beforeEach(() => { - fixture = TestBed.createComponent(EndConfirmationComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/mocks/old-stuff/pages/end-confirmation/end-confirmation.component.ts b/mocks/old-stuff/pages/end-confirmation/end-confirmation.component.ts deleted file mode 100644 index cba66989..00000000 --- a/mocks/old-stuff/pages/end-confirmation/end-confirmation.component.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { HttpClient } from '@angular/common/http'; -import { Component, OnInit } from '@angular/core'; - -import { ToastService } from '../../../../src/app/core/services/toast.service'; -import { ConfigService } from '../../services/config.service'; -import { BaseComponent } from '../example/base-page/base.component'; - -@Component({ - selector: 'app-end-confirmation', - templateUrl: './end-confirmation.component.html', - styleUrls: ['./end-confirmation.component.scss'], -}) -export class EndConfirmationComponent extends BaseComponent implements OnInit { - mailToRecieve = ''; - - constructor(public config: ConfigService, public http: HttpClient, private toastService: ToastService) { - super(config); - this.mailToRecieve = this.config.myEmail; - } - - ngOnInit(): void {} - - copyLink(str: any) { - this.toastService.display(`Lien copié : ${str}`); - } - - sendToEmail() {} -} diff --git a/mocks/old-stuff/pages/example/base-page/base.component.html b/mocks/old-stuff/pages/example/base-page/base.component.html deleted file mode 100644 index 86001560..00000000 --- a/mocks/old-stuff/pages/example/base-page/base.component.html +++ /dev/null @@ -1,4 +0,0 @@ -

Ce composant est celui de base pour les pages

- - {{ 'config.perfect' | translate }} - diff --git a/mocks/old-stuff/pages/example/base-page/base.component.scss b/mocks/old-stuff/pages/example/base-page/base.component.scss deleted file mode 100644 index e69de29b..00000000 diff --git a/mocks/old-stuff/pages/example/base-page/base.component.spec.ts b/mocks/old-stuff/pages/example/base-page/base.component.spec.ts deleted file mode 100644 index b1c21947..00000000 --- a/mocks/old-stuff/pages/example/base-page/base.component.spec.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; - -import { BaseComponent } from './base.component'; - -describe('BaseComponent', () => { - let component: BaseComponent; - let fixture: ComponentFixture; - - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [BaseComponent], - }).compileComponents(); - })); - - beforeEach(() => { - fixture = TestBed.createComponent(BaseComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/mocks/old-stuff/pages/example/base-page/base.component.ts b/mocks/old-stuff/pages/example/base-page/base.component.ts deleted file mode 100644 index 8eac5a09..00000000 --- a/mocks/old-stuff/pages/example/base-page/base.component.ts +++ /dev/null @@ -1,29 +0,0 @@ -import { Component, OnInit } from '@angular/core'; - -import { ConfigService } from '../../../services/config.service'; - -@Component({ - selector: 'app-base-page', - templateUrl: './base.component.html', - styleUrls: ['./base.component.scss'], -}) -/** - * base page is aware of the state of the filling - */ -export class BaseComponent implements OnInit { - constructor(public config: ConfigService) {} - - ngOnInit(): void {} - - public checkValidity(): boolean { - // TODO with form controls - this.config.todo(); - return true; - } - - public displayErrorMessage(): boolean { - // TODO - this.config.todo(); - return true; - } -} diff --git a/mocks/old-stuff/pages/example/kind/kind.component.html b/mocks/old-stuff/pages/example/kind/kind.component.html deleted file mode 100644 index 0cf28006..00000000 --- a/mocks/old-stuff/pages/example/kind/kind.component.html +++ /dev/null @@ -1,265 +0,0 @@ -

page de démo

-

- cette étape est en cours de développement.
- S'inspirer de la page de Home pour réaliser d'autres pages -

-C'est parfait! -

Atoms

-
-
-

Headings

- -

Ceci est un h1

-

Ceci est un h2

-

Ceci est un h3

-
- - - -
-

Buttons

- - - -
- - - -
- - - primary - outline - default - - -
- - - -
- - - -
- - - -
- - - -
- - - -

- - - - - - - - -
- -
-

Forms element

- -

Labels

- - - -

Input choice_label

-
- - -

Input email

-
- - -

Input password

-
- - -

Input date

-
- - -

Select

- - -

Textarea

- -
- -
-

Paragraphs

- -

- Lorem, ipsum dolor sit amet consectetur adipisicing elit. Magnam perspiciatis minus libero error dolores. - Corrupti repellat vero repellendus reiciendis assumenda minus. Nobis, quaerat ut nihil minima sed animi - delectus beatae! -

-
- -
-

Lists

- -

Unordered list

-
    -
  • - plop -
  • -
  • - plop -
  • -
  • - plop -
  • -
- -

Ordered list

-
    -
  1. - plop -
  2. -
  3. - plop -
  4. -
  5. - plop -
  6. -
-
- -
-

Images

- -
-
- -
-

Molecules

- - - -
-

Label + input choice_label

- - -
- -
-

Label + select

- - -
- -
-

Input choice_label with info

- like here -
- -
-

Commentaries

-
-
- -
-

Components

- -
-

Images list

- that -
- -
-

Calendar

-
- -
-

Modale

-
- -
-

Way to vote

- that -
- - - -
-

Graphics

- that -
-
diff --git a/mocks/old-stuff/pages/example/kind/kind.component.scss b/mocks/old-stuff/pages/example/kind/kind.component.scss deleted file mode 100644 index 963a1140..00000000 --- a/mocks/old-stuff/pages/example/kind/kind.component.scss +++ /dev/null @@ -1,22 +0,0 @@ -@charset "UTF-8"; - -section { - &:not(:last-of-type) { - border-bottom: 6px solid #000; - } - - + section { - margin: 0 !important; - } -} - -article { - padding: 2rem 0; - border-top: 3px solid #ffb92c; - - h3 { - &:not(:first-of-type) { - margin-top: 2rem; - } - } -} diff --git a/mocks/old-stuff/pages/example/kind/kind.component.spec.ts b/mocks/old-stuff/pages/example/kind/kind.component.spec.ts deleted file mode 100644 index ec49b594..00000000 --- a/mocks/old-stuff/pages/example/kind/kind.component.spec.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; - -import { KindComponent } from './kind.component'; - -describe('KindComponent', () => { - let component: KindComponent; - let fixture: ComponentFixture; - - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [KindComponent], - }).compileComponents(); - })); - - beforeEach(() => { - fixture = TestBed.createComponent(KindComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/mocks/old-stuff/pages/example/kind/kind.component.ts b/mocks/old-stuff/pages/example/kind/kind.component.ts deleted file mode 100644 index 26ac05b4..00000000 --- a/mocks/old-stuff/pages/example/kind/kind.component.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { Component, OnInit } from '@angular/core'; -import { BaseComponent } from '../base-page/base.component'; -import { ConfigService } from '../../../services/config.service'; - -@Component({ - selector: 'app-page-kind', - templateUrl: './kind.component.html', - styleUrls: ['./kind.component.scss'], -}) -export class KindComponent extends BaseComponent implements OnInit { - constructor(public config: ConfigService) { - super(config); - } - - ngOnInit(): void {} -} diff --git a/mocks/old-stuff/pages/example/pictures/pictures.component.html b/mocks/old-stuff/pages/example/pictures/pictures.component.html deleted file mode 100644 index c57b6112..00000000 --- a/mocks/old-stuff/pages/example/pictures/pictures.component.html +++ /dev/null @@ -1,5 +0,0 @@ - -

- Images -

-ok diff --git a/mocks/old-stuff/pages/example/pictures/pictures.component.scss b/mocks/old-stuff/pages/example/pictures/pictures.component.scss deleted file mode 100644 index e69de29b..00000000 diff --git a/mocks/old-stuff/pages/example/pictures/pictures.component.spec.ts b/mocks/old-stuff/pages/example/pictures/pictures.component.spec.ts deleted file mode 100644 index 4741e61e..00000000 --- a/mocks/old-stuff/pages/example/pictures/pictures.component.spec.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; - -import { PicturesComponent } from './pictures.component'; - -describe('PicturesComponent', () => { - let component: PicturesComponent; - let fixture: ComponentFixture; - - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [PicturesComponent], - }).compileComponents(); - })); - - beforeEach(() => { - fixture = TestBed.createComponent(PicturesComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/mocks/old-stuff/pages/example/pictures/pictures.component.ts b/mocks/old-stuff/pages/example/pictures/pictures.component.ts deleted file mode 100644 index 3ae5f225..00000000 --- a/mocks/old-stuff/pages/example/pictures/pictures.component.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { Component, OnInit } from '@angular/core'; -import { ConfigService } from '../../../services/config.service'; -import { BaseComponent } from '../base-page/base.component'; - -@Component({ - selector: 'app-pictures', - templateUrl: './pictures.component.html', - styleUrls: ['./pictures.component.scss'], -}) -export class PicturesComponent extends BaseComponent implements OnInit { - constructor(public config: ConfigService) { - super(config); - } - - ngOnInit(): void {} -} diff --git a/mocks/old-stuff/pages/home/home.component.html b/mocks/old-stuff/pages/home/home.component.html deleted file mode 100644 index 2a8e8e66..00000000 --- a/mocks/old-stuff/pages/home/home.component.html +++ /dev/null @@ -1,92 +0,0 @@ -
- - -

- {{ 'creation.title' | translate }} -

- - {{ 'creation.want' | translate }} - - - - - - -
- - - -
- -
- - - -
- -
- -
- -
-
- - - -
- - - - -
-
diff --git a/mocks/old-stuff/pages/home/home.component.scss b/mocks/old-stuff/pages/home/home.component.scss deleted file mode 100644 index e69de29b..00000000 diff --git a/mocks/old-stuff/pages/home/home.component.spec.ts b/mocks/old-stuff/pages/home/home.component.spec.ts deleted file mode 100644 index 85666544..00000000 --- a/mocks/old-stuff/pages/home/home.component.spec.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; - -import { HomeComponent } from './home.component'; - -describe('HomeComponent', () => { - let component: HomeComponent; - let fixture: ComponentFixture; - - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [HomeComponent], - }).compileComponents(); - })); - - beforeEach(() => { - fixture = TestBed.createComponent(HomeComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/mocks/old-stuff/pages/home/home.component.ts b/mocks/old-stuff/pages/home/home.component.ts deleted file mode 100644 index 6cb3d1fc..00000000 --- a/mocks/old-stuff/pages/home/home.component.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { Component, OnInit } from '@angular/core'; -import { ConfigService } from '../../services/config.service'; -import { BaseComponent } from '../example/base-page/base.component'; - -@Component({ - selector: 'app-home', - templateUrl: './home.component.html', - styleUrls: ['./home.component.scss'], -}) -export class HomeComponent extends BaseComponent implements OnInit { - nextStep = '/step/answers'; - constructor(public config: ConfigService) { - super(config); - } - - ngOnInit(): void {} -} diff --git a/mocks/old-stuff/pages/password/password.component.html b/mocks/old-stuff/pages/password/password.component.html deleted file mode 100644 index 43184bb1..00000000 --- a/mocks/old-stuff/pages/password/password.component.html +++ /dev/null @@ -1,12 +0,0 @@ -

Nom du sondage

-

Ce sondage est protégé par un mot de passe

- -
- -
- - -
- - -
diff --git a/mocks/old-stuff/pages/password/password.component.scss b/mocks/old-stuff/pages/password/password.component.scss deleted file mode 100644 index bf4c8d32..00000000 --- a/mocks/old-stuff/pages/password/password.component.scss +++ /dev/null @@ -1,12 +0,0 @@ -form { - display: flex; - flex-direction: column; -} -label { - font-weight: 600; - font-size: 18px; -} -h1 { - display: flex; - align-self: center; -} diff --git a/mocks/old-stuff/pages/password/password.component.spec.ts b/mocks/old-stuff/pages/password/password.component.spec.ts deleted file mode 100644 index 3a2fa7eb..00000000 --- a/mocks/old-stuff/pages/password/password.component.spec.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; - -import { PasswordComponent } from './password.component'; - -describe('PasswordComponent', () => { - let component: PasswordComponent; - let fixture: ComponentFixture; - - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [PasswordComponent], - }).compileComponents(); - })); - - beforeEach(() => { - fixture = TestBed.createComponent(PasswordComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/mocks/old-stuff/pages/password/password.component.ts b/mocks/old-stuff/pages/password/password.component.ts deleted file mode 100644 index b8bca6e8..00000000 --- a/mocks/old-stuff/pages/password/password.component.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { Component, OnInit } from '@angular/core'; -import { BaseComponent } from '../example/base-page/base.component'; -import { ConfigService } from '../../services/config.service'; - -@Component({ - selector: 'app-password', - templateUrl: './password.component.html', - styleUrls: ['./password.component.scss'], -}) -export class PasswordComponent extends BaseComponent implements OnInit { - constructor(public config: ConfigService) { - super(config); - } - - ngOnInit(): void {} -} diff --git a/mocks/old-stuff/pages/poll/poll-display/poll-display.component.html b/mocks/old-stuff/pages/poll/poll-display/poll-display.component.html deleted file mode 100644 index e12211a9..00000000 --- a/mocks/old-stuff/pages/poll/poll-display/poll-display.component.html +++ /dev/null @@ -1,59 +0,0 @@ -
- - - -
- -
-
-
- -
-
- - -
-
- -
-
- -
-
- -
-
-
-
- No current poll available -
-
-
diff --git a/mocks/old-stuff/pages/poll/poll-display/poll-display.component.scss b/mocks/old-stuff/pages/poll/poll-display/poll-display.component.scss deleted file mode 100644 index 97075968..00000000 --- a/mocks/old-stuff/pages/poll/poll-display/poll-display.component.scss +++ /dev/null @@ -1 +0,0 @@ -@import '../../../../../src/styles/variables'; diff --git a/mocks/old-stuff/pages/poll/poll-display/poll-display.component.spec.ts b/mocks/old-stuff/pages/poll/poll-display/poll-display.component.spec.ts deleted file mode 100644 index 4b42c502..00000000 --- a/mocks/old-stuff/pages/poll/poll-display/poll-display.component.spec.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; - -import { PollDisplayComponent } from './poll-display.component'; - -describe('PollDisplayComponent', () => { - let component: PollDisplayComponent; - let fixture: ComponentFixture; - - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [PollDisplayComponent], - }).compileComponents(); - })); - - beforeEach(() => { - fixture = TestBed.createComponent(PollDisplayComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/mocks/old-stuff/pages/poll/poll-display/poll-display.component.ts b/mocks/old-stuff/pages/poll/poll-display/poll-display.component.ts deleted file mode 100644 index 61a98bbe..00000000 --- a/mocks/old-stuff/pages/poll/poll-display/poll-display.component.ts +++ /dev/null @@ -1,70 +0,0 @@ -import { Component, OnInit } from '@angular/core'; -import { BaseComponent } from '../../example/base-page/base.component'; -import { ConfigService } from '../../../services/config.service'; -import { mockComments } from '../../../mocks/mock-comments'; -import { ActivatedRoute, Router } from '@angular/router'; -import { environment } from '../../../../../src/environments/environment'; -import { mockPoll3 } from '../../../mocks/mock-poll3'; - -@Component({ - selector: 'app-poll-display', - templateUrl: './poll-display.component.html', - styleUrls: ['./poll-display.component.scss'], -}) -export class PollDisplayComponent extends BaseComponent implements OnInit { - comments = mockComments; - - constructor(public config: ConfigService, private router: Router, public activeRoute: ActivatedRoute) { - super(config); - this.activeRoute.paramMap.subscribe((params) => { - console.log('params', params); - this.config.pollId = params.get('poll'); - this.config.pollSlug = params.get('pollSlug'); - if (!this.config.loading) { - this.fetchPoll(); - } - }); - } - - ngOnInit(): void {} - - // fetch poll with its ID or custom_url. - fetchPoll() { - const id = this.activeRoute.snapshot.params.poll; - const pollSlug = this.activeRoute.snapshot.params.pollSlug; - - if (!environment.production) { - console.log('mockPoll3', mockPoll3); - this.config.currentPoll = mockPoll3; - return; - } - if (id) { - this.config.loading = true; - // store it in the poll property here - this.config.getPollById(id).subscribe( - (res: any) => { - console.log('res', res); - this.config.updateCurrentPollFromResponse(res); - this.config.loading = false; - }, - (e) => { - // handle need for a password - console.log('e', e); - this.config.handleError(e); - } - ); - } else if (pollSlug) { - this.config.loading = true; - this.config.getPollByURL(pollSlug).subscribe( - (res: any) => { - this.config.loading = false; - this.config.updateCurrentPollFromResponse(res); - }, - (e) => { - // handle need for a password - this.config.handleError(e); - } - ); - } - } -} diff --git a/mocks/old-stuff/pages/poll/poll-graphic/poll-graphic.component.html b/mocks/old-stuff/pages/poll/poll-graphic/poll-graphic.component.html deleted file mode 100644 index 4900160d..00000000 --- a/mocks/old-stuff/pages/poll/poll-graphic/poll-graphic.component.html +++ /dev/null @@ -1,24 +0,0 @@ - - - {{ 'pollGraphic.colorblindText' | translate }} - -
- work in progress to link data with poll config -
-
- -
diff --git a/mocks/old-stuff/pages/poll/poll-graphic/poll-graphic.component.scss b/mocks/old-stuff/pages/poll/poll-graphic/poll-graphic.component.scss deleted file mode 100644 index 6bdb6fbc..00000000 --- a/mocks/old-stuff/pages/poll/poll-graphic/poll-graphic.component.scss +++ /dev/null @@ -1,3 +0,0 @@ -#selectColorblind { - direction: rtl; -} diff --git a/mocks/old-stuff/pages/poll/poll-graphic/poll-graphic.component.spec.ts b/mocks/old-stuff/pages/poll/poll-graphic/poll-graphic.component.spec.ts deleted file mode 100644 index 458c6ccf..00000000 --- a/mocks/old-stuff/pages/poll/poll-graphic/poll-graphic.component.spec.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; - -import { PollGraphicComponent } from './poll-graphic.component'; - -describe('PollGraphicComponent', () => { - let component: PollGraphicComponent; - let fixture: ComponentFixture; - - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [PollGraphicComponent], - }).compileComponents(); - })); - - beforeEach(() => { - fixture = TestBed.createComponent(PollGraphicComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/mocks/old-stuff/pages/poll/poll-graphic/poll-graphic.component.ts b/mocks/old-stuff/pages/poll/poll-graphic/poll-graphic.component.ts deleted file mode 100644 index 01b2c5df..00000000 --- a/mocks/old-stuff/pages/poll/poll-graphic/poll-graphic.component.ts +++ /dev/null @@ -1,111 +0,0 @@ -import { Component, Inject, OnInit } from '@angular/core'; -import { Chart } from 'chart.js'; -import { DOCUMENT } from '@angular/common'; -import { mockGraphConfig } from '../../../mocks/mock-graph'; -import { ConfigService } from '../../../services/config.service'; -import { mockPoll3 } from '../../../mocks/mock-poll3'; - -@Component({ - selector: 'app-poll-graphic', - templateUrl: './poll-graphic.component.html', - styleUrls: ['./poll-graphic.component.scss'], -}) -export class PollGraphicComponent implements OnInit { - isColorblind = false; - pollConfigRetrieved: any = mockPoll3; - graphicConfig: any = mockGraphConfig; - preferred: any = 'rien'; - yesList: number[] = []; - maybeList: number[] = []; - noList: number[] = []; - nbPoll = 0; - dateList: string[] = []; - - constructor(@Inject(DOCUMENT) private document: any, private config: ConfigService) {} - - ngOnInit(): void { - this.formatDataAnswers(this.graphicConfig); - this.isColorblind = false; - this.pollConfigRetrieved = new Chart(this.document.getElementById('graph'), { - type: 'horizontalBar', - data: { - labels: this.pollConfigRetrieved.choices.map((choice) => choice.name), - datasets: [ - { - type: 'horizontalBar', - stack: 'Yes', - backgroundColor: '#429a00', - data: this.yesList, - }, - { - type: 'horizontalBar', - stack: 'Yes', - backgroundColor: '#f5a623', - data: this.maybeList, - }, - { - type: 'horizontalBar', - stack: 'No', - backgroundColor: '#cd0000', - data: this.noList, - }, - ], - }, - options: this.getSettedGraphOptions(), - }); - } - - public toggleColorblind(): void { - this.isColorblind = !this.isColorblind; - } - - public formatDataAnswers(poll): void { - // if (poll && poll.pollType === "date") { - this.initPollCounter(); - poll.answers.forEach((response) => { - switch (response.text) { - case 'yes': - this.yesList[this.nbPoll - 1]++; - break; - case 'maybe': - this.maybeList[this.nbPoll - 1]++; - break; - case 'no': - this.noList[this.nbPoll - 1]++; - break; - } - }); - // } - } - - public initPollCounter(): void { - this.nbPoll++; - this.dateList[this.nbPoll - 1] = 'jeudi'; - this.maybeList[this.nbPoll - 1] = 0; - this.yesList[this.nbPoll - 1] = 0; - this.noList[this.nbPoll - 1] = 0; - } - private getSettedGraphOptions(): any { - // TODO: create interfaces, or find another way to work. "any" return type should be removed. - return { - legend: { display: false }, - scales: { - xAxes: [ - { - gridLines: { drawBorder: false, display: false }, - display: false, - stacked: true, - ticks: { beginAtZero: true, maxRotation: 0, minRotation: 0 }, - }, - ], - yAxes: [ - { - gridLines: { drawBorder: true, display: false }, - display: true, - stacked: true, - }, - ], - }, - }; - } -} diff --git a/mocks/old-stuff/pages/resume/resume.component.html b/mocks/old-stuff/pages/resume/resume.component.html deleted file mode 100644 index 3feb50d3..00000000 --- a/mocks/old-stuff/pages/resume/resume.component.html +++ /dev/null @@ -1,69 +0,0 @@ -

Aperçu

-
-

- {{ config.title }} -

-
- créé par - - {{ config.myName }} - -
-
- - {{ config.description }} - -
-
-
    -
  • - image {{ questions.url }} - {{ questions.id + 1 }}. {{ questions.text }} -
  • -
-
-
- - - {{ 'dates.multiple.different' | translate }} - - - {{ 'dates.multiple.identical' | translate }} - -
-
- -
- {{ choice.literal }} - - -
-
- {{ idTime }}) - - {{ time.literal }} -
-
- -
-
- - {{ time.literal }} -
-
-
-
-
- - - - diff --git a/mocks/old-stuff/pages/resume/resume.component.scss b/mocks/old-stuff/pages/resume/resume.component.scss deleted file mode 100644 index 4b14f653..00000000 --- a/mocks/old-stuff/pages/resume/resume.component.scss +++ /dev/null @@ -1,9 +0,0 @@ -.card { - box-shadow: 0px 0px 0.5em #ccc; - padding: 2em; - margin: 1em 0; -} - -.time-choice { - margin-left: 3em; -} diff --git a/mocks/old-stuff/pages/resume/resume.component.spec.ts b/mocks/old-stuff/pages/resume/resume.component.spec.ts deleted file mode 100644 index e7c9e8e4..00000000 --- a/mocks/old-stuff/pages/resume/resume.component.spec.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; - -import { ResumeComponent } from './resume.component'; - -describe('ResumeComponent', () => { - let component: ResumeComponent; - let fixture: ComponentFixture; - - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [ResumeComponent], - }).compileComponents(); - })); - - beforeEach(() => { - fixture = TestBed.createComponent(ResumeComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/mocks/old-stuff/pages/resume/resume.component.ts b/mocks/old-stuff/pages/resume/resume.component.ts deleted file mode 100644 index 16f1398f..00000000 --- a/mocks/old-stuff/pages/resume/resume.component.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { Component } from '@angular/core'; -import { BaseComponent } from '../example/base-page/base.component'; -import { ConfigService } from '../../services/config.service'; -import { Router } from '@angular/router'; - -@Component({ - selector: 'app-resume', - templateUrl: './resume.component.html', - styleUrls: ['./resume.component.scss'], -}) -export class ResumeComponent extends BaseComponent { - constructor(public config: ConfigService, private router: Router) { - super(config); - } -} diff --git a/mocks/old-stuff/pages/visibility/visibility.component.html b/mocks/old-stuff/pages/visibility/visibility.component.html deleted file mode 100644 index d57e4f74..00000000 --- a/mocks/old-stuff/pages/visibility/visibility.component.html +++ /dev/null @@ -1,164 +0,0 @@ -

- {{ 'visibility.top_txt' | translate }} -

-
-

- {{ 'visibility.title' | translate }} -

- - {{ 'visibility.visibility_want' | translate }} - - - - {{ 'visibility.visibility_see' | translate }} - -
- -
-

- {{ 'visibility.votes' | translate }} -

- - -
-
- - - -
- - - - - {{ 'visibility.archiving_end_not' | translate }} - - - - - {{ 'visibility.modfiy_their' | translate }} - - - -
-
-
-

- {{ 'visibility.access' | translate }} -

- -
- - - - {{ 'visibility.access_instructions' | translate }} - - -
- - - - - -
- - - -
-
- - - - diff --git a/mocks/old-stuff/pages/visibility/visibility.component.scss b/mocks/old-stuff/pages/visibility/visibility.component.scss deleted file mode 100644 index 2e544a98..00000000 --- a/mocks/old-stuff/pages/visibility/visibility.component.scss +++ /dev/null @@ -1,5 +0,0 @@ -:host { - h2 { - margin-top: 1em; - } -} diff --git a/mocks/old-stuff/pages/visibility/visibility.component.spec.ts b/mocks/old-stuff/pages/visibility/visibility.component.spec.ts deleted file mode 100644 index 52dd0b39..00000000 --- a/mocks/old-stuff/pages/visibility/visibility.component.spec.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; - -import { VisibilityComponent } from './visibility.component'; - -describe('VisibilityComponent', () => { - let component: VisibilityComponent; - let fixture: ComponentFixture; - - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [VisibilityComponent], - }).compileComponents(); - })); - - beforeEach(() => { - fixture = TestBed.createComponent(VisibilityComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/mocks/old-stuff/pages/visibility/visibility.component.ts b/mocks/old-stuff/pages/visibility/visibility.component.ts deleted file mode 100644 index c2996329..00000000 --- a/mocks/old-stuff/pages/visibility/visibility.component.ts +++ /dev/null @@ -1,34 +0,0 @@ -import { Location } from '@angular/common'; -import { Component, OnInit } from '@angular/core'; - -import { environment } from '../../../../src/environments/environment'; -import { PollUtilitiesService } from '../../../../src/app/core/services/poll.utilities.service'; -import { ConfigService } from '../../services/config.service'; -import { BaseComponent } from '../example/base-page/base.component'; - -@Component({ - selector: 'app-visibility', - templateUrl: './visibility.component.html', - styleUrls: ['./visibility.component.scss'], -}) -export class VisibilityComponent extends BaseComponent implements OnInit { - public location: Location; - public showCustomPassword = false; - public baseUrl = environment.api.baseHref; - - constructor(public config: ConfigService, public utils: PollUtilitiesService) { - super(config); - } - - ngOnInit(): void { - this.config.customUrl = 'un custom_url'; - this.config.expirationDate = this.config - .addDaysToDate(this.config.expiracyDateDefaultInDays, new Date()) - .toISOString() - .substring(0, 10); - } - - public submitCreationAndGoToEnd(): void { - this.config.createPoll(); - } -} diff --git a/mocks/old-stuff/pages/voting/choices-list/choices-list.component.html b/mocks/old-stuff/pages/voting/choices-list/choices-list.component.html deleted file mode 100644 index 30679148..00000000 --- a/mocks/old-stuff/pages/voting/choices-list/choices-list.component.html +++ /dev/null @@ -1,29 +0,0 @@ -
-
- -
-
- -
- - -
diff --git a/mocks/old-stuff/pages/voting/choices-list/choices-list.component.scss b/mocks/old-stuff/pages/voting/choices-list/choices-list.component.scss deleted file mode 100644 index e69de29b..00000000 diff --git a/mocks/old-stuff/pages/voting/choices-list/choices-list.component.spec.ts b/mocks/old-stuff/pages/voting/choices-list/choices-list.component.spec.ts deleted file mode 100644 index 663e0a5d..00000000 --- a/mocks/old-stuff/pages/voting/choices-list/choices-list.component.spec.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; - -import { ChoicesListComponent } from './choices-list.component'; - -describe('ChoicesListComponent', () => { - let component: ChoicesListComponent; - let fixture: ComponentFixture; - - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [ChoicesListComponent], - }).compileComponents(); - })); - - beforeEach(() => { - fixture = TestBed.createComponent(ChoicesListComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/mocks/old-stuff/pages/voting/choices-list/choices-list.component.ts b/mocks/old-stuff/pages/voting/choices-list/choices-list.component.ts deleted file mode 100644 index bc7e3edc..00000000 --- a/mocks/old-stuff/pages/voting/choices-list/choices-list.component.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { Component } from '@angular/core'; -import { ConfigService } from '../../../services/config.service'; - -@Component({ - selector: 'app-choices-list', - templateUrl: './choices-list.component.html', - styleUrls: ['./choices-list.component.scss'], -}) -export class ChoicesListComponent { - constructor(public config: ConfigService) {} -} diff --git a/mocks/old-stuff/pages/voting/comments-list/comments-list.component.html b/mocks/old-stuff/pages/voting/comments-list/comments-list.component.html deleted file mode 100644 index 5b00b19e..00000000 --- a/mocks/old-stuff/pages/voting/comments-list/comments-list.component.html +++ /dev/null @@ -1,33 +0,0 @@ -
- - - - -
-
-

Laisser un commentaire

- - - - -
- -
- -
- -
- -
-
diff --git a/mocks/old-stuff/pages/voting/comments-list/comments-list.component.scss b/mocks/old-stuff/pages/voting/comments-list/comments-list.component.scss deleted file mode 100644 index e69de29b..00000000 diff --git a/mocks/old-stuff/pages/voting/comments-list/comments-list.component.spec.ts b/mocks/old-stuff/pages/voting/comments-list/comments-list.component.spec.ts deleted file mode 100644 index 62f337b1..00000000 --- a/mocks/old-stuff/pages/voting/comments-list/comments-list.component.spec.ts +++ /dev/null @@ -1,41 +0,0 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; - -import { CommentsListComponent } from './comments-list.component'; -import { FormsModule } from '@angular/forms'; -import { HttpClient, HttpClientModule } from '@angular/common/http'; -import { BrowserModule } from '@angular/platform-browser'; -import { CommonModule } from '@angular/common'; -import { ConfirmationService, MessageService } from 'primeng'; -import { Router } from '@angular/router'; -import { ConfigService } from '../../../services/config.service'; - -const routerSpy = jest.fn({ navigateByUrl: jest.fn() }); - -describe('CommentsListComponent', () => { - let component: CommentsListComponent; - let fixture: ComponentFixture; - - beforeEach(async(() => { - TestBed.configureTestingModule({ - imports: [FormsModule, BrowserModule, CommonModule, HttpClientModule], - declarations: [CommentsListComponent], - providers: [ - HttpClient, - MessageService, - ConfirmationService, - ConfigService, - { provide: Router, useValue: routerSpy }, - ], - }).compileComponents(); - })); - - beforeEach(() => { - fixture = TestBed.createComponent(CommentsListComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/mocks/old-stuff/pages/voting/comments-list/comments-list.component.ts b/mocks/old-stuff/pages/voting/comments-list/comments-list.component.ts deleted file mode 100644 index f679e95d..00000000 --- a/mocks/old-stuff/pages/voting/comments-list/comments-list.component.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { Component } from '@angular/core'; -import { ConfigService } from '../../../services/config.service'; - -@Component({ - selector: 'app-comments-list', - templateUrl: './comments-list.component.html', - styleUrls: ['./comments-list.component.scss'], -}) -export class CommentsListComponent { - constructor(public config: ConfigService) {} -} diff --git a/mocks/old-stuff/pages/voting/voting-choice/voting-choice.component.html b/mocks/old-stuff/pages/voting/voting-choice/voting-choice.component.html deleted file mode 100644 index b42d49f6..00000000 --- a/mocks/old-stuff/pages/voting/voting-choice/voting-choice.component.html +++ /dev/null @@ -1,147 +0,0 @@ -
- - - -
-
-
-
- {{ choice.text }} -
- - - - {{ choice.url }} - - - -
-
- {{ choice.date.date | date: 'EEE' }} - {{ choice.date.date | date: 'dd' }} - {{ choice.date.date | date: 'LLL' }} -
-
- {{ choice.date.date | date: 'H:m' }} -
-
- -
-
-
- - - - - - - - - -
-
-
-
-
- aucun vote -
- -
- Choix ayant reçu le plus de votes -
-
-
-
-
-
diff --git a/mocks/old-stuff/pages/voting/voting-choice/voting-choice.component.scss b/mocks/old-stuff/pages/voting/voting-choice/voting-choice.component.scss deleted file mode 100644 index c619c0b3..00000000 --- a/mocks/old-stuff/pages/voting/voting-choice/voting-choice.component.scss +++ /dev/null @@ -1,261 +0,0 @@ -// --------------------------------------------------------- -// -- VOTE CHOICE COMPONENT -// --------------------------------------------------------- - -// -- IMPORTS -// ---------------------------- - -@import '../../../../../src/styles/variables'; - -// -- VARIABLES -// ---------------------------- - -$box-padding: 2rem; -$box-border-width: 0.6rem; -$btn-size: 5rem; -$btn-margin-x: 1rem; -$btn-margin-y: 1.5rem; -$btn-wrap-size: calc(2 * #{$btn-size} + 4 * #{$btn-margin-x}); -$img-maxheight: 12rem; -$breakpoint-responsive: 640px; // à définir - -// -- GLOBAL -// ---------------------------- - -.choicebox { - position: relative; - min-height: 10rem; - display: block; - padding: $box-padding $box-padding $box-padding calc(#{$box-padding} - #{$box-border-width}); - border-left: $box-border-width solid transparent; - background-color: $white; - box-shadow: 0 0 0.6rem 0 rgba($black, 0.2); - - &--active { - padding-left: $box-padding; - border-left-color: $primary_color; - } - - &.selection-yes { - font-weight: 700; - background: #e9bdeb; - } -} - -.choicebox__subject { - margin-bottom: 3rem; - padding-right: $btn-wrap-size; - @media (min-width: $breakpoint-responsive) { - margin-bottom: 0; - padding-right: 0; - } -} - -// -- DATE -// ---------------------------- - -.choicebox__date { - font-size: 1.8rem; - margin-bottom: 0.5rem; - white-space: nowrap; - text-transform: capitalize; - - @media (min-width: $breakpoint-responsive) { - margin-bottom: 0; - } -} - -.choicebox__day { - font-size: 2.4rem; - font-weight: bold; -} - -// -- IMG -// ---------------------------- - -.choicebox__img { - max-width: 100%; - max-height: $img-maxheight; -} - -// -- TXT -// ---------------------------- - -.choicebox__txt { - margin: 0; - font-size: 1.8rem; - min-width: 10em; -} - -// -- VOTE BTNS -// ---------------------------- - -.choicebox__actions { - position: absolute; - z-index: 1; - - max-width: $btn-wrap-size; - top: 50%; - right: $box-padding; - - @media (min-width: $breakpoint-responsive) { - position: static; - max-width: none; - transform: none; - margin: 0 1.5rem; - } -} - -.choicebox__btn { - width: $btn-size; - height: $btn-size; - align-items: center; - justify-content: center; - margin: $btn-margin-y $btn-margin-x; - border: 0.3rem solid #ccc9c9; - background-color: transparent; - border-radius: 50%; - cursor: pointer; - float: left; - - &--maybe { - position: relative; - top: calc((#{$btn-size} + 2 * #{$btn-margin-y}) / 2); - @media (min-width: $breakpoint-responsive) { - top: auto; - left: auto; - } - } - &:focus, - &:active { - border-color: #bf83c2; - color: #bf83c2; - background: #000; - } - &--active { - border-color: #bf83c2; - } - - @media (min-width: $breakpoint-responsive) { - margin-top: 0; - margin-bottom: 0; - } -} - -// -- VOTE COUNT -// ---------------------------- - -.choicebox__count { - position: relative; - padding-right: $btn-wrap-size; - @media (min-width: $breakpoint-responsive) { - text-align: right; - padding-right: 0; - } -} - -.choicebox__votes { - border: 0; - padding: 0; - line-height: normal; - background-color: transparent; - @media (min-width: $breakpoint-responsive) { - padding: 1.5rem; - } -} - -.choicebox__vote { - display: inline-block; - vertical-align: middle; - - & + .choicebox__vote { - margin-left: 1.5rem; - } -} - -.choicebox__countxt { - display: none; - margin-top: 0.5rem; - - .choicebox--active & { - display: block; - @media (min-width: $breakpoint-responsive) { - display: none; - } - } -} - -// -- TOOLTIP -// ---------------------------- - -.choicebox__tooltip { - display: none; - @media (min-width: $breakpoint-responsive) { - position: absolute; - min-width: 18rem; - font-weight: normal; - top: 5rem; - left: 50%; - z-index: 1; - padding: 2rem; - border: 0.1rem solid rgba($black, 0.1); - background-color: $white; - text-align: left; - transform: translateX(-50%); - &::after, - &::before { - position: absolute; - width: 0; - height: 0; - bottom: 100%; - left: 50%; - content: ' '; - pointer-events: none; - border: solid transparent; - } - &::after { - margin-left: -1.5rem; - border-width: 1.5rem; - border-color: rgba($white, 0); - border-bottom-color: #fff; - } - &::before { - margin-left: -1.6rem; - border-width: 1.6rem; - border-color: rgba($black, 0); - border-bottom-color: rgba($black, 0.1); - } - ul { - margin: 0; - padding: 0; - list-style: none; - } - } -} - -.choicebox__tooltiplist { - & + .choicebox__tooltiplist { - padding-left: 3rem; - } - - ul { - max-height: 11rem; - overflow: auto; - } -} - -.choicebox__tooltipttl { - @media (min-width: $breakpoint-responsive) { - margin-bottom: 1rem; - font-size: 1.6rem; - font-weight: bold; - white-space: nowrap; - img { - margin-right: 0.5rem; - vertical-align: sub; - } - & ~ .choicebox__tooltipttl { - margin-top: 3rem; - } - } -} diff --git a/mocks/old-stuff/pages/voting/voting-choice/voting-choice.component.spec.ts b/mocks/old-stuff/pages/voting/voting-choice/voting-choice.component.spec.ts deleted file mode 100644 index 0df40949..00000000 --- a/mocks/old-stuff/pages/voting/voting-choice/voting-choice.component.spec.ts +++ /dev/null @@ -1,81 +0,0 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; -import { FormsModule } from '@angular/forms'; -import { HttpClient, HttpClientModule } from '@angular/common/http'; -import { BrowserModule } from '@angular/platform-browser'; -import { CommonModule } from '@angular/common'; -import { ConfirmationService, MessageService } from 'primeng'; -import { Router } from '@angular/router'; -import { ConfigService } from '../../../services/config.service'; -import { VotingChoiceComponent } from './voting-choice.component'; -import { mockChoice } from '../../../mocks/choice'; -import { mockPoll3 } from '../../../mocks/mock-poll3'; - -const routerSpy = jest.fn({ navigateByUrl: jest.fn() }); - -describe('VotingChoiceComponent', () => { - let component: VotingChoiceComponent; - let fixture: ComponentFixture; - - beforeEach(async(() => { - TestBed.configureTestingModule({ - imports: [FormsModule, BrowserModule, CommonModule, HttpClientModule], - declarations: [VotingChoiceComponent], - providers: [ - HttpClient, - MessageService, - ConfirmationService, - ConfigService, - { provide: Router, useValue: routerSpy }, - ], - }).compileComponents(); - })); - - beforeEach(() => { - fixture = TestBed.createComponent(VotingChoiceComponent); - component = fixture.componentInstance; - component.choice = { ...mockChoice }; - component.choices_count = mockPoll3.choices_count; - component.choice_id = mockChoice.id; - component.poll = mockPoll3.poll; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); - it('should have nothing specified as an answer by default', () => { - expect(component.choice.answer).toBeFalsy(); - }); - it('should set answer to yes', () => { - component.setAnswserTo('yes'); - expect(component.choice.answer).toBe('yes'); - }); - it('should set answer to maybe', () => { - component.setAnswserTo('maybe'); - expect(component.choice.answer).toBe('maybe'); - }); - it('should set answer to no', () => { - component.setAnswserTo('no'); - expect(component.choice.answer).toBe('no'); - }); - it('should set answer to no after 2 set on yes', () => { - component.setAnswserTo('yes'); - component.setAnswserTo('yes'); - expect(component.choice.answer).toBe('no'); - }); - it('should stay on maybe after 2 set on maybe', () => { - component.setAnswserTo('maybe'); - component.setAnswserTo('maybe'); - expect(component.choice.answer).toBe('maybe'); - }); - it('should stay on no after 2 set on no', () => { - component.setAnswserTo('no'); - component.setAnswserTo('no'); - expect(component.choice.answer).toBe('no'); - }); - it('should consider to have simple answer when allowedAnswers is only one answer long, which is yes', () => { - expect(component.poll.allowedAnswers[0]).toBe('yes'); - expect(component.poll.allowedAnswers.length).toBe(1); - expect(component.simpleAnswer).toBeTruthy(); - }); -}); diff --git a/mocks/old-stuff/pages/voting/voting-choice/voting-choice.component.ts b/mocks/old-stuff/pages/voting/voting-choice/voting-choice.component.ts deleted file mode 100644 index 38fe4609..00000000 --- a/mocks/old-stuff/pages/voting/voting-choice/voting-choice.component.ts +++ /dev/null @@ -1,64 +0,0 @@ -import { Component, ElementRef, Input } from '@angular/core'; -import { ConfigService } from '../../../services/config.service'; - -interface VoteChoice { - votes?: { - yes: number; - no: number; - maybe: number; - notAnswered: number; - }; - name?: string; - date?: Date; - answer: 'yes' | 'no' | 'maybe' | null; - simpleAnswer?: boolean; - false; // enable if we display only a togglable "yes" -} - -/** - * each vote choice takes a configuration from the container of all choices. - * this component is used to select a date choice, or a choice_label answer - */ -@Component({ - selector: 'app-voting-choice', - templateUrl: './voting-choice.component.html', - styleUrls: ['./voting-choice.component.scss'], -}) -export class VotingChoiceComponent { - public showChangeChoicebutton = false; - @Input() public choice: any; - @Input() public choices_count: any; - @Input() public choice_id: any; - @Input() public poll: any; - @Input() public simpleAnswer = true; - @Input() public pollIsSpecialDate = false; - - constructor(private el: ElementRef, private config: ConfigService) { - if (this.poll && this.poll.allowedAnswers) { - this.simpleAnswer = this.poll.allowedAnswers.length == 1; - } - } - - setAnswserTo(newAnswer: 'yes' | 'no' | 'maybe' | null) { - if (this.simpleAnswer) { - // only toggle yes to no - if (this.choice.answer && this.choice.answer === 'yes') { - this.choice.answer = 'no'; - this.config.myTempVoteStack--; - } else { - this.choice.answer = newAnswer; - this.config.myTempVoteStack++; - } - } else { - this.choice.answer = newAnswer; - if (this.choice.answer !== newAnswer) { - if (newAnswer == 'maybe' || newAnswer == 'yes') { - this.config.myTempVoteStack++; - } - } else { - console.info('same answer as before'); - } - } - this.el.nativeElement.blur(); - } -} diff --git a/mocks/old-stuff/pages/voting/voting-comment/voting-comment.component.html b/mocks/old-stuff/pages/voting/voting-comment/voting-comment.component.html deleted file mode 100644 index 9892ebab..00000000 --- a/mocks/old-stuff/pages/voting/voting-comment/voting-comment.component.html +++ /dev/null @@ -1,11 +0,0 @@ -
- {{ comment.pseudo }} , le - - {{ comment.date.date }} - -
-

- {{ comment.text }} -

-
-
diff --git a/mocks/old-stuff/pages/voting/voting-comment/voting-comment.component.scss b/mocks/old-stuff/pages/voting/voting-comment/voting-comment.component.scss deleted file mode 100644 index e69de29b..00000000 diff --git a/mocks/old-stuff/pages/voting/voting-comment/voting-comment.component.ts b/mocks/old-stuff/pages/voting/voting-comment/voting-comment.component.ts deleted file mode 100644 index 81b0e3ee..00000000 --- a/mocks/old-stuff/pages/voting/voting-comment/voting-comment.component.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { Component, Input, OnInit } from '@angular/core'; -import { mockComments } from '../../../mocks/mock-comments'; - -@Component({ - selector: 'app-voting-comment', - templateUrl: './voting-comment.component.html', - styleUrls: ['./voting-comment.component.scss'], -}) -export class VotingCommentComponent implements OnInit { - @Input() comment = mockComments[0]; - - constructor() {} - - ngOnInit(): void {} -} diff --git a/mocks/old-stuff/pages/voting/voting-graph/voting-graph.component.html b/mocks/old-stuff/pages/voting/voting-graph/voting-graph.component.html deleted file mode 100644 index 4538ee13..00000000 --- a/mocks/old-stuff/pages/voting/voting-graph/voting-graph.component.html +++ /dev/null @@ -1,2 +0,0 @@ -

Graphique

- diff --git a/mocks/old-stuff/pages/voting/voting-graph/voting-graph.component.scss b/mocks/old-stuff/pages/voting/voting-graph/voting-graph.component.scss deleted file mode 100644 index e69de29b..00000000 diff --git a/mocks/old-stuff/pages/voting/voting-graph/voting-graph.component.spec.ts b/mocks/old-stuff/pages/voting/voting-graph/voting-graph.component.spec.ts deleted file mode 100644 index bb5c4444..00000000 --- a/mocks/old-stuff/pages/voting/voting-graph/voting-graph.component.spec.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; - -import { VotingGraphComponent } from './voting-graph.component'; - -describe('VotingGraphComponent', () => { - let component: VotingGraphComponent; - let fixture: ComponentFixture; - - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [VotingGraphComponent], - }).compileComponents(); - })); - - beforeEach(() => { - fixture = TestBed.createComponent(VotingGraphComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/mocks/old-stuff/pages/voting/voting-graph/voting-graph.component.ts b/mocks/old-stuff/pages/voting/voting-graph/voting-graph.component.ts deleted file mode 100644 index c0798ef5..00000000 --- a/mocks/old-stuff/pages/voting/voting-graph/voting-graph.component.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { Component, OnInit } from '@angular/core'; -import { BaseComponent } from '../../example/base-page/base.component'; -import { ConfigService } from '../../../services/config.service'; - -@Component({ - selector: 'app-voting-graph', - templateUrl: './voting-graph.component.html', - styleUrls: ['./voting-graph.component.scss'], -}) -export class VotingGraphComponent extends BaseComponent implements OnInit { - constructor(public config: ConfigService) { - super(config); - } - - ngOnInit(): void {} -} diff --git a/mocks/old-stuff/pages/voting/voting-navigation/voting-navigation.component.html b/mocks/old-stuff/pages/voting/voting-navigation/voting-navigation.component.html deleted file mode 100644 index 9a7c50cd..00000000 --- a/mocks/old-stuff/pages/voting/voting-navigation/voting-navigation.component.html +++ /dev/null @@ -1,31 +0,0 @@ - diff --git a/mocks/old-stuff/pages/voting/voting-navigation/voting-navigation.component.scss b/mocks/old-stuff/pages/voting/voting-navigation/voting-navigation.component.scss deleted file mode 100644 index e69de29b..00000000 diff --git a/mocks/old-stuff/pages/voting/voting-navigation/voting-navigation.component.spec.ts b/mocks/old-stuff/pages/voting/voting-navigation/voting-navigation.component.spec.ts deleted file mode 100644 index 377e43ca..00000000 --- a/mocks/old-stuff/pages/voting/voting-navigation/voting-navigation.component.spec.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; - -import { VotingNavigationComponent } from './voting-navigation.component'; - -describe('VotingNavigationComponent', () => { - let component: VotingNavigationComponent; - let fixture: ComponentFixture; - - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [VotingNavigationComponent], - }).compileComponents(); - })); - - beforeEach(() => { - fixture = TestBed.createComponent(VotingNavigationComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/mocks/old-stuff/pages/voting/voting-navigation/voting-navigation.component.ts b/mocks/old-stuff/pages/voting/voting-navigation/voting-navigation.component.ts deleted file mode 100644 index eb5c58dd..00000000 --- a/mocks/old-stuff/pages/voting/voting-navigation/voting-navigation.component.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { Component } from '@angular/core'; -import { ConfigService } from '../../../services/config.service'; - -@Component({ - selector: 'app-voting-navigation', - templateUrl: './voting-navigation.component.html', - styleUrls: ['./voting-navigation.component.scss'], -}) -export class VotingNavigationComponent { - constructor(public config: ConfigService) {} -} diff --git a/mocks/old-stuff/pages/voting/voting-summary/voting-summary.component.html b/mocks/old-stuff/pages/voting/voting-summary/voting-summary.component.html deleted file mode 100644 index 70b11f0a..00000000 --- a/mocks/old-stuff/pages/voting/voting-summary/voting-summary.component.html +++ /dev/null @@ -1,149 +0,0 @@ -

Résumé

-
-
-

{{ config.currentPoll.poll.question }}

-

{{ config.currentPoll.poll.description }}

- Créé le {{ config.currentPoll.poll.creationDate.date }} - Expire le {{ config.currentPoll.poll.expiracyDate.date }} -
- - {{ config.currentPoll.stacks.length }} votants, {{ config.currentPoll.choices.length }} choix, -
-
-
-
- - Pour l'instant, - - les - - - le - - choix ayant reçu le plus grand nombre de votes ( {{ config.currentPoll.choices_count.maxScore }} points ) - - sont à égalité - - - est - - : - - {{ preferred }} - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Pseudo - - {{ choice.text }} -
points - {{ pollconfig.choices_count.counts[this.pollconfig.choices[2].id].score }} -
- - - id: {{ choice.id }} -
- - - - - - - -
- - -
- - - - - {{ voteStack.pseudo }} - - - yes - yes - -
-
- - - -
-

- Participation validée ! -

-

- Votre vote a bien été pris en compte, mais faites attention, ce sondage n'autorise l'édition de votre vote - qu'avec le lien personnalisé suivant : -

-
- {{ config.urlAdmin }} - -
-

Conservez-le précieusement !

-
- -
-
diff --git a/mocks/old-stuff/pages/voting/voting-summary/voting-summary.component.scss b/mocks/old-stuff/pages/voting/voting-summary/voting-summary.component.scss deleted file mode 100644 index 8fc60aa0..00000000 --- a/mocks/old-stuff/pages/voting/voting-summary/voting-summary.component.scss +++ /dev/null @@ -1,26 +0,0 @@ -@import '../../../../../src/styles/variables'; - -.person { - font-weight: 700; -} - -.preferred-result { - font-weight: 700; - font-size: 1.5em; -} - -thead { - font-size: 1.25em; - font-weight: 700; -} - -tbody { - text-align: right; -} - -td { - &.has-max-score { - background: $primary_color; - font-weight: 800; - } -} diff --git a/mocks/old-stuff/pages/voting/voting-summary/voting-summary.component.spec.ts b/mocks/old-stuff/pages/voting/voting-summary/voting-summary.component.spec.ts deleted file mode 100644 index 434d015e..00000000 --- a/mocks/old-stuff/pages/voting/voting-summary/voting-summary.component.spec.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; - -import { VotingSummaryComponent } from './voting-summary.component'; - -describe('VotingSummaryComponent', () => { - let component: VotingSummaryComponent; - let fixture: ComponentFixture; - - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [VotingSummaryComponent], - }).compileComponents(); - })); - - beforeEach(() => { - fixture = TestBed.createComponent(VotingSummaryComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/mocks/old-stuff/pages/voting/voting-summary/voting-summary.component.ts b/mocks/old-stuff/pages/voting/voting-summary/voting-summary.component.ts deleted file mode 100644 index 00c57034..00000000 --- a/mocks/old-stuff/pages/voting/voting-summary/voting-summary.component.ts +++ /dev/null @@ -1,51 +0,0 @@ -import { Component, Input, OnInit } from '@angular/core'; -import { ConfigService } from '../../../services/config.service'; -import { mockPoll3 } from '../../../mocks/mock-poll3'; - -@Component({ - selector: 'app-voting-summary', - templateUrl: './voting-summary.component.html', - styleUrls: ['./voting-summary.component.scss'], -}) -export class VotingSummaryComponent implements OnInit { - public displayConfirmVoteModalAdmin = false; - public preferred = 'rien'; - public severalPreferred = false; - - @Input() pollconfig = mockPoll3; - - constructor(public config: ConfigService) {} - - ngOnInit(): void { - this.computePreferred(); - } - - getKeys(obj) { - return Object.keys(obj); - } - - /** - * find the most "yes" - */ - computePreferred() { - const keys = Object.keys(this.pollconfig.choices_count.counts); - this.preferred = ''; - this.severalPreferred = false; - const maxScore = this.pollconfig.choices_count.maxScore; - - keys.forEach((item) => { - if (maxScore === this.pollconfig.choices_count.counts[item].score) { - if (this.preferred.length) { - this.preferred += ', '; - this.severalPreferred = true; - } - // find the favourite - this.preferred += this.pollconfig.choices_count.counts[item].choice_text; - } - }); - } - - toggleModalDialogVisibility(): void { - this.displayConfirmVoteModalAdmin = !this.displayConfirmVoteModalAdmin; - } -} diff --git a/mocks/old-stuff/pages/voting/voting.component.html b/mocks/old-stuff/pages/voting/voting.component.html deleted file mode 100644 index 71b6bfc6..00000000 --- a/mocks/old-stuff/pages/voting/voting.component.html +++ /dev/null @@ -1,10 +0,0 @@ -
- - -

Les commentaires

-

- Pikachu - le 26 novembre 2019 - Rock Luxio Surskit. Glacier Badge -

-
diff --git a/mocks/old-stuff/pages/voting/voting.component.scss b/mocks/old-stuff/pages/voting/voting.component.scss deleted file mode 100644 index e69de29b..00000000 diff --git a/mocks/old-stuff/pages/voting/voting.component.spec.ts b/mocks/old-stuff/pages/voting/voting.component.spec.ts deleted file mode 100644 index 3e18c552..00000000 --- a/mocks/old-stuff/pages/voting/voting.component.spec.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; - -import { VotingComponent } from './voting.component'; - -describe('VotingComponent', () => { - let component: VotingComponent; - let fixture: ComponentFixture; - - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [VotingComponent], - }).compileComponents(); - })); - - beforeEach(() => { - fixture = TestBed.createComponent(VotingComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/mocks/old-stuff/pages/voting/voting.component.ts b/mocks/old-stuff/pages/voting/voting.component.ts deleted file mode 100644 index 18820311..00000000 --- a/mocks/old-stuff/pages/voting/voting.component.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { Component, OnInit } from '@angular/core'; - -@Component({ - selector: 'app-voting', - templateUrl: './voting.component.html', - styleUrls: ['./voting.component.scss'], -}) -export class VotingComponent implements OnInit { - show_mask = true; - constructor() {} - - ngOnInit(): void {} -} diff --git a/mocks/old-stuff/services/config.service.ts b/mocks/old-stuff/services/config.service.ts deleted file mode 100644 index 9c238d9f..00000000 --- a/mocks/old-stuff/services/config.service.ts +++ /dev/null @@ -1,2039 +0,0 @@ -import { HttpClient } from '@angular/common/http'; -import { Injectable } from '@angular/core'; -import { Router } from '@angular/router'; -import { ConfirmationService } from 'primeng/api'; - -import { environment } from '../../../src/environments/environment'; -import { ToastService } from '../../../src/app/core/services/toast.service'; -import { PollConfig } from '../config/PollConfig'; -import { PollUtilitiesService } from '../../../src/app/core/services/poll.utilities.service'; -import { mockPoll3 } from '../mocks/mock-poll3'; -import { mockSuccessVote } from '../mocks/mock-success-vote'; -import { mockMyPolls } from '../mocks/mockmypolls'; - -/** - * le service transverse à chaque page qui permet de syncroniser la configuration de sondage souhaitée - */ -@Injectable({ - providedIn: 'root', -}) -export class ConfigService extends PollConfig { - loading = false; - apiBaseHref: any = environment.api.baseHref; - pollSlug: string; - - constructor( - private http: HttpClient, - private toastService: ToastService, - private router: Router, - private utils: PollUtilitiesService, - private confirmationService: ConfirmationService - ) { - super(); - this.fillValuesOnDevEnv(); - } - - set(key, val) { - // TODO: à supprimer - this[key] = val; - } - - // fill in mock values if we are not in production environment - fillValuesOnDevEnv() { - if (!environment.production) { - // TODO: on poussera les données mockées directement dans le service avec un .next(mockPoll3) - this.currentPoll = mockPoll3; - this.myPolls = mockMyPolls; - } - } - - /** - * add some dateChoices to a date, to compute intervals - * @param days - * @param date - */ - addDaysToDate(days: number, date: Date) { - // TODO: -> DateUtilsService - date = new Date(date.valueOf()); - date.setDate(date.getDate() + days); - return date; - } - - /** ================================== - * - * poll public calls to get non authenticated info - * - * ==================================/ - /** - * convert current poll config to a payload to send to the backend API - */ - getPollConfig() { - // TODO: la logique m'échappe. Un service ne devrait pas étendre une entité. - const jsonConfig = { - owner: { - email: this.myEmail, - pseudo: this.myName, - }, - title: this.title, - description: this.description, - pollType: this.pollType, - visibility: this.visibility, - voteChoices: this.voteChoices, - allowSeveralHours: this.allowSeveralHours, - expirationDate: this.expirationDate, - passwordAccess: this.passwordAccess, - password: this.password, - customUrl: this.customUrl, - canModifyAnswers: this.canModifyAnswers, - dateList: this.dateList, - timeList: this.timeList, - answers: this.answers, - expiracyDateDefaultInDays: this.expiracyDateDefaultInDays, - deletionDateAfterLastModification: this.deletionDateAfterLastModification, - }; - return jsonConfig; - } - - checkIfSlugIsUniqueInDatabase(slug = '') { - // TODO: http requests moved to apiService - this.customUrlIsUnique = null; - if (!slug) { - slug = 'un custom_url'; - } - - this.loading = true; - // TODO - this.todo('check custom_url is unique'); - this.http - .get(`${this.apiBaseHref}/check-slug-is-uniq/${slug}`, this.utils.makeHeaders({ slug: this.customUrl })) - .subscribe( - (res: any) => { - this.customUrlIsUnique = res.poll.isUnique; - this.loading = false; - }, - (e) => this.handleError(e) - ); - } - - /** - * search in localstorage, fallback asking the backend to send an email to the owner if it exists - * @param email - */ - findPollsByEmail(email: string) { - // TODO: http requests moved to apiService - - this.findLocalStorageData(); - // If no key is found in the localstorage, ask the backend to send an email to the user - - this.myEmail = email; - - this.todo('send email for real : TODO'); - this.loading = true; - this.http.get(`${this.apiBaseHref}/send-polls-to-user/${this.myEmail}`, this.utils.makeHeaders()).subscribe( - (res) => { - // message: 'Trouvé! Allez voir votre boite email', - this.myPolls = res; - this.loading = false; - this.toastService.display( - `Succès : vos infos de sondages vous ont été transmises. Allez voir votre boite email ${this.myEmail}` - ); - }, - (e) => { - this.handleError(e); - } - ); - } - - /** - * display error message depending on the response of the backend - * @param err - */ - handleError(err: any) { - // TODO: inutile, l'utilisateur ne veut pas savoir ce que le backend répond - console.error('err', err); - this.loading = false; - this.toastService.display(`Erreur lors de l'appel : ${err.message}`); - } - - findLocalStorageData() { - // TODO check if the person has a key to retrieve her polls - console.log('localStorage', localStorage); - if (localStorage) { - console.log('localStorage', localStorage); - } - } - - /** - * get one poll by its custom_url choice_label - * @param url - */ - getPollByURL(url: string) { - // TODO: http requests moved to apiService - this.todo(); - return this.http.get(`${this.apiBaseHref}/poll/slug/${url}`, this.utils.makeHeaders()); - } - - /** - * GET - * api/v1/poll/{id} - * @param id - */ - getPollById(id: string, password?: string) { - // TODO: http requests moved to apiService - return this.http.get(`${this.apiBaseHref}/poll/${id}`, this.utils.makeHeaders({ body: password })); - } - - fetchPollFromRoute(event) { - // console.log('time to fetch poll', event); - } - - /** - * GET - * api/v1/my-polls - * @param ownerEmail - */ - getMyPolls(ownerEmail: string) { - // TODO: http requests moved to apiService - this.http.get(`${this.apiBaseHref}/my-polls`, this.utils.makeHeaders({ ownerEmail })).subscribe( - (res: any) => { - // this.myPolls = res.poll; - }, - (e) => { - this.handleError(e); - } - ); - } - - /** - * launch creation call to the api - */ - createPoll() { - // TODO: to be dispatched between pollService & AdministrationModule - this.loading = true; - this.createPollFromConfig(this.getPollConfig()); - } - - updateCurrentPollFromResponse(res: any) { - // TODO: handled by ApiService & PollService - console.log('update res', res); - this.currentPoll = res; - this.pollId = res.poll.id; - this.owner_modifier_token = res.owner_modifier_token; - this.urlPublic = this.apiBaseHref + '/vote/poll/id/' + res.poll.id; - this.urlSlugPublic = this.apiBaseHref + '/vote/poll/custom_url/' + res.poll.id; - if (res.poll.customUrl) { - this.urlSlugPublic = this.apiBaseHref + '/vote/poll/id/' + res.poll.customUrl; - } - if (res.vote_stack) { - this.loadVoteStack(res.vote_stack); - } - this.adminKey = res.admin_key; - this.urlAdmin = this.apiBaseHref + '/admin/' + res.admin_key; - } - - resetCurrentChoicesAnswers() { - // TODO: to be handled directly in component - this.currentPoll.choices.map((choice) => { - choice.answer = null; - }); - } - - /** - * update current answers with a previous vote - * @param voteStack - */ - loadVoteStack(voteStack: any) { - // TODO: to be handled in component (ParticipationModule) - // load the pseudo and email - this.myName = voteStack.pseudo; - this.myEmail = voteStack.email; - this.voteStackId = voteStack.id; - this.myVoteStack = voteStack; - const keys = Object.keys(voteStack.votes); - console.log('voteStack', voteStack); - this.resetCurrentChoicesAnswers(); - keys.forEach((id: any) => { - const voteItem = voteStack.votes[id]; - /** - * the display of the poll uses the choices data, so we update the choices answers of the current poll to reflect the vote stack we have taken - */ - if (voteItem.choice_id && voteItem.value) { - const foundChoiceToModify = this.currentPoll.choices.find((choicesItem) => { - return voteItem.choice_id == choicesItem.id; - }); - console.log('foundChoiceToModify', foundChoiceToModify); - if (foundChoiceToModify) { - foundChoiceToModify.answer = voteItem.value; - } - } - }); - } - - /** - * POST - * /api/v1/poll/{id}/poll - * @param config - */ - createPollFromConfig(config: any) { - // TODO: http requests moved to apiService - this.loading = true; - console.log('config', config); - return this.http.post(`${this.apiBaseHref}/poll`, config, this.utils.makeHeaders()).subscribe( - (res: any) => { - // redirect to the page to administrate the new poll - this.toastService.display('Sondage Créé'); - - this.updateCurrentPollFromResponse(res); - - this.loading = false; - if (!this.myPolls) { - this.myPolls = []; - } - this.myPolls.push(res); - this.router.navigate(['step/end']); - // TODO save new poll to localstorage - // reset all fields in current config - this.resetConfig(); - }, - (e) => { - this.handleError(e); - } - ); - } - - /** - * conversion to send to back - * @param choiceList - */ - convertChoicesAnsweredToSend(choiceList) { - // TODO: move logic to a component (ParticipationModule) - choiceList = choiceList.filter((c) => (c.answer ? c : null)); // remove choices where we did not answer - const converted = choiceList.map((elem) => { - if (elem.answer) { - return { - choice_id: elem.id, - value: elem.answer, - }; - } - }); - console.log('converted', converted); - return converted; - } - - /** - * POST - * /api/v1/poll/{id}/vote - * @param voteStack - */ - addVote(voteStack?: any) { - // TODO: move logic to a component (ParticipationModule) - // TODO: http request moved to ApiService - if (!voteStack) { - voteStack = { - pseudo: this.myName, - email: this.myEmail, - votes: this.convertChoicesAnsweredToSend(this.currentPoll.choices), - }; - } - this.myVoteStack = voteStack; - - if (!environment.production) { - this.handleVoteAdded(mockSuccessVote); - return; - } - this.http.post(`${this.apiBaseHref}/poll/${this.pollId}/vote`, voteStack, this.utils.makeHeaders()).subscribe( - (res: any) => { - this.handleVoteAdded(res); - }, - (e) => { - this.handleError(e); - } - ); - } - - handleVoteAdded(res) { - if (this.isAdmin) { - // TODO : REFACTO, displayConfirmVoteModalAdmin exists only in voting-summary.component - // this.displayConfirmVoteModalAdmin = true; - } - // save modifier token - this.myVoteStack.modifier_token = res.modifier_token; - this.myVoteStack.id = res.vote_stack.id; - this.updateCurrentPollFromResponse(res); - } - - /** - * UPDATE - * /api/v1/poll/{id}/vote - * @param voteStack - */ - updateVote(voteStack?: any) { - if (!this.myVoteStack) { - return; - } else { - voteStack = this.myVoteStack; - } - this.http - .patch( - `${this.apiBaseHref}/vote-stack/${voteStack.id}/token/${this.owner_modifier_token}`, - voteStack, - this.utils.makeHeaders() - ) - .subscribe( - (res: any) => { - this.toastService.display('Vote mis à jour'); - this.updateCurrentPollFromResponse(res); - }, - (e) => { - this.handleError(e); - } - ); - } - - /** - * POST - * /api/v1/poll/{id}/comment - * @param comment - */ - addComment(comment?: any) { - if (!comment && this.myComment) { - comment = { - name: this.myName, - pseudo: this.myName, - email: this.myEmail, - date: new Date(), - text: this.myComment, - }; - } - console.log('comment', comment); - this.http.post(`${this.apiBaseHref}/poll/${this.pollId}/comment`, comment, this.utils.makeHeaders()).subscribe( - (res: any) => { - this.toastService.display(`Commentaire créé: ${comment.text}`); - // empty comment after success - this.myComment = ''; - comment.date = { - date: comment.date, - }; - this.currentPoll.comments.push(comment); - }, - (e) => { - this.handleError(e); - } - ); - } - - /** - * administrator calls - */ - - deleteComments() { - // prompt for confirmation - this.confirmationService.confirm({ - message: - 'Are you sure that you want to completely delete the comments of this poll (' + - this.title + - ') permanentely?', - accept: () => { - this.http - .delete(`${this.apiBaseHref}/poll/${this.pollId}/comments`, this.utils.makeHeaders()) - .subscribe( - (res: any) => { - this.toastService.display(`Les commentaires du sondage ${this.title} ont été supprimés`); - }, - (e) => { - this.handleError(e); - } - ); - }, - }); - } - - deleteVotes() { - // prompt for confirmation - this.confirmationService.confirm({ - message: - 'Are you sure that you want to completely delete the votes of this poll (' + - this.title + - ') permanentely?', - accept: () => { - this.http.delete(`${this.apiBaseHref}/poll/${this.pollId}/votes`, this.utils.makeHeaders()).subscribe( - (res: any) => { - this.toastService.display(`Les participations aux sondage ${this.title} ont été supprimées.`); - }, - (e) => { - this.handleError(e); - } - ); - }, - }); - } - - deletePoll() { - if (!this.pollId) { - this.toastService.display(`this poll is not administrable, it has no ID`); - return; - } - - // eslint-disable-next-line @typescript-eslint/no-this-alias - const self = this; - // prompt for confirmation - this.confirmationService.confirm({ - message: - 'Are you sure that you want to completely delete this poll (' + - self.title + - ') and all is data permanentely?', - accept: () => { - this.http.delete(`${this.apiBaseHref}/poll/${this.pollId}`, this.utils.makeHeaders()).subscribe( - (res: any) => { - this.toastService.display(`Le sondage ${this.title} a été supprimé.`); - - this.router.navigate(['home']); - }, - (e) => { - this.handleError(e); - } - ); - }, - }); - } - - /** - * UPDATE - * /api/v1/poll/{id}/vote - * @param voteStack - * TODO - */ - updatePoll(voteStack: any) { - this.http.put(`${this.apiBaseHref}/poll/${this.pollId}`, voteStack, this.utils.makeHeaders()).subscribe( - (res: any) => { - this.toastService.display(`Le sondage a été mis à jour.`); - this.updateCurrentPollFromResponse(res); - }, - (e) => { - this.handleError(e); - } - ); - } - - /** - * export all the poll data available to the public as a CSV single file - */ - exportCSV() { - let rows = []; - const now = new Date(); - const headers = [ - ['export de sondage Framadate ', this.customUrl], - ['le', now.toISOString()], - [this.currentPoll.pollId, this.currentPoll.title, this.customUrl, this.creationDate], - ['pseudo'], - ]; - - const listOfChoices = ['choices : ']; - this.currentPoll.choices.map((choice) => { - listOfChoices.push(choice.text); - }); - listOfChoices.push('pseudo'); - - this.currentPoll.stacks.map((voteStack) => { - const voteStackInArray = [voteStack.pseudo]; - const keysVotes = Object.keys(voteStack.votes); - - keysVotes.map((id) => { - voteStackInArray.push(voteStack.votes[id].value ? voteStack.votes[id].value : ''); - }); - rows.push(voteStackInArray); - }); - const headersComments = [['comments'], ['pseudo', 'text', 'creation_date']]; - const comments = []; - this.currentPoll.comments.map((item) => { - comments.push([item.pseudo, item.text, item.date.date, '\n']); - }); - headers.push(listOfChoices); - rows = [headers, listOfChoices, rows, headersComments, comments]; - - const convertedCsv = rows - .map((elem) => { - console.log('elem', elem); - return elem - .map((item) => { - console.log('item', item); - if (typeof item === typeof Array) { - return item.join('\n'); - } - return item; - }) - .join('\n'); - }) - .join('\n'); - console.log('rows', rows); - console.log('convertedCsv', convertedCsv); - - const csvContent = 'data:text/csv;charset=utf-8,' + convertedCsv; - console.log('csvContent', csvContent); - const encodedUri = encodeURI(csvContent); - const link = document.createElement('a'); - link.setAttribute('href', encodedUri); - const exportFileName = this.urlPublic ? this.urlPublic : 'un_slug' + '_export_' + new Date() + '.csv'; - link.setAttribute('download', exportFileName); - document.body.appendChild(link); // Required for FF - link.click(); // This will download the data file named "my_data.csv". - } - - exportJson() { - this.download( - 'export_poll_' + this.pollSlug + '.json', - JSON.stringify({ - export_date: new Date(), - creation_date: this.creationDate, - title: this.title, - description: this.description, - pollType: this.pollType, - urlPublic: this.urlPublic, - currentPoll: this.currentPoll, - votes: this.voteChoices, - }) - ); - } - - download(filename, text) { - const element = document.createElement('a'); - element.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(text)); - element.setAttribute('download', filename); - - element.style.display = 'none'; - document.body.appendChild(element); - - element.click(); - - document.body.removeChild(element); - } - - print() { - alert('TODO'); - } - - todo(message = '') { - this.toastService.display( - `INFO : ${message}. - Cette fonctionnalité n'est pas encore disponible. Venez en discuter sur framateam.org / Ux et design libre / Framasoft` - ); - } - - execStuff() { - const mockResponse = { - message: 'you created a vote stack from an existing owner : tktest@tktest.com', - poll: { - id: 3, - title: 'dessin animé préféré', - customUrl: null, - description: 'choisissez votre animé préféré', - creationDate: { - date: '2020-01-22 14:28:19.000000', - timezone_type: 3, - timezone: 'Europe/Paris', - }, - expiracyDate: { - date: '2020-01-22 14:28:19.000000', - timezone_type: 3, - timezone: 'Europe/Paris', - }, - owner: { - __initializer__: null, - __cloner__: null, - __isInitialized__: true, - pseudo: 'tk_TEST', - email: 'tktest@tktest.com', - }, - kind: 'text', - allowedAnswers: ['yes'], - modificationPolicy: 'self', - mailOnComment: null, - mailOnVote: null, - hideResults: null, - showResultEvenIfPasswords: null, - votes: {}, - stacksOfVotes: {}, - choices: {}, - comments: {}, - defaultExpiracyDaysFromNow: 60, - }, - vote_stack: { - id: 43, - modifier_token: - 'b88Qnb1A515Sfedee8b74d726A32444m87cn9Zc0f9t6Ued516f76235V93tBKcJVJearh061S8I0o5l24wbIaMe2v4wg76dhEBBi9m-28Qa601b664L', - pseudo: 'tk_TEST', - creation_date: { - date: '2020-04-02 17:55:45.201475', - timezone_type: 3, - timezone: 'Europe/Paris', - }, - votes: { - 5: { - id: 93, - value: 'yes', - choice_id: 5, - text: 'Vic le viking', - stack_id: 43, - }, - 6: { - id: 94, - value: 'yes', - choice_id: 6, - text: 'Boumbo petite automobile', - stack_id: 43, - }, - 7: { - id: 95, - value: 'yes', - choice_id: 7, - text: "Les mystérieuses cités d'or", - stack_id: 43, - }, - 8: { - id: 96, - value: 'yes', - choice_id: 8, - text: 'Les mondes engloutis', - stack_id: 43, - }, - 9: { - id: 97, - value: 'yes', - choice_id: 9, - text: 'Foot 2 rue', - stack_id: 43, - }, - 10: { - choice_id: 10, - }, - 11: { - choice_id: 11, - }, - }, - }, - stacks: [ - { - id: 3, - modifier_token: - 'sfdH00Fy17bt5c3Y5zYk5GDsX7Cl67cgec14Qd06V87g74JFOr2UOC2ZL8E919eBmI72W8f5keYDeWfrV7SQW35fw0Vg452k25w9BrS62MtOs89JjLQ', - pseudo: 'voting_people_TEST', - creation_date: { - date: '2020-01-22 14:28:19.000000', - timezone_type: 3, - timezone: 'Europe/Paris', - }, - votes: { - 5: { - choice_id: 5, - }, - 6: { - id: 5, - value: 'maybe', - choice_id: 6, - text: 'Boumbo petite automobile', - stack_id: 3, - }, - 7: { - id: 4, - value: 'yes', - choice_id: 7, - text: "Les mystérieuses cités d'or", - stack_id: 3, - }, - 8: { - choice_id: 8, - }, - 9: { - choice_id: 9, - }, - 10: { - choice_id: 10, - }, - 11: { - choice_id: 11, - }, - }, - }, - { - id: 4, - modifier_token: - 'sfdH00Fy17bt5c3Y5zYk5GDsX7Cl67cgec14Qd06V87g74JFOr2UOC2ZL8E919eBmI72W8f5keYDeWfrV7SQW35fw0Vg452k25w9BrS62MtOs89JjLQ', - pseudo: 'voting_people_TEST', - creation_date: { - date: '2020-01-22 14:28:19.000000', - timezone_type: 3, - timezone: 'Europe/Paris', - }, - votes: { - 5: { - choice_id: 5, - }, - 6: { - id: 6, - value: 'yes', - choice_id: 6, - text: 'Boumbo petite automobile', - stack_id: 4, - }, - 7: { - id: 8, - value: 'no', - choice_id: 7, - text: "Les mystérieuses cités d'or", - stack_id: 4, - }, - 8: { - choice_id: 8, - }, - 9: { - choice_id: 9, - }, - 10: { - choice_id: 10, - }, - 11: { - choice_id: 11, - }, - }, - }, - { - id: 5, - modifier_token: - 'sfdH00Fy17bt5c3Y5zYk5GDsX7Cl67cgec14Qd06V87g74JFOr2UOC2ZL8E919eBmI72W8f5keYDeWfrV7SQW35fw0Vg452k25w9BrS62MtOs89JjLQ', - pseudo: 'voting_people_TEST', - creation_date: { - date: '2020-01-22 16:00:50.000000', - timezone_type: 3, - timezone: 'Europe/Paris', - }, - votes: { - 5: { - id: 9, - value: 'no', - choice_id: 5, - text: 'Vic le viking', - stack_id: 5, - }, - 6: { - id: 10, - value: 'maybe', - choice_id: 6, - text: 'Boumbo petite automobile', - stack_id: 5, - }, - 7: { - id: 11, - value: 'yes', - choice_id: 7, - text: "Les mystérieuses cités d'or", - stack_id: 5, - }, - 8: { - choice_id: 8, - }, - 9: { - choice_id: 9, - }, - 10: { - choice_id: 10, - }, - 11: { - choice_id: 11, - }, - }, - }, - { - id: 6, - modifier_token: - 'W1275k1tOh7CA9e9F0VbD58teW3Z451848Sh14imcr90QY1d3tK415mHw9Ib8II8S91F2n8dhk135-20d9cT2mX3UfZ92aeuQdwcj32e17E0bc50fp3d', - pseudo: '', - creation_date: { - date: '2020-01-22 16:01:10.000000', - timezone_type: 3, - timezone: 'Europe/Paris', - }, - votes: { - 5: { - id: 12, - value: 'yes', - choice_id: 5, - text: 'Vic le viking', - stack_id: 6, - }, - 6: { - id: 13, - value: 'maybe', - choice_id: 6, - text: 'Boumbo petite automobile', - stack_id: 6, - }, - 7: { - id: 14, - value: 'no', - choice_id: 7, - text: "Les mystérieuses cités d'or", - stack_id: 6, - }, - 8: { - choice_id: 8, - }, - 9: { - choice_id: 9, - }, - 10: { - choice_id: 10, - }, - 11: { - choice_id: 11, - }, - }, - }, - { - id: 7, - modifier_token: - 'b88Qnb1A515Sfedee8b74d726A32444m87cn9Zc0f9t6Ued516f76235V93tBKcJVJearh061S8I0o5l24wbIaMe2v4wg76dhEBBi9m-28Qa601b664L', - pseudo: 'tk_TEST', - creation_date: { - date: '2020-01-23 16:19:29.000000', - timezone_type: 3, - timezone: 'Europe/Paris', - }, - votes: { - 5: { - choice_id: 5, - }, - 6: { - id: 15, - value: 'yes', - choice_id: 6, - text: 'Boumbo petite automobile', - stack_id: 7, - }, - 7: { - choice_id: 7, - }, - 8: { - choice_id: 8, - }, - 9: { - choice_id: 9, - }, - 10: { - id: 16, - value: 'yes', - choice_id: 10, - text: "Le chat, la vache, et l'océan", - stack_id: 7, - }, - 11: { - choice_id: 11, - }, - }, - }, - { - id: 12, - modifier_token: - 'b88Qnb1A515Sfedee8b74d726A32444m87cn9Zc0f9t6Ued516f76235V93tBKcJVJearh061S8I0o5l24wbIaMe2v4wg76dhEBBi9m-28Qa601b664L', - pseudo: 'tk_TEST', - creation_date: { - date: '2020-01-24 11:34:54.000000', - timezone_type: 3, - timezone: 'Europe/Paris', - }, - votes: { - 5: { - id: 21, - value: 'yes', - choice_id: 5, - text: 'Vic le viking', - stack_id: 12, - }, - 6: { - choice_id: 6, - }, - 7: { - choice_id: 7, - }, - 8: { - choice_id: 8, - }, - 9: { - choice_id: 9, - }, - 10: { - choice_id: 10, - }, - 11: { - id: 22, - value: 'yes', - choice_id: 11, - text: 'Digimon', - stack_id: 12, - }, - }, - }, - { - id: 13, - modifier_token: - 'b88Qnb1A515Sfedee8b74d726A32444m87cn9Zc0f9t6Ued516f76235V93tBKcJVJearh061S8I0o5l24wbIaMe2v4wg76dhEBBi9m-28Qa601b664L', - pseudo: 'tk_TEST', - creation_date: { - date: '2020-01-24 12:00:47.000000', - timezone_type: 3, - timezone: 'Europe/Paris', - }, - votes: { - 5: { - choice_id: 5, - }, - 6: { - id: 23, - value: 'yes', - choice_id: 6, - text: 'Boumbo petite automobile', - stack_id: 13, - }, - 7: { - id: 24, - value: 'yes', - choice_id: 7, - text: "Les mystérieuses cités d'or", - stack_id: 13, - }, - 8: { - choice_id: 8, - }, - 9: { - id: 25, - value: 'yes', - choice_id: 9, - text: 'Foot 2 rue', - stack_id: 13, - }, - 10: { - choice_id: 10, - }, - 11: { - choice_id: 11, - }, - }, - }, - { - id: 14, - modifier_token: - 'b88Qnb1A515Sfedee8b74d726A32444m87cn9Zc0f9t6Ued516f76235V93tBKcJVJearh061S8I0o5l24wbIaMe2v4wg76dhEBBi9m-28Qa601b664L', - pseudo: 'tk_TEST', - creation_date: { - date: '2020-01-24 12:01:47.000000', - timezone_type: 3, - timezone: 'Europe/Paris', - }, - votes: { - 5: { - id: 26, - value: 'yes', - choice_id: 5, - text: 'Vic le viking', - stack_id: 14, - }, - 6: { - choice_id: 6, - }, - 7: { - choice_id: 7, - }, - 8: { - choice_id: 8, - }, - 9: { - choice_id: 9, - }, - 10: { - choice_id: 10, - }, - 11: { - choice_id: 11, - }, - }, - }, - { - id: 15, - modifier_token: - 'b88Qnb1A515Sfedee8b74d726A32444m87cn9Zc0f9t6Ued516f76235V93tBKcJVJearh061S8I0o5l24wbIaMe2v4wg76dhEBBi9m-28Qa601b664L', - pseudo: 'tk_TEST', - creation_date: { - date: '2020-01-24 12:07:15.000000', - timezone_type: 3, - timezone: 'Europe/Paris', - }, - votes: { - 5: { - choice_id: 5, - }, - 6: { - id: 27, - value: 'yes', - choice_id: 6, - text: 'Boumbo petite automobile', - stack_id: 15, - }, - 7: { - choice_id: 7, - }, - 8: { - choice_id: 8, - }, - 9: { - choice_id: 9, - }, - 10: { - choice_id: 10, - }, - 11: { - choice_id: 11, - }, - }, - }, - { - id: 16, - modifier_token: - 'b88Qnb1A515Sfedee8b74d726A32444m87cn9Zc0f9t6Ued516f76235V93tBKcJVJearh061S8I0o5l24wbIaMe2v4wg76dhEBBi9m-28Qa601b664L', - pseudo: 'tk_TEST', - creation_date: { - date: '2020-01-24 12:08:58.000000', - timezone_type: 3, - timezone: 'Europe/Paris', - }, - votes: { - 5: { - choice_id: 5, - }, - 6: { - id: 28, - value: 'yes', - choice_id: 6, - text: 'Boumbo petite automobile', - stack_id: 16, - }, - 7: { - choice_id: 7, - }, - 8: { - choice_id: 8, - }, - 9: { - choice_id: 9, - }, - 10: { - choice_id: 10, - }, - 11: { - choice_id: 11, - }, - }, - }, - { - id: 17, - modifier_token: - 'b88Qnb1A515Sfedee8b74d726A32444m87cn9Zc0f9t6Ued516f76235V93tBKcJVJearh061S8I0o5l24wbIaMe2v4wg76dhEBBi9m-28Qa601b664L', - pseudo: 'tk_TEST', - creation_date: { - date: '2020-01-24 12:09:15.000000', - timezone_type: 3, - timezone: 'Europe/Paris', - }, - votes: { - 5: { - choice_id: 5, - }, - 6: { - choice_id: 6, - }, - 7: { - id: 29, - value: 'yes', - choice_id: 7, - text: "Les mystérieuses cités d'or", - stack_id: 17, - }, - 8: { - choice_id: 8, - }, - 9: { - choice_id: 9, - }, - 10: { - choice_id: 10, - }, - 11: { - choice_id: 11, - }, - }, - }, - { - id: 18, - modifier_token: - 'b88Qnb1A515Sfedee8b74d726A32444m87cn9Zc0f9t6Ued516f76235V93tBKcJVJearh061S8I0o5l24wbIaMe2v4wg76dhEBBi9m-28Qa601b664L', - pseudo: 'tk_TEST', - creation_date: { - date: '2020-01-24 12:15:45.000000', - timezone_type: 3, - timezone: 'Europe/Paris', - }, - votes: { - 5: { - choice_id: 5, - }, - 6: { - choice_id: 6, - }, - 7: { - id: 30, - value: 'yes', - choice_id: 7, - text: "Les mystérieuses cités d'or", - stack_id: 18, - }, - 8: { - choice_id: 8, - }, - 9: { - choice_id: 9, - }, - 10: { - choice_id: 10, - }, - 11: { - choice_id: 11, - }, - }, - }, - { - id: 19, - modifier_token: - 'b88Qnb1A515Sfedee8b74d726A32444m87cn9Zc0f9t6Ued516f76235V93tBKcJVJearh061S8I0o5l24wbIaMe2v4wg76dhEBBi9m-28Qa601b664L', - pseudo: 'tk_TEST', - creation_date: { - date: '2020-01-24 12:16:50.000000', - timezone_type: 3, - timezone: 'Europe/Paris', - }, - votes: { - 5: { - id: 31, - value: 'yes', - choice_id: 5, - text: 'Vic le viking', - stack_id: 19, - }, - 6: { - id: 32, - value: 'yes', - choice_id: 6, - text: 'Boumbo petite automobile', - stack_id: 19, - }, - 7: { - id: 33, - value: 'yes', - choice_id: 7, - text: "Les mystérieuses cités d'or", - stack_id: 19, - }, - 8: { - choice_id: 8, - }, - 9: { - choice_id: 9, - }, - 10: { - choice_id: 10, - }, - 11: { - choice_id: 11, - }, - }, - }, - { - id: 25, - modifier_token: - 'b88Qnb1A515Sfedee8b74d726A32444m87cn9Zc0f9t6Ued516f76235V93tBKcJVJearh061S8I0o5l24wbIaMe2v4wg76dhEBBi9m-28Qa601b664L', - pseudo: 'tk_TEST', - creation_date: { - date: '2020-01-29 17:55:42.000000', - timezone_type: 3, - timezone: 'Europe/Paris', - }, - votes: { - 5: { - choice_id: 5, - }, - 6: { - id: 44, - value: 'yes', - choice_id: 6, - text: 'Boumbo petite automobile', - stack_id: 25, - }, - 7: { - choice_id: 7, - }, - 8: { - choice_id: 8, - }, - 9: { - id: 45, - value: 'yes', - choice_id: 9, - text: 'Foot 2 rue', - stack_id: 25, - }, - 10: { - id: 46, - value: 'yes', - choice_id: 10, - text: "Le chat, la vache, et l'océan", - stack_id: 25, - }, - 11: { - choice_id: 11, - }, - }, - }, - { - id: 26, - modifier_token: - 'b88Qnb1A515Sfedee8b74d726A32444m87cn9Zc0f9t6Ued516f76235V93tBKcJVJearh061S8I0o5l24wbIaMe2v4wg76dhEBBi9m-28Qa601b664L', - pseudo: 'tk_TEST', - creation_date: { - date: '2020-01-30 10:20:06.000000', - timezone_type: 3, - timezone: 'Europe/Paris', - }, - votes: { - 5: { - id: 47, - value: 'yes', - choice_id: 5, - text: 'Vic le viking', - stack_id: 26, - }, - 6: { - id: 48, - value: 'yes', - choice_id: 6, - text: 'Boumbo petite automobile', - stack_id: 26, - }, - 7: { - id: 49, - value: 'yes', - choice_id: 7, - text: "Les mystérieuses cités d'or", - stack_id: 26, - }, - 8: { - id: 50, - value: 'yes', - choice_id: 8, - text: 'Les mondes engloutis', - stack_id: 26, - }, - 9: { - choice_id: 9, - }, - 10: { - choice_id: 10, - }, - 11: { - choice_id: 11, - }, - }, - }, - { - id: 28, - modifier_token: - 'b88Qnb1A515Sfedee8b74d726A32444m87cn9Zc0f9t6Ued516f76235V93tBKcJVJearh061S8I0o5l24wbIaMe2v4wg76dhEBBi9m-28Qa601b664L', - pseudo: 'tk_TEST', - creation_date: { - date: '2020-01-30 17:23:48.000000', - timezone_type: 3, - timezone: 'Europe/Paris', - }, - votes: { - 5: { - id: 53, - value: 'yes', - choice_id: 5, - text: 'Vic le viking', - stack_id: 28, - }, - 6: { - id: 54, - value: 'yes', - choice_id: 6, - text: 'Boumbo petite automobile', - stack_id: 28, - }, - 7: { - id: 55, - value: 'yes', - choice_id: 7, - text: "Les mystérieuses cités d'or", - stack_id: 28, - }, - 8: { - choice_id: 8, - }, - 9: { - choice_id: 9, - }, - 10: { - id: 56, - value: 'yes', - choice_id: 10, - text: "Le chat, la vache, et l'océan", - stack_id: 28, - }, - 11: { - choice_id: 11, - }, - }, - }, - { - id: 35, - modifier_token: - 'b88Qnb1A515Sfedee8b74d726A32444m87cn9Zc0f9t6Ued516f76235V93tBKcJVJearh061S8I0o5l24wbIaMe2v4wg76dhEBBi9m-28Qa601b664L', - pseudo: 'tk_TEST', - creation_date: { - date: '2020-01-31 09:42:28.000000', - timezone_type: 3, - timezone: 'Europe/Paris', - }, - votes: { - 5: { - choice_id: 5, - }, - 6: { - id: 69, - value: 'yes', - choice_id: 6, - text: 'Boumbo petite automobile', - stack_id: 35, - }, - 7: { - id: 70, - value: 'yes', - choice_id: 7, - text: "Les mystérieuses cités d'or", - stack_id: 35, - }, - 8: { - choice_id: 8, - }, - 9: { - choice_id: 9, - }, - 10: { - choice_id: 10, - }, - 11: { - choice_id: 11, - }, - }, - }, - { - id: 37, - modifier_token: - 'b88Qnb1A515Sfedee8b74d726A32444m87cn9Zc0f9t6Ued516f76235V93tBKcJVJearh061S8I0o5l24wbIaMe2v4wg76dhEBBi9m-28Qa601b664L', - pseudo: 'tk_TEST', - creation_date: { - date: '2020-02-05 10:38:47.000000', - timezone_type: 3, - timezone: 'Europe/Paris', - }, - votes: { - 5: { - choice_id: 5, - }, - 6: { - choice_id: 6, - }, - 7: { - choice_id: 7, - }, - 8: { - id: 74, - value: 'yes', - choice_id: 8, - text: 'Les mondes engloutis', - stack_id: 37, - }, - 9: { - id: 75, - value: 'yes', - choice_id: 9, - text: 'Foot 2 rue', - stack_id: 37, - }, - 10: { - choice_id: 10, - }, - 11: { - choice_id: 11, - }, - }, - }, - { - id: 40, - modifier_token: - 'b88Qnb1A515Sfedee8b74d726A32444m87cn9Zc0f9t6Ued516f76235V93tBKcJVJearh061S8I0o5l24wbIaMe2v4wg76dhEBBi9m-28Qa601b664L', - pseudo: 'tk_TEST', - creation_date: { - date: '2020-02-22 17:53:57.000000', - timezone_type: 3, - timezone: 'Europe/Paris', - }, - votes: { - 5: { - id: 82, - value: 'no', - choice_id: 5, - text: 'Vic le viking', - stack_id: 40, - }, - 6: { - id: 83, - value: 'yes', - choice_id: 6, - text: 'Boumbo petite automobile', - stack_id: 40, - }, - 7: { - choice_id: 7, - }, - 8: { - id: 84, - value: 'yes', - choice_id: 8, - text: 'Les mondes engloutis', - stack_id: 40, - }, - 9: { - id: 85, - value: 'yes', - choice_id: 9, - text: 'Foot 2 rue', - stack_id: 40, - }, - 10: { - choice_id: 10, - }, - 11: { - choice_id: 11, - }, - }, - }, - { - id: 41, - modifier_token: - 'b88Qnb1A515Sfedee8b74d726A32444m87cn9Zc0f9t6Ued516f76235V93tBKcJVJearh061S8I0o5l24wbIaMe2v4wg76dhEBBi9m-28Qa601b664L', - pseudo: 'tk_TEST', - creation_date: { - date: '2020-04-01 12:24:37.000000', - timezone_type: 3, - timezone: 'Europe/Paris', - }, - votes: { - 5: { - id: 86, - value: 'yes', - choice_id: 5, - text: 'Vic le viking', - stack_id: 41, - }, - 6: { - id: 87, - value: 'yes', - choice_id: 6, - text: 'Boumbo petite automobile', - stack_id: 41, - }, - 7: { - id: 88, - value: 'yes', - choice_id: 7, - text: "Les mystérieuses cités d'or", - stack_id: 41, - }, - 8: { - choice_id: 8, - }, - 9: { - id: 89, - value: 'yes', - choice_id: 9, - text: 'Foot 2 rue', - stack_id: 41, - }, - 10: { - id: 90, - value: 'yes', - choice_id: 10, - text: "Le chat, la vache, et l'océan", - stack_id: 41, - }, - 11: { - choice_id: 11, - }, - }, - }, - { - id: 43, - modifier_token: - 'b88Qnb1A515Sfedee8b74d726A32444m87cn9Zc0f9t6Ued516f76235V93tBKcJVJearh061S8I0o5l24wbIaMe2v4wg76dhEBBi9m-28Qa601b664L', - pseudo: 'tk_TEST', - creation_date: { - date: '2020-04-02 17:55:45.201475', - timezone_type: 3, - timezone: 'Europe/Paris', - }, - votes: { - 5: { - id: 93, - value: 'yes', - choice_id: 5, - text: 'Vic le viking', - stack_id: 43, - }, - 6: { - id: 94, - value: 'yes', - choice_id: 6, - text: 'Boumbo petite automobile', - stack_id: 43, - }, - 7: { - id: 95, - value: 'yes', - choice_id: 7, - text: "Les mystérieuses cités d'or", - stack_id: 43, - }, - 8: { - id: 96, - value: 'yes', - choice_id: 8, - text: 'Les mondes engloutis', - stack_id: 43, - }, - 9: { - id: 97, - value: 'yes', - choice_id: 9, - text: 'Foot 2 rue', - stack_id: 43, - }, - 10: { - choice_id: 10, - }, - 11: { - choice_id: 11, - }, - }, - }, - ], - comments: [ - { - id: 4, - text: 'wouah trop bien framadate HOUHOUUUU!', - pseudo: 'tk_TEST', - date: { - date: '2020-01-22 16:00:22.000000', - timezone_type: 3, - timezone: 'Europe/Paris', - }, - }, - { - id: 6, - text: 'wouah trop bien framadate! zerf zrg ergetetht', - pseudo: 'tk_TEST', - date: { - date: '2020-01-22 16:09:32.000000', - timezone_type: 3, - timezone: 'Europe/Paris', - }, - }, - { - id: 7, - text: 'comment numléro 4\n', - pseudo: 'tk_TEST', - date: { - date: '2020-01-22 16:09:51.000000', - timezone_type: 3, - timezone: 'Europe/Paris', - }, - }, - { - id: 8, - text: 'wouah trop bien framadate!', - pseudo: 'tk_TEST', - date: { - date: '2020-01-22 16:15:24.000000', - timezone_type: 3, - timezone: 'Europe/Paris', - }, - }, - { - id: 9, - text: 'wouah trop bien framadate zef ret r e re!', - pseudo: 'tk_TEST', - date: { - date: '2020-01-23 14:11:21.000000', - timezone_type: 3, - timezone: 'Europe/Paris', - }, - }, - { - id: 13, - text: 'OUAIIII', - pseudo: 'tk_TEST', - date: { - date: '2020-01-23 16:35:52.000000', - timezone_type: 3, - timezone: 'Europe/Paris', - }, - }, - { - id: 14, - text: 'MAAAAHAHAHAHHAA', - pseudo: 'tk_TEST', - date: { - date: '2020-01-23 16:36:04.000000', - timezone_type: 3, - timezone: 'Europe/Paris', - }, - }, - { - id: 16, - text: 'Meeeeeh', - pseudo: 'tk_TEST', - date: { - date: '2020-01-23 18:37:49.000000', - timezone_type: 3, - timezone: 'Europe/Paris', - }, - }, - { - id: 18, - text: 'wouah trop bien framadate!', - pseudo: 'tk_TEST', - date: { - date: '2020-01-24 11:34:58.000000', - timezone_type: 3, - timezone: 'Europe/Paris', - }, - }, - { - id: 19, - text: 'Ndjdjkddkld', - pseudo: 'tk_TEST', - date: { - date: '2020-01-24 11:35:08.000000', - timezone_type: 3, - timezone: 'Europe/Paris', - }, - }, - { - id: 20, - text: 'wouah trop bien framadate!', - pseudo: 'tk_TEST', - date: { - date: '2020-01-24 12:16:24.000000', - timezone_type: 3, - timezone: 'Europe/Paris', - }, - }, - { - id: 21, - text: 'encore un commentaire ', - pseudo: 'tk_TEST', - date: { - date: '2020-01-24 12:16:38.000000', - timezone_type: 3, - timezone: 'Europe/Paris', - }, - }, - ], - choices: [ - { - id: 5, - date: { - date: '2020-01-22 14:28:19.000000', - timezone_type: 3, - timezone: 'Europe/Paris', - }, - text: 'Vic le viking', - url: null, - }, - { - id: 6, - date: { - date: '2020-01-22 14:28:19.000000', - timezone_type: 3, - timezone: 'Europe/Paris', - }, - text: 'Boumbo petite automobile', - url: null, - }, - { - id: 7, - date: { - date: '2020-01-22 14:28:19.000000', - timezone_type: 3, - timezone: 'Europe/Paris', - }, - text: "Les mystérieuses cités d'or", - url: null, - }, - { - id: 8, - date: { - date: '2020-01-22 14:28:19.000000', - timezone_type: 3, - timezone: 'Europe/Paris', - }, - text: 'Les mondes engloutis', - url: null, - }, - { - id: 9, - date: { - date: '2020-01-22 14:28:19.000000', - timezone_type: 3, - timezone: 'Europe/Paris', - }, - text: 'Foot 2 rue', - url: null, - }, - { - id: 10, - date: { - date: '2020-01-22 14:28:19.000000', - timezone_type: 3, - timezone: 'Europe/Paris', - }, - text: "Le chat, la vache, et l'océan", - url: null, - }, - { - id: 11, - date: { - date: '2020-01-22 14:28:19.000000', - timezone_type: 3, - timezone: 'Europe/Paris', - }, - text: 'Digimon', - url: null, - }, - ], - choices_count: { - counts: { - 5: { - choice_id: 5, - choice_text: 'Vic le viking', - id: 9, - score: 8, - yes: { - count: 8, - people: ['', 'tk_TEST', 'tk_TEST', 'tk_TEST', 'tk_TEST', 'tk_TEST', 'tk_TEST', 'tk_TEST'], - }, - maybe: { - count: 0, - people: [], - }, - no: { - count: 2, - people: ['voting_people_TEST', 'tk_TEST'], - }, - }, - 6: { - choice_id: 6, - choice_text: 'Boumbo petite automobile', - id: 5, - score: 14.5, - yes: { - count: 13, - people: [ - 'voting_people_TEST', - 'tk_TEST', - 'tk_TEST', - 'tk_TEST', - 'tk_TEST', - 'tk_TEST', - 'tk_TEST', - 'tk_TEST', - 'tk_TEST', - 'tk_TEST', - 'tk_TEST', - 'tk_TEST', - 'tk_TEST', - ], - }, - maybe: { - count: 3, - people: ['voting_people_TEST', 'voting_people_TEST', ''], - }, - no: { - count: 0, - people: [], - }, - }, - 7: { - choice_id: 7, - choice_text: "Les mystérieuses cités d'or", - id: 4, - score: 12, - yes: { - count: 12, - people: [ - 'voting_people_TEST', - 'voting_people_TEST', - 'voting_people_TEST', - 'tk_TEST', - 'tk_TEST', - 'tk_TEST', - 'tk_TEST', - 'tk_TEST', - 'tk_TEST', - 'tk_TEST', - 'tk_TEST', - 'tk_TEST', - ], - }, - maybe: { - count: 0, - people: [], - }, - no: { - count: 2, - people: ['voting_people_TEST', ''], - }, - }, - 8: { - choice_id: 8, - choice_text: 'Les mondes engloutis', - id: 50, - score: 4, - yes: { - count: 4, - people: ['tk_TEST', 'tk_TEST', 'tk_TEST', 'tk_TEST'], - }, - maybe: { - count: 0, - people: [], - }, - no: { - count: 0, - people: [], - }, - }, - 9: { - choice_id: 9, - choice_text: 'Foot 2 rue', - id: 25, - score: 6, - yes: { - count: 6, - people: ['tk_TEST', 'tk_TEST', 'tk_TEST', 'tk_TEST', 'tk_TEST', 'tk_TEST'], - }, - maybe: { - count: 0, - people: [], - }, - no: { - count: 0, - people: [], - }, - }, - 10: { - choice_id: 10, - choice_text: "Le chat, la vache, et l'océan", - id: 16, - score: 4, - yes: { - count: 4, - people: ['tk_TEST', 'tk_TEST', 'tk_TEST', 'tk_TEST'], - }, - maybe: { - count: 0, - people: [], - }, - no: { - count: 0, - people: [], - }, - }, - 11: { - choice_id: 11, - choice_text: 'Digimon', - id: 22, - score: 1, - yes: { - count: 1, - people: ['tk_TEST'], - }, - maybe: { - count: 0, - people: [], - }, - no: { - count: 0, - people: [], - }, - }, - }, - maxScore: 14.5, - }, - vote_count: 21, - owner: { - __initializer__: null, - __cloner__: null, - __isInitialized__: true, - pseudo: 'tk_TEST', - email: 'tktest@tktest.com', - }, - owner_modifier_token: - 'b88Qnb1A515Sfedee8b74d726A32444m87cn9Zc0f9t6Ued516f76235V93tBKcJVJearh061S8I0o5l24wbIaMe2v4wg76dhEBBi9m-28Qa601b664L', - admin_key: - 'A8jZ9oc1jsFGZJ024c457f0Wj1bYca5m6537cm9nCg7catZdc18ke5Kqd449eL290oHCqdu3SNmkC7yIHj96n6dnU7ca7qdaf2VSRMI48eXd61O9a3U', - json_you_sent: { - pseudo: 'mon pseudo', - email: 'tktest@tktest.com', - votes: [ - { - choice_id: 5, - value: 'yes', - }, - { - choice_id: 6, - value: 'yes', - }, - { - choice_id: 7, - value: 'yes', - }, - { - choice_id: 8, - value: 'yes', - }, - { - choice_id: 9, - value: 'yes', - }, - ], - }, - }; - this.updateCurrentPollFromResponse(mockResponse); - } -} diff --git a/mocks/old-stuff/services/progression.service.spec.ts b/mocks/old-stuff/services/progression.service.spec.ts deleted file mode 100644 index e69de29b..00000000 diff --git a/mocks/old-stuff/ui/copy-text/copy-text.component.html b/mocks/old-stuff/ui/copy-text/copy-text.component.html deleted file mode 100644 index 60b17a8a..00000000 --- a/mocks/old-stuff/ui/copy-text/copy-text.component.html +++ /dev/null @@ -1,5 +0,0 @@ - diff --git a/mocks/old-stuff/ui/copy-text/copy-text.component.scss b/mocks/old-stuff/ui/copy-text/copy-text.component.scss deleted file mode 100644 index e69de29b..00000000 diff --git a/mocks/old-stuff/ui/copy-text/copy-text.component.spec.ts b/mocks/old-stuff/ui/copy-text/copy-text.component.spec.ts deleted file mode 100644 index 1fa52ca8..00000000 --- a/mocks/old-stuff/ui/copy-text/copy-text.component.spec.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; - -import { CopyTextComponent } from './copy-text.component'; - -describe('CopyTextComponent', () => { - let component: CopyTextComponent; - let fixture: ComponentFixture; - - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [CopyTextComponent], - }).compileComponents(); - })); - - beforeEach(() => { - fixture = TestBed.createComponent(CopyTextComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/mocks/old-stuff/ui/copy-text/copy-text.component.ts b/mocks/old-stuff/ui/copy-text/copy-text.component.ts deleted file mode 100644 index c9029eb2..00000000 --- a/mocks/old-stuff/ui/copy-text/copy-text.component.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { Component, Input, OnInit } from '@angular/core'; -import { ClipboardService } from 'ngx-clipboard'; - -import { ToastService } from '../../../../src/app/core/services/toast.service'; - -@Component({ - selector: 'app-copy-text', - templateUrl: './copy-text.component.html', - styleUrls: ['./copy-text.component.scss'], -}) -export class CopyTextComponent implements OnInit { - @Input() public textToCopy: string; - public displayContentToCopy = false; - - constructor(private _clipboardService: ClipboardService, private toastService: ToastService) {} - - ngOnInit(): void {} - - public copy(): void { - this._clipboardService.copyFromContent(this.textToCopy); - this.toastService.display(`Texte copié : ${this.textToCopy}`); - } -} diff --git a/mocks/old-stuff/ui/directives/resettable-input.directive.spec.ts b/mocks/old-stuff/ui/directives/resettable-input.directive.spec.ts deleted file mode 100644 index 2a4b2076..00000000 --- a/mocks/old-stuff/ui/directives/resettable-input.directive.spec.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { ResettableInputDirective } from './resettable-input.directive'; - -describe('ResettableInputDirective', () => { - it('should create an instance', () => { - const directive = new ResettableInputDirective(); - expect(directive).toBeTruthy(); - }); -}); diff --git a/mocks/old-stuff/ui/directives/resettable-input.directive.ts b/mocks/old-stuff/ui/directives/resettable-input.directive.ts deleted file mode 100644 index 08b18895..00000000 --- a/mocks/old-stuff/ui/directives/resettable-input.directive.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { Directive } from '@angular/core'; - -/** - * add a button on an input which deletes its value - */ -@Directive({ - selector: '[framadateResettableInput]', -}) -export class ResettableInputDirective { - constructor() {} -} diff --git a/mocks/old-stuff/ui/erasable-input/erasable-input.component.html b/mocks/old-stuff/ui/erasable-input/erasable-input.component.html deleted file mode 100644 index c04715bd..00000000 --- a/mocks/old-stuff/ui/erasable-input/erasable-input.component.html +++ /dev/null @@ -1,3 +0,0 @@ - diff --git a/mocks/old-stuff/ui/erasable-input/erasable-input.component.scss b/mocks/old-stuff/ui/erasable-input/erasable-input.component.scss deleted file mode 100644 index e69de29b..00000000 diff --git a/mocks/old-stuff/ui/erasable-input/erasable-input.component.spec.ts b/mocks/old-stuff/ui/erasable-input/erasable-input.component.spec.ts deleted file mode 100644 index 5466086a..00000000 --- a/mocks/old-stuff/ui/erasable-input/erasable-input.component.spec.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; - -import { ErasableInputComponent } from './erasable-input.component'; - -describe('ErasableInputComponent', () => { - let component: ErasableInputComponent; - let fixture: ComponentFixture; - - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [ErasableInputComponent], - }).compileComponents(); - })); - - beforeEach(() => { - fixture = TestBed.createComponent(ErasableInputComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/mocks/old-stuff/ui/erasable-input/erasable-input.component.ts b/mocks/old-stuff/ui/erasable-input/erasable-input.component.ts deleted file mode 100644 index 6530a90b..00000000 --- a/mocks/old-stuff/ui/erasable-input/erasable-input.component.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core'; - -@Component({ - selector: 'app-erasable-input', - templateUrl: './erasable-input.component.html', - styleUrls: ['./erasable-input.component.scss'], -}) -export class ErasableInputComponent implements OnInit { - @Output() inputModelChange = new EventEmitter(); - - @Input() inputModel; - - constructor() {} - - ngOnInit(): void {} - - eraseInput() { - // - this.inputModelChange.emit(''); - // TODO focus on other element - } -} diff --git a/mocks/old-stuff/ui/two-links/two-links.component.html b/mocks/old-stuff/ui/two-links/two-links.component.html deleted file mode 100644 index 1c2c90c6..00000000 --- a/mocks/old-stuff/ui/two-links/two-links.component.html +++ /dev/null @@ -1,8 +0,0 @@ - diff --git a/mocks/old-stuff/ui/two-links/two-links.component.scss b/mocks/old-stuff/ui/two-links/two-links.component.scss deleted file mode 100644 index e69de29b..00000000 diff --git a/mocks/old-stuff/ui/two-links/two-links.component.spec.ts b/mocks/old-stuff/ui/two-links/two-links.component.spec.ts deleted file mode 100644 index 1b1d7b49..00000000 --- a/mocks/old-stuff/ui/two-links/two-links.component.spec.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; - -import { TwoLinksComponent } from './two-links.component'; - -describe('TwoLinksComponent', () => { - let component: TwoLinksComponent; - let fixture: ComponentFixture; - - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [TwoLinksComponent], - }).compileComponents(); - })); - - beforeEach(() => { - fixture = TestBed.createComponent(TwoLinksComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/mocks/old-stuff/ui/two-links/two-links.component.ts b/mocks/old-stuff/ui/two-links/two-links.component.ts deleted file mode 100644 index 1433e235..00000000 --- a/mocks/old-stuff/ui/two-links/two-links.component.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { Component, Input, OnInit } from '@angular/core'; - -@Component({ - selector: 'app-two-links', - templateUrl: './two-links.component.html', - styleUrls: ['./two-links.component.scss'], -}) -export class TwoLinksComponent implements OnInit { - @Input() nextRouteConfig; - @Input() previousRouteConfig; - - constructor() {} - - ngOnInit(): void {} -} diff --git a/package.json b/package.json index a6b8b905..d45d473c 100644 --- a/package.json +++ b/package.json @@ -58,7 +58,6 @@ "ngx-markdown": "^9.0.0", "ngx-webstorage": "^5.0.0", "node-forge": "^0.10.0", - "primeng": "^9.0.6", "quill": "^1.3.7", "rxjs": "^6.5.5", "rxjs-compat": "^6.5.5", diff --git a/src/app/app.module.ts b/src/app/app.module.ts index 27923488..8480e7d3 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -30,6 +30,7 @@ import { CipheringComponent } from './features/shared/components/ui/static-pages import { ErrorsListComponent } from './features/shared/components/ui/form/errors-list/errors-list.component'; import { KeyboardShortcutsModule } from 'ng-keyboard-shortcuts'; import { AdministrationModule } from './features/administration/administration.module'; +import { ShortcutsHelpComponent } from './features/shared/components/ui/shortcuts-help/shortcuts-help.component'; registerLocaleData(localeEn, 'en-EN'); registerLocaleData(localeFr, 'fr-FR'); diff --git a/src/app/features/administration/form/date/list/day/day-list.component.html b/src/app/features/administration/form/date/list/day/day-list.component.html index 2a3dc0f5..e0bc533a 100644 --- a/src/app/features/administration/form/date/list/day/day-list.component.html +++ b/src/app/features/administration/form/date/list/day/day-list.component.html @@ -19,9 +19,10 @@

Dates

- +

- - - 💁 Aide, Raccourcis clavier - - - Vous pouvez naviguer d'un champ de date à un autre avec les flèches du clavier. - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Fonction - - Raccourci -
- Créer un nouveau choix - - Ctrl + N -
- Naviguer vers le champ suivant. Créée un nouveau champ si effectué sur le dernier champ. - - Ctrl + flèche bas -
- réinitialiser le champ actuel - - Ctrl + effacer -
- ou -
- Ctrl + supprimer -
- Alterner entre un sondage de type Date et un sondage texte - - Alt + D -
- Tout envoyer - - Ctrl + entrée -
-
+
diff --git a/src/app/features/administration/form/date/list/day/day-list.component.ts b/src/app/features/administration/form/date/list/day/day-list.component.ts index baa575aa..48e97516 100644 --- a/src/app/features/administration/form/date/list/day/day-list.component.ts +++ b/src/app/features/administration/form/date/list/day/day-list.component.ts @@ -1,16 +1,18 @@ -import { Component, Inject, Input, OnInit } from '@angular/core'; -import { CdkDragDrop, moveItemInArray, transferArrayItem } from '@angular/cdk/drag-drop'; +import { Component, Inject, Input } from '@angular/core'; +import { moveItemInArray, transferArrayItem } from '@angular/cdk/drag-drop'; import { DateChoice } from '../../../../../../../../mocks/old-stuff/config/defaultConfigs'; import { DOCUMENT } from '@angular/common'; -import { FormArray, FormBuilder, FormGroup, Validators } from '@angular/forms'; -import { LocalStorageService } from 'ngx-webstorage'; +import { FormGroup } from '@angular/forms'; import { ToastService } from '../../../../../../core/services/toast.service'; import { StorageService } from '../../../../../../core/services/storage.service'; +import { MatDialog } from '@angular/material/dialog'; +import { ShortcutsHelpComponent } from '../../../../../shared/components/ui/shortcuts-help/shortcuts-help.component'; @Component({ selector: 'app-day-list', templateUrl: './day-list.component.html', styleUrls: ['./day-list.component.scss'], + entryComponents: [ShortcutsHelpComponent], }) export class DayListComponent { @Input() @@ -23,22 +25,24 @@ export class DayListComponent { display = false; constructor( + public dialog: MatDialog, private toastService: ToastService, @Inject(DOCUMENT) private document: any, private storageService: StorageService ) { - this.setDemoValues(); + this.setDemoTextChoices(); } reinitChoices(): void { this.dateList = []; } - setDemoValues(): void { + setDemoTextChoices(): void { this.addChoice('orange'); this.addChoice('raisin'); this.addChoice('abricot'); } + dropDayItem(event: any): void { // moveItemInArray(this.timeSlices, event.previousIndex, event.currentIndex); if (event.previousContainer === event.container) { @@ -156,4 +160,8 @@ export class DayListComponent { } return false; } + + openSimple() { + this.display = !this.display; + } } diff --git a/src/app/features/administration/form/date/picker/picker.component.html b/src/app/features/administration/form/date/picker/picker.component.html index 22fd7d20..5d6ad36b 100644 --- a/src/app/features/administration/form/date/picker/picker.component.html +++ b/src/app/features/administration/form/date/picker/picker.component.html @@ -16,13 +16,14 @@

- + ici un calendrier datepicker avancé + + + + + + +
diff --git a/src/app/features/shared/components/ui/shortcuts-help/shortcuts-help.component.html b/src/app/features/shared/components/ui/shortcuts-help/shortcuts-help.component.html new file mode 100644 index 00000000..4d7c79c6 --- /dev/null +++ b/src/app/features/shared/components/ui/shortcuts-help/shortcuts-help.component.html @@ -0,0 +1,69 @@ +
+

Raccourcis clavier

+
+

+ Vous pouvez naviguer d'un champ de date à un autre avec les flèches du clavier. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Fonction + + Raccourci +
+ Créer un nouveau choix + + Ctrl + N +
+ Naviguer vers le champ suivant. Créée un nouveau champ si effectué sur le dernier champ. + + Ctrl + flèche bas +
+ réinitialiser le champ actuel + + Ctrl + effacer +
+ ou +
+ Ctrl + supprimer +
+ Alterner entre un sondage de type Date et un sondage texte + + Alt + D +
+ Tout envoyer + + Ctrl + entrée +
+
+
+ +
+
diff --git a/mocks/old-stuff/pages/answers/answers.component.scss b/src/app/features/shared/components/ui/shortcuts-help/shortcuts-help.component.scss similarity index 100% rename from mocks/old-stuff/pages/answers/answers.component.scss rename to src/app/features/shared/components/ui/shortcuts-help/shortcuts-help.component.scss diff --git a/mocks/old-stuff/pages/voting/voting-comment/voting-comment.component.spec.ts b/src/app/features/shared/components/ui/shortcuts-help/shortcuts-help.component.spec.ts similarity index 52% rename from mocks/old-stuff/pages/voting/voting-comment/voting-comment.component.spec.ts rename to src/app/features/shared/components/ui/shortcuts-help/shortcuts-help.component.spec.ts index 6c0cf6f8..82ecc5b5 100644 --- a/mocks/old-stuff/pages/voting/voting-comment/voting-comment.component.spec.ts +++ b/src/app/features/shared/components/ui/shortcuts-help/shortcuts-help.component.spec.ts @@ -1,19 +1,19 @@ import { async, ComponentFixture, TestBed } from '@angular/core/testing'; -import { VotingCommentComponent } from './voting-comment.component'; +import { ShortcutsHelpComponent } from './shortcuts-help.component'; -describe('VotingCommentComponent', () => { - let component: VotingCommentComponent; - let fixture: ComponentFixture; +describe('ShortcutsHelpComponent', () => { + let component: ShortcutsHelpComponent; + let fixture: ComponentFixture; beforeEach(async(() => { TestBed.configureTestingModule({ - declarations: [VotingCommentComponent], + declarations: [ShortcutsHelpComponent], }).compileComponents(); })); beforeEach(() => { - fixture = TestBed.createComponent(VotingCommentComponent); + fixture = TestBed.createComponent(ShortcutsHelpComponent); component = fixture.componentInstance; fixture.detectChanges(); }); diff --git a/src/app/features/shared/components/ui/shortcuts-help/shortcuts-help.component.ts b/src/app/features/shared/components/ui/shortcuts-help/shortcuts-help.component.ts new file mode 100644 index 00000000..a8ddfc2f --- /dev/null +++ b/src/app/features/shared/components/ui/shortcuts-help/shortcuts-help.component.ts @@ -0,0 +1,12 @@ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'app-shortcuts-help', + templateUrl: './shortcuts-help.component.html', + styleUrls: ['./shortcuts-help.component.scss'], +}) +export class ShortcutsHelpComponent implements OnInit { + constructor() {} + + ngOnInit(): void {} +} diff --git a/src/app/shared/shared.module.ts b/src/app/shared/shared.module.ts index d8bdcb38..940a564d 100644 --- a/src/app/shared/shared.module.ts +++ b/src/app/shared/shared.module.ts @@ -27,6 +27,7 @@ import { CopyTextComponent } from './components/ui/copy-text/copy-text.component import { ErasableInputComponent } from './components/ui/erasable-input/erasable-input.component'; import { WipTodoComponent } from './components/ui/wip-todo/wip-todo.component'; import { ErrorsListComponent } from '../features/shared/components/ui/form/errors-list/errors-list.component'; +import { ShortcutsHelpComponent } from '../features/shared/components/ui/shortcuts-help/shortcuts-help.component'; const COMPONENTS = [ ChoiceDetailsComponent, @@ -41,6 +42,7 @@ const COMPONENTS = [ ErasableInputComponent, ErrorsListComponent, WipTodoComponent, + ShortcutsHelpComponent, ]; const ANGULAR_MODULES = [CommonModule, ChartsModule, FormsModule, TranslateModule]; diff --git a/yarn.lock b/yarn.lock index 0a701821..ee06a708 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9451,11 +9451,6 @@ pretty-format@^26.0.0, pretty-format@^26.1.0: ansi-styles "^4.0.0" react-is "^16.12.0" -primeng@^9.0.6: - version "9.1.0" - resolved "https://registry.yarnpkg.com/primeng/-/primeng-9.1.0.tgz#3d790f7d05b500ec77edf84899b6ef6ffb863c64" - integrity sha512-EeW+WA7uT4/7UBJ23Gfb4x8MaTdFpeV9XxAy68K/XIoeTmZ2hNJrdVdfF63y6k7nxwA/mOrkIMshY0eM8nMzoQ== - prismjs@^1.20.0: version "1.20.0" resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.20.0.tgz#9b685fc480a3514ee7198eac6a3bf5024319ff03"