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.
-
-
-
-
-
-
-
-
-
-
-
-
- {{ answer.text }}
-
-
-
-
-
- X
-
-
-
-
-
- Ajouter une proposition
-
-
-
- Voyons ce que ça donne
-
-
-
- Retour
-
-
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.letsgo' | 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.hours_different' | translate }}
-
-
- {{ 'dates.multiple.different' | translate }}
- {{ 'dates.multiple.identical' | translate }}
-
-
- {{ 'dates.hours_each_day' | translate }}
-
-
-
-
-
-
- {{ 'dates.add' | translate }}
-
-
-
- {{ 'dates.add_interval' | translate }}
-
-
-
-
- {{ 'dates.empty' | translate }}
-
-
-
-
-
-
-
- {{ config.timeList.length }}
-
-
- {{ 'dates.count_time' | translate }}
- (pour chaque jour)
-
-
-
-
-
- {{ 'dates.add_time' | translate }}
-
-
-
- Aucune plage horaire
-
-
-
- réinitialiser
-
-
-
-
-
-
-
-
- {{ config.dateList.length }}
-
-
- {{ 'dates.count_dates' | translate }}
-
-
- {{ 'dates.add' | translate }}
-
-
- {{ id }})
-
-
-
-
-
- {{ 'dates.add_time' | translate }}
-
-
-
-
-
-
-
-
-
- C'est parfait!
-
-
- Retour
-
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.
-
-
-
-
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
-
-
-
-
-
- Components
-
-
- Images list
- that
-
-
-
- Calendar
-
-
-
- Modale
-
-
-
- Way to vote
- that
-
-
-
- Voted
- 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 }}
-
-
- Reset all
-
-
-
- {{ 'creation.kind.date' | translate }}
-
-
- {{ 'creation.kind.classic' | translate }}
-
-
-
-
-
-
-
- {{ 'creation.choose_title' | translate }}
-
-
-
-
-
-
-
{{ 'creation.choice_label' | translate }} :
-
-
-
-
-
-
- {{ 'creation.description' | translate }}:
-
-
-
-
-
-
-
- Mon email pour administrer le sondage est
-
-
-
-
-
-
- Continuer
-
-
-
- Continuer
-
-
-
- Retour
-
-
-
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 @@
-
-
- launch admin action execStuff !
-
-
-
- export json
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Partager le sondage
-
-
-
-
- Pour partager le sondage, vous pouvez diffuser ce lien :
-
- {{ config.currentPoll.urlPublic }}
-
-
-
-
-
- Exporter/Imprimer
-
-
- Exporter en .csv
-
-
- Imprimer le sondage
-
-
-
-
-
-
- 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.choiceColorblind' | translate }}
-
-
- {{ 'pollGraphic.choiceNotColorblind' | translate }}
-
-
-
- {{ '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 }}
-
-
-
-
-
-
- {{ questions.id + 1 }}. {{ questions.text }}
-
-
-
-
-
-
- {{ 'dates.multiple.different' | translate }}
-
-
- {{ 'dates.multiple.identical' | translate }}
-
-
-
-
-
- {{ choice.literal }}
-
-
-
-
- {{ idTime }})
-
- {{ time.literal }}
-
-
-
-
-
-
- {{ time.literal }}
-
-
-
-
-
-
-
- C'est parfait!
-
-
-
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_link' | translate }}
-
-
- {{ 'visibility.visibility_nobody' | translate }}
-
-
-
- {{ 'visibility.visibility_see' | translate }}
-
-
-
-
-
- {{ 'visibility.votes' | translate }}
-
-
- {{ 'visibility.votes_possible' | translate }}
-
-
-
- {{ 'visibility.votes_possible_single' | translate }}
-
-
- {{ 'visibility.votes_possible_normal' | translate }}
-
-
- {{ 'visibility.votes_possible_full' | translate }}
-
-
-
-
-
-
-
- {{ 'visibility.validate_btn' | 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 @@
-
-
-
-
- Envoyer
-
-
- Mettre à jour
-
-
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 @@
-
-
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.date.date | date: 'EEE' }}
- {{ choice.date.date | date: 'dd' }}
- {{ choice.date.date | date: 'LLL' }}
-
-
- {{ choice.date.date | date: 'H:m' }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- aucun vote
-
-
-
- {{ poll.choices_count.counts[choice.id].yes.count }}
-
-
-
- {{ poll.choices_count.counts[choice.id].maybe.count }}
-
-
-
-
-
- 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 @@
-
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 }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- show admin confirmation modal
-
-
-
-
-
- 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 @@
-
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 @@
-
-
- {{ 'admin.copy_link' | translate }}
- " {{ textToCopy }}"
-
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 @@
-
-
- 💁 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
+
+
+
+
+
+ Ok
+
+
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"
Laisser un commentaire
- - - - -- -