diff --git a/angular.json b/angular.json index df9c8dac..4ba86702 100644 --- a/angular.json +++ b/angular.json @@ -1,133 +1,138 @@ { - "$schema": "./node_modules/@angular/cli/lib/config/schema.json", - "version": 1, - "newProjectRoot": "projects", - "projects": { - "framadate": { - "projectType": "application", - "schematics": { - "@schematics/angular:component": { - "style": "scss" - } - }, - "root": "", - "sourceRoot": "src", - "prefix": "framadate", - "architect": { - "build": { - "builder": "@angular-devkit/build-angular:browser", - "options": { - "outputPath": "dist/framadate", - "index": "src/index.html", - "main": "src/main.ts", - "polyfills": "src/polyfills.ts", - "tsConfig": "tsconfig.app.json", - "aot": false, - "assets": [ - "src/favicon.ico", - "src/assets" - ], - "styles": [ - "src/styles.scss" - ], - "scripts": [ - "node_modules/marked/lib/marked.js", - "node_modules/prismjs/prism.js", - "node_modules/prismjs/components/prism-css.min.js" - ] - }, - "configurations": { - "production": { - "fileReplacements": [ - { - "replace": "src/environments/environment.ts", - "with": "src/environments/environment.prod.ts" + "$schema": "./node_modules/@angular/cli/lib/config/schema.json", + "version": 1, + "newProjectRoot": "projects", + "projects": { + "framadate": { + "projectType": "application", + "schematics": { + "@schematics/angular:component": { + "style": "scss" } - ], - "optimization": true, - "outputHashing": "all", - "sourceMap": false, - "extractCss": true, - "namedChunks": false, - "aot": true, - "extractLicenses": true, - "vendorChunk": false, - "buildOptimizer": true, - "budgets": [ - { - "type": "initial", - "maximumWarning": "2mb", - "maximumError": "5mb" + }, + "root": "", + "sourceRoot": "src", + "prefix": "framadate", + "architect": { + "build": { + "builder": "@angular-devkit/build-angular:browser", + "options": { + "outputPath": "dist/framadate", + "index": "src/index.html", + "main": "src/main.ts", + "polyfills": "src/polyfills.ts", + "tsConfig": "tsconfig.app.json", + "aot": false, + "assets": [ + "src/favicon.ico", + "src/assets" + ], + "styles": [ + "node_modules/primeicons/primeicons.css", + "node_modules/font-awesome/css/font-awesome.css", + "node_modules/primeng/resources/themes/nova-light/theme.css", + "node_modules/primeng/resources/primeng.min.css", + "src/styles.scss" + ], + "scripts": [ + "node_modules/marked/lib/marked.js", + "node_modules/prismjs/prism.js", + "node_modules/prismjs/components/prism-css.min.js" + ] + }, + "configurations": { + "production": { + "fileReplacements": [ + { + "replace": "src/environments/environment.ts", + "with": "src/environments/environment.prod.ts" + } + ], + "optimization": true, + "outputHashing": "all", + "sourceMap": false, + "extractCss": true, + "namedChunks": false, + "aot": true, + "extractLicenses": true, + "vendorChunk": false, + "buildOptimizer": true, + "budgets": [ + { + "type": "initial", + "maximumWarning": "2mb", + "maximumError": "5mb" + }, + { + "type": "anyComponentStyle", + "maximumWarning": "6kb", + "maximumError": "10kb" + } + ] + } + } }, - { - "type": "anyComponentStyle", - "maximumWarning": "6kb", - "maximumError": "10kb" + "serve": { + "builder": "@angular-devkit/build-angular:dev-server", + "options": { + "browserTarget": "framadate:build" + }, + "configurations": { + "production": { + "browserTarget": "framadate:build:production" + } + } + }, + "extract-i18n": { + "builder": "@angular-devkit/build-angular:extract-i18n", + "options": { + "browserTarget": "framadate:build" + } + }, + "test": { + "builder": "@angular-devkit/build-angular:karma", + "options": { + "main": "src/test.ts", + "polyfills": "src/polyfills.ts", + "tsConfig": "tsconfig.spec.json", + "karmaConfig": "karma.conf.js", + "assets": [ + "src/favicon.ico", + "src/assets" + ], + "styles": [ + "src/styles.scss" + ], + "scripts": [] + } + }, + "lint": { + "builder": "@angular-devkit/build-angular:tslint", + "options": { + "tsConfig": [ + "tsconfig.app.json", + "tsconfig.spec.json", + "e2e/tsconfig.json" + ], + "exclude": [ + "**/node_modules/**" + ] + } + }, + "e2e": { + "builder": "@angular-devkit/build-angular:protractor", + "options": { + "protractorConfig": "e2e/protractor.conf.js", + "devServerTarget": "framadate:serve" + }, + "configurations": { + "production": { + "devServerTarget": "framadate:serve:production" + } + } } - ] } - } - }, - "serve": { - "builder": "@angular-devkit/build-angular:dev-server", - "options": { - "browserTarget": "framadate:build" - }, - "configurations": { - "production": { - "browserTarget": "framadate:build:production" - } - } - }, - "extract-i18n": { - "builder": "@angular-devkit/build-angular:extract-i18n", - "options": { - "browserTarget": "framadate:build" - } - }, - "test": { - "builder": "@angular-devkit/build-angular:karma", - "options": { - "main": "src/test.ts", - "polyfills": "src/polyfills.ts", - "tsConfig": "tsconfig.spec.json", - "karmaConfig": "karma.conf.js", - "assets": [ - "src/favicon.ico", - "src/assets" - ], - "styles": [ - "src/styles.scss" - ], - "scripts": [] - } - }, - "lint": { - "builder": "@angular-devkit/build-angular:tslint", - "options": { - "tsConfig": [ - "tsconfig.app.json", - "tsconfig.spec.json", - "e2e/tsconfig.json" - ], - "exclude": [ - "**/node_modules/**" - ] - } - }, - "e2e": { - "builder": "@angular-devkit/build-angular:protractor", - "options": { - "protractorConfig": "e2e/protractor.conf.js", - "devServerTarget": "framadate:serve" - }, - "configurations": { - "production": { - "devServerTarget": "framadate:serve:production" - } - } } - } - }}, - "defaultProject": "framadate" + }, + "defaultProject": "framadate" } diff --git a/karma.conf.js b/karma.conf.js index a568270f..cca0956f 100644 --- a/karma.conf.js +++ b/karma.conf.js @@ -17,7 +17,7 @@ module.exports = function (config) { }, coverageIstanbulReporter: { dir: require('path').join(__dirname, './coverage/framadate'), - reports: ['html', 'lcovonly', 'text-summary'], + reports: ['html', 'lcovonly', 'name-summary'], fixWebpackSourcePaths: true }, reporters: ['progress', 'kjhtml'], diff --git a/package.json b/package.json index f67b1d9e..efae5b14 100644 --- a/package.json +++ b/package.json @@ -1,52 +1,61 @@ { - "name": "framadate-funky-frontend", - "version": "0.1.0", - "scripts": { - "ng": "ng", - "start": "ng serve", - "build": "ng build", - "test": "ng test", - "lint": "ng lint", - "e2e": "ng e2e", - "trans": "ng xi18n --output-path=src/locale --i18n-locale=fr" - }, - "private": true, - "dependencies": { - "@angular/animations": "~8.2.0", - "@angular/common": "~8.2.0", - "@angular/compiler": "~8.2.0", - "@angular/core": "~8.2.0", - "@angular/forms": "~8.2.0", - "@angular/platform-browser": "~8.2.0", - "@angular/platform-browser-dynamic": "~8.2.0", - "@angular/router": "~8.2.0", - "@ngx-translate/core": "^11.0.1", - "@ngx-translate/http-loader": "^4.0.0", - "chart.js": "^2.8.0", - "ngx-markdown": "^8.2.1", - "rxjs": "~6.4.0", - "tslib": "^1.10.0", - "zone.js": "~0.9.1" - }, - "devDependencies": { - "@angular-devkit/build-angular": "^0.803.21", - "@angular/cli": "~8.3.21", - "@angular/compiler-cli": "^8.2.14", - "@angular/language-service": "^8.2.14", - "@types/jasmine": "~3.3.8", - "@types/jasminewd2": "^2.0.8", - "@types/node": "~8.9.4", - "codelyzer": "^5.2.1", - "jasmine-core": "~3.4.0", - "jasmine-spec-reporter": "~4.2.1", - "karma": "~4.1.0", - "karma-chrome-launcher": "~2.2.0", - "karma-coverage-istanbul-reporter": "~2.0.1", - "karma-jasmine": "~2.0.1", - "karma-jasmine-html-reporter": "^1.5.1", - "protractor": "~5.4.0", - "ts-node": "~7.0.0", - "tslint": "~5.15.0", - "typescript": "~3.5.3" - } + "name": "framadate-funky-frontend", + "version": "0.1.0", + "scripts": { + "ng": "ng", + "start": "ng serve", + "serve": "ng serve", + "build": "ng build", + "test": "ng test", + "lint": "ng lint", + "e2e": "ng e2e", + "trans": "ng xi18n --output-path=src/locale --i18n-locale=fr" + }, + "private": true, + "dependencies": { + "@angular/animations": "^8.2.14", + "@angular/cdk": "^8.2.3", + "@angular/common": "~8.2.0", + "@angular/compiler": "~8.2.0", + "@angular/core": "~8.2.0", + "@angular/forms": "~8.2.0", + "@angular/platform-browser": "~8.2.0", + "@angular/platform-browser-dynamic": "~8.2.0", + "@angular/router": "~8.2.0", + "@fullcalendar/core": "^4.3.1", + "@ngx-translate/core": "^11.0.1", + "@ngx-translate/http-loader": "^4.0.0", + "chart.js": "^2.8.0", + "font-awesome": "^4.7.0", + "ngx-markdown": "^8.2.1", + "ngx-toaster": "^1.0.1", + "primeicons": "^2.0.0", + "primeng": "^9.0.0-rc.2", + "quill": "^1.3.7", + "rxjs": "~6.4.0", + "rxjs-compat": "^6.5.3", + "tslib": "^1.10.0", + "zone.js": "~0.9.1" + }, + "devDependencies": { + "@angular-devkit/build-angular": "~0.803.21", + "@angular/cli": "~8.3.21", + "@angular/compiler-cli": "~8.2.14", + "@angular/language-service": "~8.2.14", + "@types/jasmine": "~3.3.8", + "@types/jasminewd2": "~2.0.8", + "@types/node": "~8.9.4", + "codelyzer": "^5.2.1", + "jasmine-core": "~3.4.0", + "jasmine-spec-reporter": "~4.2.1", + "karma": "~4.1.0", + "karma-chrome-launcher": "~2.2.0", + "karma-coverage-istanbul-reporter": "~2.0.1", + "karma-jasmine": "~2.0.1", + "karma-jasmine-html-reporter": "^1.5.1", + "protractor": "~5.4.0", + "ts-node": "~7.0.0", + "tslint": "~5.15.0", + "typescript": "~3.5.3" + } } diff --git a/src/app/app.module.ts b/src/app/app.module.ts index acab3a8e..fcc9b6f0 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -1,6 +1,5 @@ import {BrowserModule} from '@angular/platform-browser'; import {NgModule} from '@angular/core'; - import {AppRoutingModule} from './app-routing.module'; import {AppComponent} from './app.component'; import {BaseComponent} from './pages/base-page/base.component'; @@ -21,12 +20,12 @@ import {EndConfirmationComponent} from './pages/end-confirmation/end-confirmatio import {CreateOrRetrieveComponent} from './pages/create-or-retrieve/create-or-retrieve.component'; import localeFr from '@angular/common/locales/fr'; import localeEn from '@angular/common/locales/en'; -import {VotingSummaryComponent} from './pages/voting-summary/voting-summary.component'; -import {VotingGraphComponent} from './pages/voting-graph/voting-graph.component'; -import {VotingChoiceComponent} from './pages/voting-choice/voting-choice.component'; +import {VotingSummaryComponent} from './pages/voting/voting-summary/voting-summary.component'; +import {VotingGraphComponent} from './pages/voting/voting-graph/voting-graph.component'; +import {VotingChoiceComponent} from './pages/voting/voting-choice/voting-choice.component'; import {PasswordComponent} from './pages/password/password.component'; import {HomeComponent} from './pages/home/home.component'; -import {VoteChoiceComponent} from './vote-choice/vote-choice.component'; +import {VoteChoiceComponent} from './ui/vote-choice/vote-choice.component'; import {HttpClient, HttpClientModule} from '@angular/common/http'; import {MarkdownModule} from 'ngx-markdown'; import { @@ -41,7 +40,14 @@ import {PollGraphicComponent} from './poll-graphic/poll-graphic.component'; import {AdminComponent} from './pages/admin/admin.component'; import {SelectorComponent} from './ui/selector/selector.component'; -import { VotingComponent } from './pages/voting/voting.component'; +import {BrowserAnimationsModule} from "@angular/platform-browser/animations"; +import {ConfigService} from "./services/config.service"; +import {PollService} from "./services/poll.service"; +import {ToastModule} from 'primeng/toast'; +import {MessageService} from "primeng"; +import {PollDisplayComponent} from './pages/poll-display/poll-display.component'; +import {VotingComponent} from './pages/voting/voting.component'; +import { VotingCommentComponent } from './pages/voting/voting-comment/voting-comment.component'; export class MyMissingTranslationHandler implements MissingTranslationHandler { handle(params: MissingTranslationHandlerParams) { @@ -80,13 +86,17 @@ export function HttpLoaderFactory(http: HttpClient) { VoteChoiceComponent, AdminComponent, SelectorComponent, + PollDisplayComponent, VotingComponent, + VotingCommentComponent, ], imports: [ CommonModule, BrowserModule, + BrowserAnimationsModule, AppRoutingModule, + ToastModule, MarkdownModule.forRoot(), TranslateModule.forRoot({ missingTranslationHandler: { @@ -104,7 +114,7 @@ export function HttpLoaderFactory(http: HttpClient) { FormsModule, RouterModule.forRoot(Routes) ], - providers: [TranslateService], + providers: [TranslateService, ConfigService, PollService, MessageService], bootstrap: [AppComponent] }) export class AppModule { diff --git a/src/app/config.service.ts b/src/app/config.service.ts deleted file mode 100644 index 39d1dcaf..00000000 --- a/src/app/config.service.ts +++ /dev/null @@ -1,37 +0,0 @@ -import {Injectable} from '@angular/core'; -import {PollConfig} from './config/PollConfig'; -import {HttpClient} from "@angular/common/http"; -import {environment} from "../environments/environment"; - - -/** - * le service transverse à chaque page qui permet de syncroniser la configuration de sondage souhaitée - */ -@Injectable({ - providedIn: 'root' -}) -export class ConfigService extends PollConfig { - myEmail: string; - myPolls: any;// list of retrieved polls from the backend api - - - constructor(public http: HttpClient) { - super(); - } - - set(key, val) { - this[key] = val; - } - - createPoll() { - // todo - console.log('sends the form'); - alert('envoi de formulaire pour création de sondage en XHR à faire'); - const payload = this; - this.http.post(`${environment.baseApiHref}/poll`, payload) - .subscribe(res => { - console.log('res', res) - }, - err => console.error('err', err)) - } -} diff --git a/src/app/config/PollConfig.ts b/src/app/config/PollConfig.ts index c34bb98a..88339e4f 100644 --- a/src/app/config/PollConfig.ts +++ b/src/app/config/PollConfig.ts @@ -58,9 +58,13 @@ export class PollConfig { visibility = 'link_only'; // visible to anyone with the link: voteChoices = 'only_yes'; // possible answers to a vote choice: only "yes", "yes, maybe, no" expirationDate = ''; // expiracy date + pollId = null; // id of the current poll when created. data given by the backend api + selectedPoll = null; // current poll selected with createPoll or getPoll of ConfigService passwordAccess = 0; password = ''; customUrl = ''; + urlPublic = 'https://framadate.org/default-url'; + urlAdmin = 'https://framadate.org/default-url/admin/d65es45fd45sdf45sd345f312sdf31sgfd345'; canModifyAnswers = 1;// everybody, self, nobody (= just admin) whoModifiesAnswers = "self";// everybody, self, nobody (= just admin) whoCanChangeAnswers = 'everybody';// everybody, self, nobody (= just admin) @@ -69,5 +73,6 @@ export class PollConfig { answers: any = defaultAnswers; - + constructor() { + } } diff --git a/src/app/config/Routes.ts b/src/app/config/Routes.ts index 8891f905..1fe1b9ca 100644 --- a/src/app/config/Routes.ts +++ b/src/app/config/Routes.ts @@ -10,7 +10,9 @@ import {CreateOrRetrieveComponent} from '../pages/create-or-retrieve/create-or-r import {BaseComponent} from '../pages/base-page/base.component'; import {HomeComponent} from "../pages/home/home.component"; import {PollGraphicComponent} from '../poll-graphic/poll-graphic.component'; -import {VoteChoiceComponent} from "../vote-choice/vote-choice.component"; +import {VoteChoiceComponent} from "../ui/vote-choice/vote-choice.component"; +import {PollDisplayComponent} from "../pages/poll-display/poll-display.component"; + import {VotingComponent} from "../pages/voting/voting.component"; import {PasswordComponent} from "../pages/password/password.component"; /** @@ -18,7 +20,7 @@ import {PasswordComponent} from "../pages/password/password.component"; */ export const Routes = [ - {path: '', component: CreateOrRetrieveComponent}, + {path: '', redirectTo: 'step/creation', pathMatch: 'full'}, {path: 'home', component: HomeComponent}, {path: 'base', component: BaseComponent}, {path: 'step/base', component: BaseComponent}, @@ -32,7 +34,9 @@ export const Routes = {path: 'step/resume', component: ResumeComponent}, {path: 'step/end', component: EndConfirmationComponent}, {path: 'graphic/:poll', component: PollGraphicComponent}, + {path: 'vote/poll/id/:poll', component: PollDisplayComponent}, {path: 'votechoice', component: VoteChoiceComponent}, + {path: '**', redirectTo: '/home', pathMatch: 'full'}, {path: 'voting', component: VotingComponent}, {path: 'step/password', component: PasswordComponent}, ] diff --git a/src/app/config/mock-comments.ts b/src/app/config/mock-comments.ts new file mode 100644 index 00000000..1cbf58e5 --- /dev/null +++ b/src/app/config/mock-comments.ts @@ -0,0 +1,8 @@ +export const mockComments = [ + { + name: "Bulbizarre", + date: "23 décembre 2019", + 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", + } +]; diff --git a/src/app/config/mock-poll3.ts b/src/app/config/mock-poll3.ts new file mode 100644 index 00000000..779b2e69 --- /dev/null +++ b/src/app/config/mock-poll3.ts @@ -0,0 +1,186 @@ +export const mockPoll3 = { + "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-15 15:07:53.000000", + "timezone_type": 3, + "timezone": "Europe/Paris" + }, + "expiracyDate": { + "date": "2020-01-15 15:07:53.000000", + "timezone_type": 3, + "timezone": "Europe/Paris" + }, + "owner": { + "__initializer__": {}, + "__cloner__": {}, + "__isInitialized__": false + }, + "kind": "text", + "allowedAnswers": [ + "yes" + ], + "modificationPolicy": "self", + "mailOnComment": null, + "mailOnVote": null, + "hideResults": null, + "showResultEvenIfPasswords": null, + "votes": {}, + "stacksOfVotes": {}, + "choices": {}, + "comments": {}, + "defaultExpiracyDaysFromNow": 60 + }, + "stacks_count": 2, + "stacks": [ + { + "pseudo": "Wulfila", + "votes": {} + }, + { + "pseudo": "Tykayn", + "votes": {} + } + ], + "choices_count": 7, + "choices": [ + { + "id": 5, + "name": "Vic le viking", + "dateTime": { + "date": "2020-01-15 15:07:53.000000", + "timezone_type": 3, + "timezone": "Europe/Paris" + }, + "votes": { + "count": { + "yes": 0, + "no": 0, + "maybe": 0, + "null": 0, + } + }, + simpleAnswer: true, + "answer": null + }, + { + "id": 6, + "name": "Boumbo petite automobile", + "dateTime": { + "date": "2020-01-15 15:07:53.000000", + "timezone_type": 3, + "timezone": "Europe/Paris" + }, + "votes": { + "count": { + "yes": 0, + "no": 0, + "maybe": 0, + "null": 0, + } + }, + simpleAnswer: true, + "answer": null + }, + { + "id": 7, + "name": "Les mystérieuses cités d'or", + "dateTime": { + "date": "2020-01-15 15:07:53.000000", + "timezone_type": 3, + "timezone": "Europe/Paris" + }, + "votes": { + "count": { + "yes": 0, + "no": 0, + "maybe": 0, + "null": 0, + } + }, + simpleAnswer: true, + "answer": null + }, + { + "id": 8, + "name": "Les mondes engloutis", + "dateTime": { + "date": "2020-01-15 15:07:53.000000", + "timezone_type": 3, + "timezone": "Europe/Paris" + }, + "votes": { + "count": { + "yes": 0, + "no": 0, + "maybe": 0, + "null": 0, + } + }, + simpleAnswer: true, + "answer": null + }, + { + "id": 9, + "name": "Foot 2 rue", + "dateTime": { + "date": "2020-01-15 15:07:53.000000", + "timezone_type": 3, + "timezone": "Europe/Paris" + }, + "votes": { + "count": { + "yes": 0, + "no": 0, + "maybe": 0, + "null": 0, + } + }, + simpleAnswer: true, + "answer": null + }, + { + "id": 10, + "name": "Le chat, la vache, et l'océan", + "dateTime": { + "date": "2020-01-15 15:07:53.000000", + "timezone_type": 3, + "timezone": "Europe/Paris" + }, + "votes": { + "count": { + "yes": 0, + "no": 0, + "maybe": 0, + "null": 0, + } + }, + simpleAnswer: true, + "answer": null + }, + { + "id": 11, + "name": "Digimon", + "dateTime": { + "date": "2020-01-15 15:07:53.000000", + "timezone_type": 3, + "timezone": "Europe/Paris" + }, + "votes": { + "count": { + "yes": 0, + "no": 0, + "maybe": 0, + "null": 0, + } + }, + simpleAnswer: true, + "answer": null + } + ], + "comments": [] +} diff --git a/src/app/debugger/debugger.component.html b/src/app/debugger/debugger.component.html index c9e8a4f6..bae653fd 100644 --- a/src/app/debugger/debugger.component.html +++ b/src/app/debugger/debugger.component.html @@ -17,52 +17,32 @@
  • type de formulaire: {{config.pollType}}
  • -
  • - config: -
    -				{{config.answers|json}}
    -			
    -
  • + + + + + + See example of vote page + - - - Choix cornélien syncronisé: - - - - - - diff --git a/src/app/debugger/debugger.component.ts b/src/app/debugger/debugger.component.ts index 6b08ea6b..2cb828ff 100644 --- a/src/app/debugger/debugger.component.ts +++ b/src/app/debugger/debugger.component.ts @@ -1,5 +1,5 @@ import {Component, OnInit} from '@angular/core'; -import {ConfigService} from '../config.service'; +import {ConfigService} from '../services/config.service'; @Component({ selector: 'framadate-debugger', @@ -23,4 +23,8 @@ export class DebuggerComponent implements OnInit { return true; } + + launchToast() { + this.config.handleError({message: "hop"}) + } } diff --git a/src/app/pages/admin/admin.component.ts b/src/app/pages/admin/admin.component.ts index 13ec96e6..316fac84 100644 --- a/src/app/pages/admin/admin.component.ts +++ b/src/app/pages/admin/admin.component.ts @@ -1,6 +1,6 @@ import { Component, OnInit } from '@angular/core'; import {BaseComponent} from '../base-page/base.component'; -import {ConfigService} from '../../config.service'; +import {ConfigService} from '../../services/config.service'; @Component({ selector: 'framadate-admin', templateUrl: './admin.component.html', diff --git a/src/app/pages/answers/answers.component.html b/src/app/pages/answers/answers.component.html index fa2027fa..bfdfdd3e 100644 --- a/src/app/pages/answers/answers.component.html +++ b/src/app/pages/answers/answers.component.html @@ -11,7 +11,7 @@
  • {{"config.find_my_polls"|translate}} -
    - - - - -
    -
    -
    -
    - - + +
    +
    + + +
    + Aucun sondage. +
    +
    +
    + +
    + + + diff --git a/src/app/pages/create-or-retrieve/create-or-retrieve.component.ts b/src/app/pages/create-or-retrieve/create-or-retrieve.component.ts index 12ee44f1..fdaefbc9 100644 --- a/src/app/pages/create-or-retrieve/create-or-retrieve.component.ts +++ b/src/app/pages/create-or-retrieve/create-or-retrieve.component.ts @@ -1,7 +1,6 @@ import {Component, OnInit} from '@angular/core'; import {BaseComponent} from "../base-page/base.component"; -import {ConfigService} from "../../config.service"; -import {PollServiceService} from "../../services/poll-service.service"; +import {ConfigService} from "../../services/config.service"; @Component({ selector: 'framadate-create-or-retrieve', @@ -10,15 +9,22 @@ import {PollServiceService} from "../../services/poll-service.service"; }) export class CreateOrRetrieveComponent extends BaseComponent implements OnInit { - constructor(public config: ConfigService, public pollService: PollServiceService) { + loadedMyPolls: boolean = false; + + constructor(public config: ConfigService) { super(config); } ngOnInit() { + this.findMyPollsByEmail('tktest@tktest.com') } findMyPollsByEmail(email: string) { - this.pollService.findPollsByEmail(email); + if (!email) { + return + } + this.config.findPollsByEmail(email); + this.loadedMyPolls = true; } } diff --git a/src/app/pages/dates/dates.component.html b/src/app/pages/dates/dates.component.html index 43b43923..9ac26db3 100644 --- a/src/app/pages/dates/dates.component.html +++ b/src/app/pages/dates/dates.component.html @@ -89,7 +89,7 @@ @@ -133,7 +133,7 @@ -

    Pour l'instant, le choix ayant reçu le plus grand nombre de votes est : -

  • - Vendredi 6 juillet -
  • -- Samedi 7 août -
  • -

    - - -

    Les commentaires

    -

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

    -

    - Bulbizarre - le 23 décembre 2019 - Pokem ipsum dolor sit amet Electric Cottonee Scratch Leech Life Ice Berry Ducklett. Leaf Green Durant Zoroark Skitty Rock Luxio Surskit. Glacier Badge + + +

    Les commentaires

    +

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

    -

    Laisser un commentaire

    - - - - - -

    Partager le sondage

    - - -

    Exporter/Imprimer

    - - + + diff --git a/src/app/pages/voting/voting.component.scss b/src/app/pages/voting/voting.component.scss index 4db27213..e69de29b 100644 --- a/src/app/pages/voting/voting.component.scss +++ b/src/app/pages/voting/voting.component.scss @@ -1,71 +0,0 @@ -@import "../../../assets/scss/variables"; -form{ - display:flex; - margin:auto; - flex-direction: column; - align-items: center; - justify-content: flex-start; -} - -.popup{ - display:flex; - flex-direction: column; - z-index:2222222222; -} -.row{ - flex-direction: row; -} -label{ - font-weight: 600; - font-size: 18px; -} -.comment,.prefered{ - border-left:6px solid $ugly-purple ; - padding-left: 5px; - margin-top:25px; - margin-bottom: 25px; - flex-wrap: wrap; -} -.comment{ - display:flex; -} -.commeny span{ - flex-direction: row; -} -.cname{ - padding-left:17px; - font-weight: bold; -} -.btn{ - max-width: 300px; -} -.next{ - max-width:200px; -} -input[type=text],textarea{ - max-width:350px; -} -li{ - list-style-type: none; -} -h2{ - -} -.next{ - align-self: flex-end; - margin-bottom:50px; -} -textarea{ - height:213px; - margin-bottom:20px; -} -.name{ - margin-bottom:50px; - margin-top:50px; -} -label{ -align-items: flex-start; -} -.nobold{ - font-weight: normal; -} diff --git a/src/app/poll-graphic/poll-graphic.component.html b/src/app/poll-graphic/poll-graphic.component.html index 6f969732..9c1e08e7 100644 --- a/src/app/poll-graphic/poll-graphic.component.html +++ b/src/app/poll-graphic/poll-graphic.component.html @@ -4,6 +4,7 @@ autofocus="autofocus" [(ngModel)]="isColorblind" (change)="toggleColorblind()" + class="input" > + {{ "pollGraphic.colorblindText" | translate }} +
    +
    + Pour l'instant, le choix ayant reçu le plus grand nombre de votes est : + {{preferred}} +
    diff --git a/src/app/poll-graphic/poll-graphic.component.ts b/src/app/poll-graphic/poll-graphic.component.ts index f3ba0682..990ddb9d 100644 --- a/src/app/poll-graphic/poll-graphic.component.ts +++ b/src/app/poll-graphic/poll-graphic.component.ts @@ -1,5 +1,6 @@ -import {Component, OnInit} from "@angular/core"; +import {Component, Inject, OnInit} from "@angular/core"; import {Chart} from "chart.js"; +import {DOCUMENT} from '@angular/common'; @Component({ selector: "framadate-poll-graphic", @@ -8,15 +9,15 @@ import {Chart} from "chart.js"; }) export class PollGraphicComponent implements OnInit { isColorblind: boolean = false; - lineChart: Chart; pollData: any; + preferred: any = "rien"; yesList: number[] = []; maybeList: number[] = []; noList: number[] = []; nbPoll: number = 0; dateList: string[] = []; - constructor() { + constructor(@Inject(DOCUMENT) private document: any,) { } ngOnInit() { @@ -76,7 +77,7 @@ export class PollGraphicComponent implements OnInit { this.formatDataAnswers(toto); this.isColorblind = false; - this.pollData = new Chart(document.getElementById("graph"), { + this.pollData = new Chart(this.document.getElementById("graph"), { type: "horizontalBar", data: { labels: ["jeudi"], diff --git a/src/app/services/config.service.ts b/src/app/services/config.service.ts new file mode 100644 index 00000000..3a889a90 --- /dev/null +++ b/src/app/services/config.service.ts @@ -0,0 +1,319 @@ +import {Injectable} from '@angular/core'; +import {PollConfig} from '../config/PollConfig'; +import {HttpClient, HttpHeaders} from "@angular/common/http"; +import {environment} from "../../environments/environment"; +import {MessageService} from 'primeng/api'; + +/** + * le service transverse à chaque page qui permet de syncroniser la configuration de sondage souhaitée + */ +@Injectable({ + providedIn: 'root' +}) +export class ConfigService extends PollConfig { + myEmail: string; + loading: boolean = false; + baseHref: any = environment.baseApiHref; + myPolls: any;// list of retrieved polls from the backend api + + + constructor(private http: HttpClient, + private messageService: MessageService) { + super(); + } + + set(key, val) { + this[key] = val; + } + + clear() { + this.messageService.clear(); + } + + /** ================================== + * + * poll public calls to get non authenticated info + * + * ==================================/ + /** + * convert current poll config to a payload to send to the backend API + */ + getPollConfig() { + const jsonConfig = { + method: 'POST', + data: { + + owner: { + email: this.myEmail, + pseudo: this.myName, + }, + title: this.title, + description: this.description, + type: 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, + whoModifiesAnswers: this.whoModifiesAnswers, + dateList: this.dateList, + timeList: this.timeList, + answers: this.answers, + } + }; + console.log('jsonConfig', jsonConfig); + return jsonConfig + } + + makeHeaders(bodyContent?: any) { + + const headerDict = { + 'Charset': 'UTF-8', + 'Content-Type': 'application/json', + 'Accept': 'application/json', + 'Access-Control-Allow-Methods': 'GET, POST, PUT, DELETE', + 'Access-Control-Allow-Origin': '*' + }; + + const requestOptions = { + headers: new HttpHeaders(headerDict), + body: bodyContent + }; + + return requestOptions; + } + + /** + * search in localstorage, fallback asking the backend to send an email to the owner if it exists + * @param email + */ + findPollsByEmail(email: string) { + + + this.findLocalStorageData(); + // If no key is found in the localstorage, ask the backend to send an email to the user + + this.myEmail = email; + + + this.loading = true; + this.http.get(`${this.baseHref}/my-polls`, + this.makeHeaders({email: this.myEmail}), + ) + .subscribe(res => { + // message: 'Trouvé! Allez voir votre boite email', + this.myPolls = res; + console.log('res', res) + this.loading = false; + this.messageService.add({ + severity: 'success', + summary: 'Service Message', + detail: 'Via MessageService' + }); + }, (e) => { + this.handleError(e) + } + ) + } + + + /** + * display error message depending on the response of the backend + * @param err + */ + handleError(err: any) { + // TODO handle a toast message + console.error('err', err); + this.loading = false; + this.messageService.add({severity: 'warning', summary: "Erreur lors de l'appel "}); + } + + + findLocalStorageData() { + // TODO check if the person has a key to retrieve her polls + + } + + + /** + * get one poll by its slug name + * @param url + */ + getPollByURL(url: string) { + this.http.get(`${this.baseHref}/poll/${url}`, this.makeHeaders()).subscribe( + (res: any) => { + this.myPolls = res.data; + }, (e) => { + this.handleError(e) + } + ); + } + + /** + * GET + * api/v1/poll/{id} + * @param id + */ + getPollById(id: string, password: string) { + + this.http + .get(`${this.baseHref}/poll/${id}`, + this.makeHeaders({body: password})) + .subscribe( + (res: any) => { + this.myPolls = res.data; + }, (e) => { + this.handleError(e) + } + ); + } + + /** + * GET + * api/v1/my-polls + * @param ownerEmail + */ + getMyPolls(ownerEmail: string) { + this.http + .get(`${this.baseHref}/my-polls`, + this.makeHeaders({ownerEmail: ownerEmail}) + ) + .subscribe( + (res: any) => { + this.myPolls = res.data; + }, (e) => { + this.handleError(e) + } + ); + } + + + /** + * action of the form + */ + createPoll() { + console.log('sends the form'); + // alert('envoi de formulaire pour création de sondage en XHR à faire'); + this.http.get(`${this.baseHref}/`, this.makeHeaders()) + .subscribe((res) => { + console.log('res', res); + this.createPollFromConfig(this.getPollConfig()) + }, + this.handleError + ) + ; + + } + + /** + * POST + * /api/v1/poll/{id}/poll + * @param config + */ + createPollFromConfig(config: any) { + this.http.post(`${this.baseHref}/poll`, this.makeHeaders({config: config})) + .subscribe((res: any) => { + // redirect to the page to administrate the new poll + this.messageService.add({severity: 'success', summary: 'Sondage Créé',}); + this.selectedPoll = res; + this.pollId = res.pollId; + }, (e) => { + this.handleError(e) + } + ); + } + + /** + * UPDATE + * /api/v1/poll/{id}/vote + * @param voteStack + */ + updatePoll(voteStack: any) { + this.http.put( + `${this.baseHref}/poll/${this.pollId}`, + voteStack, + this.makeHeaders() + ) + .subscribe((res: any) => { + this.messageService.add({ + severity: 'success', + summary: 'Sondage mis à jour', + }); + this.myPolls = res; + }, (e) => { + this.handleError(e) + } + ); + } + + /** + * POST + * /api/v1/poll/{id}/vote + * @param voteStack + */ + addVote(voteStack: any) { + this.http.post( + `${this.baseHref}/poll/${this.pollId}/vote`, + voteStack, + this.makeHeaders()) + .subscribe((res: any) => { + + this.messageService.add({severity: 'success', summary: 'Vote ajouté'}); + alert("succès!"); + this.myPolls = res; + }, (e) => { + this.handleError(e) + } + ); + } + + /** + * UPDATE + * /api/v1/poll/{id}/vote + * @param voteStack + */ + updateVote(voteStack: any) { + this.http.put( + `${this.baseHref}/poll/${this.pollId}/vote`, + voteStack, + this.makeHeaders()) + .subscribe((res: any) => { + this.messageService.add({severity: 'success', summary: 'Vote mis à jour'}); + this.myPolls = res; + }, (e) => { + this.handleError(e) + } + ); + } + + /** + * POST + * /api/v1/poll/{id}/comment + * @param comment + */ + addComment(comment: any) { + this.http.post( + `${this.baseHref}/poll/${this.pollId}/comment`, + comment, + this.makeHeaders()) + .subscribe((res: any) => { + this.messageService.add({ + severity: 'success', + summary: 'Commentaire Créé', + detail: 'Via MessageService' + }); + }, (e) => { + this.handleError(e) + } + ); + } + + + /** + * administrator calls + */ + +} diff --git a/src/app/services/poll-service.service.spec.ts b/src/app/services/poll-service.service.spec.ts index c9b6bcec..c47006ba 100644 --- a/src/app/services/poll-service.service.spec.ts +++ b/src/app/services/poll-service.service.spec.ts @@ -1,12 +1,12 @@ import { TestBed } from '@angular/core/testing'; -import { PollServiceService } from './poll-service.service'; +import { PollService } from './poll.service'; describe('PollServiceService', () => { beforeEach(() => TestBed.configureTestingModule({})); it('should be created', () => { - const service: PollServiceService = TestBed.get(PollServiceService); + const service: PollService = TestBed.get(PollService); expect(service).toBeTruthy(); }); }); diff --git a/src/app/services/poll-service.service.ts b/src/app/services/poll-service.service.ts deleted file mode 100644 index 0bf09ae0..00000000 --- a/src/app/services/poll-service.service.ts +++ /dev/null @@ -1,32 +0,0 @@ -import {Injectable} from '@angular/core'; -import {ConfigService} from "../config.service"; -import {HttpClient} from "@angular/common/http"; -import {environment} from "../../environments/environment"; - -class JsonResponse { - message: string; - data: string; -} - -@Injectable({ - providedIn: 'root' -}) -export class PollServiceService { - - private baseHref: string = environment.baseApiHref; - - constructor(private configService: ConfigService, - private http: HttpClient) { - } - - findPollsByEmail(email: string) { - // TODO check if the person has a key to retrieve her polls - // If no key is found in the localstorage, ask the backend to send an email to the user - - this.configService.myEmail = email; - this.http.get(this.baseHref + '/').subscribe(res => { - this.configService.myPolls = res; - }, err => console.error('err', err) - ) - } -} diff --git a/src/app/services/poll.service.ts b/src/app/services/poll.service.ts new file mode 100644 index 00000000..33f190d2 --- /dev/null +++ b/src/app/services/poll.service.ts @@ -0,0 +1,15 @@ +import {Injectable} from '@angular/core'; +import {environment} from "../../environments/environment"; + +@Injectable({ + providedIn: 'root' +}) +export class PollService { + + private baseHref: string = environment.baseApiHref; + + constructor() { + } + + +} diff --git a/src/app/progression.service.spec.ts b/src/app/services/progression.service.spec.ts similarity index 100% rename from src/app/progression.service.spec.ts rename to src/app/services/progression.service.spec.ts diff --git a/src/app/ui/navigation/navigation.component.html b/src/app/ui/navigation/navigation.component.html index f010f8c2..081ada0d 100644 --- a/src/app/ui/navigation/navigation.component.html +++ b/src/app/ui/navigation/navigation.component.html @@ -69,6 +69,9 @@ > Page démo + + Sondage dessins animés + - +
    +
    + {{choice.name}} +
    + -
    - {{choice.date | date:'EEE'}} {{choice.date | date:'dd'}} {{choice.date | date:'LLL'}} -
    -
    - 08:00 +
    +
    + {{choice.date | date:'EEE'}} {{choice.date | date:'dd'}} {{choice.date | date:'LLL'}} +
    +
    + 08:00 +
    @@ -26,32 +32,46 @@
    - - - + +
    -
    \ No newline at end of file +
    diff --git a/src/app/vote-choice/vote-choice.component.scss b/src/app/ui/vote-choice/vote-choice.component.scss similarity index 88% rename from src/app/vote-choice/vote-choice.component.scss rename to src/app/ui/vote-choice/vote-choice.component.scss index 243bc75a..65666516 100644 --- a/src/app/vote-choice/vote-choice.component.scss +++ b/src/app/ui/vote-choice/vote-choice.component.scss @@ -5,22 +5,20 @@ // -- IMPORTS // ---------------------------- -@import "../../assets/scss/variables"; - +@import "../../../assets/scss/variables"; // -- VARIABLES // ---------------------------- -$box-padding : 2rem; -$box-border-width : .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 - +$box-padding: 2rem; +$box-border-width: .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 @@ -34,11 +32,17 @@ $breakpoint-responsive : 640px; // à définir border-left: $box-border-width solid transparent; background-color: $white; box-shadow: 0 0 .6rem 0 rgba($black, .2); + &--active { padding-left: $box-padding; border-left-color: $primary_color; } + &.selection-yes { + font-weight: 700; + background: #e9bdeb; + } + @media (min-width: $breakpoint-responsive) { display: flex; align-items: center; @@ -58,7 +62,6 @@ $breakpoint-responsive : 640px; // à définir } - // -- DATE // ---------------------------- @@ -79,7 +82,6 @@ $breakpoint-responsive : 640px; // à définir } - // -- IMG // ---------------------------- @@ -89,7 +91,6 @@ $breakpoint-responsive : 640px; // à définir } - // -- TXT // ---------------------------- @@ -99,7 +100,6 @@ $breakpoint-responsive : 640px; // à définir } - // -- VOTE BTNS // ---------------------------- @@ -129,25 +129,29 @@ $breakpoint-responsive : 640px; // à définir align-items: center; justify-content: center; margin: $btn-margin-y $btn-margin-x; - border: .1rem solid $primary_color; + border: .3rem solid #ccc9c9; background-color: transparent; border-radius: 50%; - @media (min-width: $breakpoint-responsive) { margin-top: 0; margin-bottom: 0; } - &:focus, - &:hover, - &:active { - border-color: #ccc9c9; - background-color: #f7f7f7; - } + //&:focus, + //&:hover, + //&:active { + // + // border-color: #ccc9c9; + // background-color: #f7f7f7; + // + // &--active { + // border-color: #bf83c2 !important; + // } + //} &--maybe { position: relative; - top: calc( (#{$btn-size} + 2 * #{$btn-margin-y}) / 2 ); + top: calc((#{$btn-size} + 2 * #{$btn-margin-y}) / 2); @media (min-width: $breakpoint-responsive) { top: auto; left: auto; @@ -155,13 +159,11 @@ $breakpoint-responsive : 640px; // à définir } &--active { - border-width: .3rem; border-color: #bf83c2; } } - // -- VOTE COUNT // ---------------------------- @@ -195,6 +197,7 @@ $breakpoint-responsive : 640px; // à définir .choicebox__vote { display: inline-block; vertical-align: middle; + & + .choicebox__vote { margin-left: 1.5rem; } @@ -203,6 +206,7 @@ $breakpoint-responsive : 640px; // à définir .choicebox__countxt { display: none; margin-top: .5rem; + .choicebox--active & { display: block; @media (min-width: $breakpoint-responsive) { @@ -212,7 +216,6 @@ $breakpoint-responsive : 640px; // à définir } - // -- TOOLTIP // ---------------------------- @@ -265,6 +268,7 @@ $breakpoint-responsive : 640px; // à définir & + .choicebox__tooltiplist { padding-left: 3rem; } + ul { max-height: 11rem; overflow: auto; diff --git a/src/app/vote-choice/vote-choice.component.spec.ts b/src/app/ui/vote-choice/vote-choice.component.spec.ts similarity index 100% rename from src/app/vote-choice/vote-choice.component.spec.ts rename to src/app/ui/vote-choice/vote-choice.component.spec.ts diff --git a/src/app/vote-choice/vote-choice.component.ts b/src/app/ui/vote-choice/vote-choice.component.ts similarity index 63% rename from src/app/vote-choice/vote-choice.component.ts rename to src/app/ui/vote-choice/vote-choice.component.ts index ab31a590..9ecc8f28 100644 --- a/src/app/vote-choice/vote-choice.component.ts +++ b/src/app/ui/vote-choice/vote-choice.component.ts @@ -1,21 +1,22 @@ -import {Component, Input} from '@angular/core'; +import {Component, ElementRef, Input} from '@angular/core'; interface VoteChoice { - votesCount: { + votes?: { yes: number no: number maybe: number notAnswered: number }; - text?: string; + name?: string; date?: Date; answer: 'yes' | 'no' | 'maybe' | null; - simpleAnswer: boolean; // enable if we display only a togglable "yes" + 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 text answer + * this component is used to select a date choice, or a name answer */ @Component({ selector: 'framadate-vote-choice', @@ -24,20 +25,9 @@ interface VoteChoice { }) export class VoteChoiceComponent { - @Input() choice: VoteChoice = { - date: new Date(), - text: 'description ', - votesCount: { - yes: 0, - no: 0, - maybe: 0, - notAnswered: 0 - }, - simpleAnswer: false, - answer: null - }; + @Input() private choice: any; - constructor() { + constructor(private el: ElementRef) { } @@ -53,6 +43,7 @@ export class VoteChoiceComponent { } else { this.choice.answer = newAnswer; } + this.el.nativeElement.blur(); } } diff --git a/src/environments/environment.prod.ts b/src/environments/environment.prod.ts index 0a1bc680..47e900ae 100644 --- a/src/environments/environment.prod.ts +++ b/src/environments/environment.prod.ts @@ -1,4 +1,4 @@ export const environment = { production: true, - baseApiHref : 'http://127.0.0.1:8000/api/v1/' + baseApiHref: 'https://framadate-api.cipherbliss.com/api/v1' }; diff --git a/src/environments/environment.ts b/src/environments/environment.ts index 918f5d2b..0ab15255 100644 --- a/src/environments/environment.ts +++ b/src/environments/environment.ts @@ -4,7 +4,8 @@ export const environment = { production: false, - baseApiHref: "http://127.0.0.1:8000/api/v1/" + baseApiHref: "https://framadate-api.cipherbliss.com/api/v1" + // baseApiHref: "http://localhost:8000/api/v1" }; /* diff --git a/src/locale/messages.xlf b/src/locale/messages.xlf deleted file mode 100644 index ba35cf85..00000000 --- a/src/locale/messages.xlf +++ /dev/null @@ -1,343 +0,0 @@ - - - - - - - Ceci est une démo - - - src/app/app.component.html - 7 - - introduction header saying just demo - demo title - - - - Updated - - - src/app/app.component.html - 10 - - - - {VAR_PLURAL, plural, =0 {just now} =1 {one minute ago} other { minutes ago} } - - src/app/app.component.html - 11 - - - - placeholder à traduire - - src/app/app.component.html - 13 - - - - C'est parfait! - - src/app/pages/base-page/base.component.html - 2 - - - src/app/pages/kind/kind.component.html - 4 - - - src/app/pages/visibility/visibility.component.html - 14 - - - src/app/pages/resume/resume.component.html - 10 - - - - - Config spécialement pour les dates - - - src/app/pages/dates/dates.component.html - 1 - - - - - Je souhaite mettre des créneaux horaires - - - src/app/pages/dates/dates.component.html - 16 - - - - - pour chaque journée - - - src/app/pages/dates/dates.component.html - 20 - - - - - Ajouter une plage de dates - - - src/app/pages/dates/dates.component.html - 30 - - - - - choix de Dates - - - src/app/pages/dates/dates.component.html - 35 - - - - - infos de debug - - - src/app/debugger/debugger.component.html - 4 - - - - - Choix cornélien syncronisé: - - - src/app/debugger/debugger.component.html - 27 - - - - - sondage classique - - - src/app/debugger/debugger.component.html - 37 - - - - - sondage spécial date - - - src/app/debugger/debugger.component.html - 51 - - - - - Envoyer le formulaire - - - src/app/debugger/debugger.component.html - 64 - - - - - Visibilité des réponses - - - src/app/pages/visibility/visibility.component.html - 1 - - - - - Votes - - - src/app/pages/visibility/visibility.component.html - 4 - - - - - Archivage - - - src/app/pages/visibility/visibility.component.html - 7 - - - - - Accès au sondage - - - src/app/pages/visibility/visibility.component.html - 11 - - - - - Résumé avant validation - - - src/app/pages/resume/resume.component.html - 1 - - - - - Images - - - src/app/pages/pictures/pictures.component.html - 2 - - - - - Choisir les propositions - - - src/app/pages/answers/answers.component.html - 2 - - - - - vous pouvez utiliser la syntaxe markdown - - - src/app/pages/answers/answers.component.html - 6 - - - - - Et c'est tout pour nous! - - - src/app/pages/end-confirmation/end-confirmation.component.html - 1 - - - - Coté administrateur-ice-eux - - src/app/pages/end-confirmation/end-confirmation.component.html - 4 - - - - Coté sondés - - src/app/pages/end-confirmation/end-confirmation.component.html - 5 - - - - recevoir les liens par e-mail - - src/app/pages/end-confirmation/end-confirmation.component.html - 6 - - - - - Créer un sondage - - - src/app/pages/create-or-retrieve/create-or-retrieve.component.html - 2 - - - - - Planifiez des rendez-vous avec vos amis ou votre famille ou créez un sondage avec du texte, des images ou des - liens… un sondage quoi ! - - - src/app/pages/create-or-retrieve/create-or-retrieve.component.html - 8 - - - - - C'est parti - - - src/app/pages/create-or-retrieve/create-or-retrieve.component.html - 19 - - - - - Où sont mes sondages ? - - - src/app/pages/create-or-retrieve/create-or-retrieve.component.html - 29 - - - - - Je cherche les sondages qui correspondent à mon mail : - - - src/app/pages/create-or-retrieve/create-or-retrieve.component.html - 40 - - - - - Pour commencer - - - src/app/pages/home/home.component.html - 4 - - - - - Je veux créer un sondage - - - src/app/pages/home/home.component.html - 10 - - - - - Dont le titre sera - - - src/app/pages/home/home.component.html - 34 - - - - - et la description serait - - - src/app/pages/home/home.component.html - 64 - - - - - Continuer - - - src/app/pages/home/home.component.html - 82 - - - - - diff --git a/yarn.lock b/yarn.lock index c12a1151..cafeabae 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10,31 +10,39 @@ "@angular-devkit/core" "8.3.21" rxjs "6.4.0" -"@angular-devkit/build-angular@^0.803.21": - version "0.803.21" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-0.803.21.tgz#f3d12ea09748b05eb2d835a7de7997599fb6b752" - integrity sha512-flfgflvfpwdsm3x/U7QnfbtyZPEbsVipzQAoao1Zo58Beq1a+NsKsWbjrF/x4TSoI2czt0OVWXNytlfXM7LMhg== +"@angular-devkit/architect@0.803.23": + version "0.803.23" + resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.803.23.tgz#a73ae2edede539f37fbfb09e4085ac24ec3781c9" + integrity sha512-BRDbnmdULrle2l7WFZHEW/OAwS8RRg08+jiNG3gEP0BxDN6QMNMKmWhxmX67pgq3e/xMvu2DH0z71mAPNtJDAw== dependencies: - "@angular-devkit/architect" "0.803.21" - "@angular-devkit/build-optimizer" "0.803.21" - "@angular-devkit/build-webpack" "0.803.21" - "@angular-devkit/core" "8.3.21" + "@angular-devkit/core" "8.3.23" + rxjs "6.4.0" + +"@angular-devkit/build-angular@~0.803.21": + version "0.803.23" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-0.803.23.tgz#d60698ca1ae3426c2d38582a8a59ae10e224980e" + integrity sha512-hlaDMuScRbgdsH3Toyze5G5NhmJypWIPGcIt4CAcXAnVdSltrBPKzu5Psr+ACcDLH3TYtlMKBrkAG9xXS3it1g== + dependencies: + "@angular-devkit/architect" "0.803.23" + "@angular-devkit/build-optimizer" "0.803.23" + "@angular-devkit/build-webpack" "0.803.23" + "@angular-devkit/core" "8.3.23" "@babel/core" "7.7.5" "@babel/preset-env" "7.7.6" - "@ngtools/webpack" "8.3.21" + "@ngtools/webpack" "8.3.23" ajv "6.10.2" autoprefixer "9.6.1" - browserslist "4.6.6" + browserslist "4.8.3" cacache "12.0.2" - caniuse-lite "1.0.30000989" + caniuse-lite "1.0.30001019" circular-dependency-plugin "5.2.0" clean-css "4.2.1" copy-webpack-plugin "5.1.1" core-js "3.2.1" + coverage-istanbul-loader "2.0.3" file-loader "4.2.0" find-cache-dir "3.0.0" glob "7.1.4" - istanbul-instrumenter-loader "3.0.1" jest-worker "24.9.0" karma-source-map-support "1.4.0" less "3.9.0" @@ -63,7 +71,7 @@ stylus-loader "3.0.2" terser "4.3.9" terser-webpack-plugin "1.4.3" - tree-kill "1.2.1" + tree-kill "1.2.2" webpack "4.39.2" webpack-dev-middleware "3.7.2" webpack-dev-server "3.9.0" @@ -72,10 +80,10 @@ webpack-subresource-integrity "1.1.0-rc.6" worker-plugin "3.2.0" -"@angular-devkit/build-optimizer@0.803.21": - version "0.803.21" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-optimizer/-/build-optimizer-0.803.21.tgz#ecb3b6bba4b13ffbfbdbefb5997f690aa3635203" - integrity sha512-gNN6kPaF4phZco3TmsrNr9tIEKXYsoSeoaUiDUfgmCYwa7fAqM8Ojh7HX6IQuB2PpVmEwKGlCcSh6xDtB33NjA== +"@angular-devkit/build-optimizer@0.803.23": + version "0.803.23" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-optimizer/-/build-optimizer-0.803.23.tgz#573138cb7202ae1cb60ca832ea5df98a46674fbd" + integrity sha512-0MJAnGjpmE1hNrwDBi/7b9G1qyt2qN/wcZOj6QseZeWuoxIVXIWgdM6gBpJdgB7HI7vv4l4LpyFX9Doq+2r7Xg== dependencies: loader-utils "1.2.3" source-map "0.7.3" @@ -83,13 +91,13 @@ typescript "3.5.3" webpack-sources "1.4.3" -"@angular-devkit/build-webpack@0.803.21": - version "0.803.21" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.803.21.tgz#fd45754c0123f44fcde8fa6411ebea52d98054f0" - integrity sha512-zCFVla/Xdk8qGVybvnHtoKml2h0/ShasSjT55VNZO1XaTCMqYkQEwwqSGEiVajpauafWjKrKxxBhsmWoI4efAA== +"@angular-devkit/build-webpack@0.803.23": + version "0.803.23" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.803.23.tgz#43f2449835f9e020894e49420a34ac983190f3c6" + integrity sha512-ttsvUpoMHAr84I3YQmr2Yyu1qPIjw3m+aYgeEh1cAN+Ck8/F/q+Z+nWsmcgIXEC2f8xN7uZWy4PIkCZR8YETOg== dependencies: - "@angular-devkit/architect" "0.803.21" - "@angular-devkit/core" "8.3.21" + "@angular-devkit/architect" "0.803.23" + "@angular-devkit/core" "8.3.23" rxjs "6.4.0" "@angular-devkit/core@8.3.21": @@ -103,6 +111,17 @@ rxjs "6.4.0" source-map "0.7.3" +"@angular-devkit/core@8.3.23": + version "8.3.23" + resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-8.3.23.tgz#612bf8a76b1ccde40cd6a5e85a02dc083bb666c6" + integrity sha512-y++LN6R/fu+obPUKEMDSKZ5FzeWN5rV0Z8vrdC+uF02VJLv/5QI/dUx3ROKFzJO3m2LU6EAuo5b/TLAPq4ving== + dependencies: + ajv "6.10.2" + fast-json-stable-stringify "2.0.0" + magic-string "0.25.3" + rxjs "6.4.0" + source-map "0.7.3" + "@angular-devkit/schematics@8.3.21": version "8.3.21" resolved "https://registry.yarnpkg.com/@angular-devkit/schematics/-/schematics-8.3.21.tgz#80d515f480180be18a4130ea691f90153bcab3ea" @@ -111,13 +130,22 @@ "@angular-devkit/core" "8.3.21" rxjs "6.4.0" -"@angular/animations@~8.2.0": - version "8.2.5" - resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-8.2.5.tgz#847296d12690c1e385f6f790fbb472d0e4aabde9" - integrity sha512-t4TT11YIRGKSNYz5ngZ7trVPKZMtEql2LaPaVQnAZ6Cefrf+1s431mVh7ndPtGTLxRwr6RPTUe+Tc+5e2ROcmg== +"@angular/animations@^8.2.14": + version "8.2.14" + resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-8.2.14.tgz#76736b21e56165e6ca4925fb69605bdcc56aba7d" + integrity sha512-3Vc9TnNpKdtvKIXcWDFINSsnwgEMiDmLzjceWg1iYKwpeZGQahUXPoesLwQazBMmxJzQiA4HOMj0TTXKZ+Jzkg== dependencies: tslib "^1.9.0" +"@angular/cdk@^8.2.3": + version "8.2.3" + resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-8.2.3.tgz#16b96ffa935cbf5a646757ecaf2b19c434678f72" + integrity sha512-ZwO5Sn720RA2YvBqud0JAHkZXjmjxM0yNzCO8RVtRE9i8Gl26Wk0j0nQeJkVm4zwv2QO8MwbKUKGTMt8evsokA== + dependencies: + tslib "^1.7.1" + optionalDependencies: + parse5 "^5.0.0" + "@angular/cli@~8.3.21": version "8.3.21" resolved "https://registry.yarnpkg.com/@angular/cli/-/cli-8.3.21.tgz#cbb05b86b7f34ecd81d52ccad922359e66a16a15" @@ -151,7 +179,7 @@ dependencies: tslib "^1.9.0" -"@angular/compiler-cli@^8.2.14": +"@angular/compiler-cli@~8.2.14": version "8.2.14" resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-8.2.14.tgz#1997bec04a6b9d022954e5747505fe8906994594" integrity sha512-XDrTyrlIZM+0NquVT+Kbg5bn48AaWFT+B3bAT288PENrTdkuxuF9AhjFRZj8jnMdmaE4O2rioEkXBtl6z3zptA== @@ -188,7 +216,7 @@ dependencies: tslib "^1.9.0" -"@angular/language-service@^8.2.14": +"@angular/language-service@~8.2.14": version "8.2.14" resolved "https://registry.yarnpkg.com/@angular/language-service/-/language-service-8.2.14.tgz#e18b27a6841577ce489ad31540150da5a444ca37" integrity sha512-7EhN9JJbAJcH2xCa+rIOmekjiEuB0qwPdHuD5qn/wwMfRzMZo+Db4hHbR9KHrLH6H82PTwYKye/LLpDaZqoHOA== @@ -221,6 +249,13 @@ dependencies: "@babel/highlight" "^7.0.0" +"@babel/code-frame@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.8.3.tgz#33e25903d7481181534e12ec0a25f16b6fcf419e" + integrity sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g== + dependencies: + "@babel/highlight" "^7.8.3" + "@babel/core@7.7.5": version "7.7.5" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.7.5.tgz#ae1323cd035b5160293307f50647e83f8ba62f7e" @@ -241,6 +276,27 @@ semver "^5.4.1" source-map "^0.5.0" +"@babel/core@^7.7.5": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.8.3.tgz#30b0ebb4dd1585de6923a0b4d179e0b9f5d82941" + integrity sha512-4XFkf8AwyrEG7Ziu3L2L0Cv+WyY47Tcsp70JFmpftbAA1K7YL/sgE9jh9HyNj08Y/U50ItUchpN0w6HxAoX1rA== + dependencies: + "@babel/code-frame" "^7.8.3" + "@babel/generator" "^7.8.3" + "@babel/helpers" "^7.8.3" + "@babel/parser" "^7.8.3" + "@babel/template" "^7.8.3" + "@babel/traverse" "^7.8.3" + "@babel/types" "^7.8.3" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.1" + json5 "^2.1.0" + lodash "^4.17.13" + resolve "^1.3.2" + semver "^5.4.1" + source-map "^0.5.0" + "@babel/generator@^7.4.0", "@babel/generator@^7.6.0": version "7.6.0" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.6.0.tgz#e2c21efbfd3293ad819a2359b448f002bfdfda56" @@ -262,6 +318,16 @@ lodash "^4.17.13" source-map "^0.5.0" +"@babel/generator@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.8.3.tgz#0e22c005b0a94c1c74eafe19ef78ce53a4d45c03" + integrity sha512-WjoPk8hRpDRqqzRpvaR8/gDUPkrnOOeuT2m8cNICJtZH6mwaCo3v0OKMI7Y6SM1pBtyijnLtAL0HDi41pf41ug== + dependencies: + "@babel/types" "^7.8.3" + jsesc "^2.5.1" + lodash "^4.17.13" + source-map "^0.5.0" + "@babel/helper-annotate-as-pure@^7.7.4": version "7.7.4" resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.7.4.tgz#bb3faf1e74b74bd547e867e48f551fa6b098b6ce" @@ -329,6 +395,15 @@ "@babel/template" "^7.7.4" "@babel/types" "^7.7.4" +"@babel/helper-function-name@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz#eeeb665a01b1f11068e9fb86ad56a1cb1a824cca" + integrity sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA== + dependencies: + "@babel/helper-get-function-arity" "^7.8.3" + "@babel/template" "^7.8.3" + "@babel/types" "^7.8.3" + "@babel/helper-get-function-arity@^7.0.0": version "7.0.0" resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz#83572d4320e2a4657263734113c42868b64e49c3" @@ -343,6 +418,13 @@ dependencies: "@babel/types" "^7.7.4" +"@babel/helper-get-function-arity@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz#b894b947bd004381ce63ea1db9f08547e920abd5" + integrity sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA== + dependencies: + "@babel/types" "^7.8.3" + "@babel/helper-hoist-variables@^7.7.4": version "7.7.4" resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.7.4.tgz#612384e3d823fdfaaf9fce31550fe5d4db0f3d12" @@ -438,6 +520,13 @@ dependencies: "@babel/types" "^7.7.4" +"@babel/helper-split-export-declaration@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz#31a9f30070f91368a7182cf05f831781065fc7a9" + integrity sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA== + dependencies: + "@babel/types" "^7.8.3" + "@babel/helper-wrap-function@^7.7.4": version "7.7.4" resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.7.4.tgz#37ab7fed5150e22d9d7266e830072c0cdd8baace" @@ -457,6 +546,15 @@ "@babel/traverse" "^7.7.4" "@babel/types" "^7.7.4" +"@babel/helpers@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.8.3.tgz#382fbb0382ce7c4ce905945ab9641d688336ce85" + integrity sha512-LmU3q9Pah/XyZU89QvBgGt+BCsTPoQa+73RxAQh8fb8qkDyIfeQnmgs+hvzhTCKTzqOyk7JTkS3MS1S8Mq5yrQ== + dependencies: + "@babel/template" "^7.8.3" + "@babel/traverse" "^7.8.3" + "@babel/types" "^7.8.3" + "@babel/highlight@^7.0.0": version "7.5.0" resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.5.0.tgz#56d11312bd9248fa619591d02472be6e8cb32540" @@ -466,6 +564,15 @@ esutils "^2.0.2" js-tokens "^4.0.0" +"@babel/highlight@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.8.3.tgz#28f173d04223eaaa59bc1d439a3836e6d1265797" + integrity sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg== + dependencies: + chalk "^2.0.0" + esutils "^2.0.2" + js-tokens "^4.0.0" + "@babel/parser@^7.4.3": version "7.5.5" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.5.5.tgz#02f077ac8817d3df4a832ef59de67565e71cca4b" @@ -481,6 +588,11 @@ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.7.7.tgz#1b886595419cf92d811316d5b715a53ff38b4937" integrity sha512-WtTZMZAZLbeymhkd/sEaPD8IQyGAhmuTuvTzLiCFM7iXiVdY0gc0IaI+cW0fh1BnSMbJSzXX6/fHllgHKwHhXw== +"@babel/parser@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.8.3.tgz#790874091d2001c9be6ec426c2eed47bc7679081" + integrity sha512-/V72F4Yp/qmHaTALizEm9Gf2eQHV3QyTL3K0cNfijwnMnb1L+LDlAubb/ZnSdGAVzVSWakujHYs1I26x66sMeQ== + "@babel/plugin-proposal-async-generator-functions@^7.7.4": version "7.7.4" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.7.4.tgz#0351c5ac0a9e927845fffd5b82af476947b7ce6d" @@ -891,6 +1003,15 @@ "@babel/parser" "^7.7.4" "@babel/types" "^7.7.4" +"@babel/template@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.8.3.tgz#e02ad04fe262a657809327f578056ca15fd4d1b8" + integrity sha512-04m87AcQgAFdvuoyiQ2kgELr2tV8B4fP/xJAVUL3Yb3bkNdMedD3d0rlSQr3PegP0cms3eHjl1F7PWlvWbU8FQ== + dependencies: + "@babel/code-frame" "^7.8.3" + "@babel/parser" "^7.8.3" + "@babel/types" "^7.8.3" + "@babel/traverse@^7.4.3": version "7.6.0" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.6.0.tgz#389391d510f79be7ce2ddd6717be66d3fed4b516" @@ -921,6 +1042,21 @@ globals "^11.1.0" lodash "^4.17.13" +"@babel/traverse@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.8.3.tgz#a826215b011c9b4f73f3a893afbc05151358bf9a" + integrity sha512-we+a2lti+eEImHmEXp7bM9cTxGzxPmBiVJlLVD+FuuQMeeO7RaDbutbgeheDkw+Xe3mCfJHnGOWLswT74m2IPg== + dependencies: + "@babel/code-frame" "^7.8.3" + "@babel/generator" "^7.8.3" + "@babel/helper-function-name" "^7.8.3" + "@babel/helper-split-export-declaration" "^7.8.3" + "@babel/parser" "^7.8.3" + "@babel/types" "^7.8.3" + debug "^4.1.0" + globals "^11.1.0" + lodash "^4.17.13" + "@babel/types@^7.0.0", "@babel/types@^7.4.0", "@babel/types@^7.4.4", "@babel/types@^7.6.0": version "7.6.1" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.6.1.tgz#53abf3308add3ac2a2884d539151c57c4b3ac648" @@ -939,15 +1075,34 @@ lodash "^4.17.13" to-fast-properties "^2.0.0" -"@ngtools/webpack@8.3.21": - version "8.3.21" - resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-8.3.21.tgz#d28f2b66a8aeced5260c42ae722192ec5d5e4e56" - integrity sha512-DGqmFQ52sV4uB3y3spQTNLa69oU5cwd1yIqMB4GSM+Qp+hozdzrPA2gVH90N2DDhWe8icsSQHAtZQiR9+BDL8g== +"@babel/types@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.8.3.tgz#5a383dffa5416db1b73dedffd311ffd0788fb31c" + integrity sha512-jBD+G8+LWpMBBWvVcdr4QysjUE4mU/syrhN17o1u3gx0/WzJB1kwiVZAXRtWbsIPOwW8pF/YJV5+nmetPzepXg== dependencies: - "@angular-devkit/core" "8.3.21" + esutils "^2.0.2" + lodash "^4.17.13" + to-fast-properties "^2.0.0" + +"@fullcalendar/core@^4.3.1": + version "4.3.1" + resolved "https://registry.yarnpkg.com/@fullcalendar/core/-/core-4.3.1.tgz#a061c6d2e998d4155439dbc8aefdfe01cdf648d8" + integrity sha512-Eh+p/wpMkWGu26f8NpfQK9ecQMoZxX/aopv+0+4/CH+Ip0paP6iEc40JYgTz7RFl0bFqV1dvwyGyUZ4+9ZeySA== + +"@istanbuljs/schema@^0.1.2": + version "0.1.2" + resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.2.tgz#26520bf09abe4a5644cd5414e37125a8954241dd" + integrity sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw== + +"@ngtools/webpack@8.3.23": + version "8.3.23" + resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-8.3.23.tgz#2961d48d1860e93c7afcb6ec91040a753f6463a8" + integrity sha512-+XekeThky6+Upped3hOwjHwYTsXJiDuCA5ZZLmGHkTxGzjB4ZHSlBaj75yTS+s+/Ab1WgdRo2P2BxOUS7oogtw== + dependencies: + "@angular-devkit/core" "8.3.23" enhanced-resolve "4.1.0" rxjs "6.4.0" - tree-kill "1.2.1" + tree-kill "1.2.2" webpack-sources "1.4.3" "@ngx-translate/core@^11.0.1": @@ -1010,7 +1165,7 @@ resolved "https://registry.yarnpkg.com/@types/jasmine/-/jasmine-3.3.16.tgz#7c84074f5d7f84da9a14f816ccfb9aeb4da13f27" integrity sha512-Nveep4zKGby8uIvG2AEUyYOwZS8uVeHK9TgbuWYSawUDDdIgfhCKz28QzamTo//Jk7Ztt9PO3f+vzlB6a4GV1Q== -"@types/jasminewd2@^2.0.8": +"@types/jasminewd2@~2.0.8": version "2.0.8" resolved "https://registry.yarnpkg.com/@types/jasminewd2/-/jasminewd2-2.0.8.tgz#67afe5098d5ef2386073a7b7384b69a840dfe93b" integrity sha512-d9p31r7Nxk0ZH0U39PTH0hiDlJ+qNVGjlt1ucOoTUptxb2v+Y5VMnsxfwN+i3hK4yQnqBi3FMmoMFcd1JHDxdg== @@ -1299,16 +1454,6 @@ ajv@6.10.2, ajv@^6.1.0, ajv@^6.10.2, ajv@^6.5.5: json-schema-traverse "^0.4.1" uri-js "^4.2.2" -ajv@^5.0.0: - version "5.5.2" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.5.2.tgz#73b5eeca3fab653e3d3f9422b341ad42205dc965" - integrity sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU= - dependencies: - co "^4.6.0" - fast-deep-equal "^1.0.0" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.3.0" - amdefine@>=0.0.4: version "1.0.1" resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" @@ -1577,7 +1722,7 @@ axobject-query@2.0.2: dependencies: ast-types-flow "0.0.7" -babel-code-frame@^6.22.0, babel-code-frame@^6.26.0: +babel-code-frame@^6.22.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" integrity sha1-Y/1D99weO7fONZR9uP42mj9Yx0s= @@ -1586,27 +1731,6 @@ babel-code-frame@^6.22.0, babel-code-frame@^6.26.0: esutils "^2.0.2" js-tokens "^3.0.2" -babel-generator@^6.18.0: - version "6.26.1" - resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.26.1.tgz#1844408d3b8f0d35a404ea7ac180f087a601bd90" - integrity sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA== - dependencies: - babel-messages "^6.23.0" - babel-runtime "^6.26.0" - babel-types "^6.26.0" - detect-indent "^4.0.0" - jsesc "^1.3.0" - lodash "^4.17.4" - source-map "^0.5.7" - trim-right "^1.0.1" - -babel-messages@^6.23.0: - version "6.23.0" - resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e" - integrity sha1-8830cDhYA1sqKVHG7F7fbGLyYw4= - dependencies: - babel-runtime "^6.22.0" - babel-plugin-dynamic-import-node@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz#f00f507bdaa3c3e3ff6e7e5e98d90a7acab96f7f" @@ -1614,55 +1738,6 @@ babel-plugin-dynamic-import-node@^2.3.0: dependencies: object.assign "^4.1.0" -babel-runtime@^6.22.0, babel-runtime@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" - integrity sha1-llxwWGaOgrVde/4E/yM3vItWR/4= - dependencies: - core-js "^2.4.0" - regenerator-runtime "^0.11.0" - -babel-template@^6.16.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.26.0.tgz#de03e2d16396b069f46dd9fff8521fb1a0e35e02" - integrity sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI= - dependencies: - babel-runtime "^6.26.0" - babel-traverse "^6.26.0" - babel-types "^6.26.0" - babylon "^6.18.0" - lodash "^4.17.4" - -babel-traverse@^6.18.0, babel-traverse@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee" - integrity sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4= - dependencies: - babel-code-frame "^6.26.0" - babel-messages "^6.23.0" - babel-runtime "^6.26.0" - babel-types "^6.26.0" - babylon "^6.18.0" - debug "^2.6.8" - globals "^9.18.0" - invariant "^2.2.2" - lodash "^4.17.4" - -babel-types@^6.18.0, babel-types@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497" - integrity sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc= - dependencies: - babel-runtime "^6.26.0" - esutils "^2.0.2" - lodash "^4.17.4" - to-fast-properties "^1.0.3" - -babylon@^6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" - integrity sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ== - backo2@1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/backo2/-/backo2-1.0.2.tgz#31ab1ac8b129363463e35b3ebb69f4dfcfba7947" @@ -1880,14 +1955,14 @@ browserify-zlib@^0.2.0: dependencies: pako "~1.0.5" -browserslist@4.6.6: - version "4.6.6" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.6.6.tgz#6e4bf467cde520bc9dbdf3747dafa03531cec453" - integrity sha512-D2Nk3W9JL9Fp/gIcWei8LrERCS+eXu9AM5cfXA8WEZ84lFks+ARnZ0q/R69m2SV3Wjma83QDDPxsNKXUwdIsyA== +browserslist@4.8.3: + version "4.8.3" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.8.3.tgz#65802fcd77177c878e015f0e3189f2c4f627ba44" + integrity sha512-iU43cMMknxG1ClEZ2MDKeonKE1CCrFVkQK2AqO2YWFmvIrx4JWrvQ4w4hQez6EpVI8rHTtqh/ruHHDHSOKxvUg== dependencies: - caniuse-lite "^1.0.30000984" - electron-to-chromium "^1.3.191" - node-releases "^1.1.25" + caniuse-lite "^1.0.30001017" + electron-to-chromium "^1.3.322" + node-releases "^1.1.44" browserslist@^4.6.0, browserslist@^4.8.2: version "4.8.2" @@ -2067,7 +2142,12 @@ camelcase@^5.0.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== -caniuse-lite@1.0.30000989, caniuse-lite@^1.0.30000980, caniuse-lite@^1.0.30000984, caniuse-lite@^1.0.30000989: +caniuse-lite@1.0.30001019: + version "1.0.30001019" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001019.tgz#857e3fccaad2b2feb3f1f6d8a8f62d747ea648e1" + integrity sha512-6ljkLtF1KM5fQ+5ZN0wuyVvvebJxgJPTmScOMaFuQN2QuOzvRJnWSKfzQskQU5IOU4Gap3zasYPIinzwUjoj/g== + +caniuse-lite@^1.0.30000980, caniuse-lite@^1.0.30000989: version "1.0.30000989" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000989.tgz#b9193e293ccf7e4426c5245134b8f2a56c0ac4b9" integrity sha512-vrMcvSuMz16YY6GSVZ0dWDTJP8jqk3iFQ/Aq5iqblPwxSVVZI+zxDyTX0VPqtQsDnfdrBDcsmhgTEOh5R8Lbpw== @@ -2077,6 +2157,11 @@ caniuse-lite@^1.0.30001015: resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001017.tgz#d3ad6ec18148b9bd991829958d9d7e562bb78cd6" integrity sha512-EDnZyOJ6eYh6lHmCvCdHAFbfV4KJ9lSdfv4h/ppEhrU/Yudkl7jujwMZ1we6RX7DXqBfT04pVMQ4J+1wcTlsKA== +caniuse-lite@^1.0.30001017: + version "1.0.30001021" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001021.tgz#e75ed1ef6dbadd580ac7e7720bb16f07b083f254" + integrity sha512-wuMhT7/hwkgd8gldgp2jcrUjOU9RXJ4XxGumQeOsUr91l3WwmM68Cpa/ymCnWEDqakwFXhuDQbaKNHXBPgeE9g== + canonical-path@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/canonical-path/-/canonical-path-1.0.0.tgz#fcb470c23958def85081856be7a86e904f180d1d" @@ -2255,11 +2340,6 @@ clone@^2.1.1, clone@^2.1.2: resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f" integrity sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18= -co@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" - integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= - code-point-at@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" @@ -2441,7 +2521,7 @@ content-type@~1.0.4: resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== -convert-source-map@^1.5.0, convert-source-map@^1.5.1: +convert-source-map@^1.5.1: version "1.6.0" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.6.0.tgz#51b537a8c43e0f04dec1993bffcdd504e758ac20" integrity sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A== @@ -2518,7 +2598,7 @@ core-js@3.2.1: resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.2.1.tgz#cd41f38534da6cc59f7db050fe67307de9868b09" integrity sha512-Qa5XSVefSVPRxy2XfUC13WbvqkxhkwB3ve+pgCQveNgYzbM/UxZeu1dcOX/xr4UmfUd+muuvsaxilQzCyUurMw== -core-js@^2.2.0, core-js@^2.4.0: +core-js@^2.2.0: version "2.6.9" resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.9.tgz#6b4b214620c834152e179323727fc19741b084f2" integrity sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A== @@ -2538,6 +2618,17 @@ cosmiconfig@^5.0.0: js-yaml "^3.13.1" parse-json "^4.0.0" +coverage-istanbul-loader@2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/coverage-istanbul-loader/-/coverage-istanbul-loader-2.0.3.tgz#87d42f03fa0fd3fa8743ec76945d9d67f105722a" + integrity sha512-LiGRvyIuzVYs3M1ZYK1tF0HekjH0DJ8zFdUwAZq378EJzqOgToyb1690dp3TAUlP6Y+82uu42LRjuROVeJ54CA== + dependencies: + convert-source-map "^1.7.0" + istanbul-lib-instrument "^4.0.0" + loader-utils "^1.2.3" + merge-source-map "^1.1.0" + schema-utils "^2.6.1" + create-ecdh@^4.0.0: version "4.0.3" resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.3.tgz#c9111b6f33045c4697f144787f9254cdc77c45ff" @@ -2662,7 +2753,7 @@ debug@*, debug@^4.1.0, debug@^4.1.1: dependencies: ms "^2.1.1" -debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.8: +debug@2.6.9, debug@^2.2.0, debug@^2.3.3: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== @@ -2823,13 +2914,6 @@ destroy@~1.0.4: resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= -detect-indent@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208" - integrity sha1-920GQ1LN9Docts5hnE7jqUdd4gg= - dependencies: - repeating "^2.0.0" - detect-libc@^1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" @@ -2932,7 +3016,7 @@ ee-first@1.1.1: resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= -electron-to-chromium@^1.3.191, electron-to-chromium@^1.3.247: +electron-to-chromium@^1.3.247: version "1.3.253" resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.253.tgz#bc3b2c94c2a109c08d37b04f526dc05fdabcbb5b" integrity sha512-LAwFRWViiiCSxQ2Lj3mnyEP8atkpAoHSPUnkFoy4mNabbnPHxtfseWvPCGGhewjHQI+ky/V4LdlTyyI0d3YPXA== @@ -3144,6 +3228,11 @@ etag@~1.8.1: resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= +eventemitter3@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-2.0.3.tgz#b5e1079b59fb5e1ba2771c0a993be060a58c99ba" + integrity sha1-teEHm1n7XhuidxwKmTvgYKWMmbo= + eventemitter3@^3.0.0: version "3.1.2" resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-3.1.2.tgz#2d3d48f9c346698fce83a85d7d664e98535df6e7" @@ -3251,7 +3340,7 @@ extend-shallow@^3.0.0, extend-shallow@^3.0.2: assign-symbols "^1.0.0" is-extendable "^1.0.1" -extend@^3.0.0, extend@~3.0.2: +extend@^3.0.0, extend@^3.0.2, extend@~3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== @@ -3289,16 +3378,16 @@ extsprintf@^1.2.0: resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= -fast-deep-equal@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz#c053477817c86b51daa853c81e059b733d023614" - integrity sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ= - fast-deep-equal@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk= +fast-diff@1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.1.2.tgz#4b62c42b8e03de3f848460b639079920695d0154" + integrity sha512-KaJUt+M9t1qaIteSvjc6P3RbMdXsNhK61GRftR6SNxqmhthcd9MGIi4T+o0jD8LUSpSnSKXE20nLtJ3fOHxQig== + fast-json-stable-stringify@2.0.0, fast-json-stable-stringify@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" @@ -3434,6 +3523,11 @@ follow-redirects@^1.0.0: dependencies: debug "^3.0.0" +font-awesome@^4.7.0: + version "4.7.0" + resolved "https://registry.yarnpkg.com/font-awesome/-/font-awesome-4.7.0.tgz#8fa8cf0411a1a31afd07b06d2902bb9fc815a133" + integrity sha1-j6jPBBGhoxr9B7BtKQK7n8gVoTM= + for-in@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" @@ -3553,6 +3647,11 @@ genfun@^5.0.0: resolved "https://registry.yarnpkg.com/genfun/-/genfun-5.0.0.tgz#9dd9710a06900a5c4a5bf57aca5da4e52fe76537" integrity sha512-KGDOARWVga7+rnB3z9Sd2Letx515owfk0hSxHGuqjANb1M+x2bGZGqHLiozPsYMdM2OubeMni/Hpwmjq6qIUhA== +gensync@^1.0.0-beta.1: + version "1.0.0-beta.1" + resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.1.tgz#58f4361ff987e5ff6e1e7a210827aa371eaac269" + integrity sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg== + get-caller-file@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a" @@ -3626,11 +3725,6 @@ globals@^11.1.0: resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== -globals@^9.18.0: - version "9.18.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a" - integrity sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ== - globby@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/globby/-/globby-5.0.0.tgz#ebd84667ca0dbb330b99bcfc68eac2bc54370e0d" @@ -4210,13 +4304,6 @@ is-extglob@^2.1.0, is-extglob@^2.1.1: resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= -is-finite@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa" - integrity sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko= - dependencies: - number-is-nan "^1.0.0" - is-fullwidth-code-point@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" @@ -4407,26 +4494,16 @@ istanbul-api@^2.1.6: minimatch "^3.0.4" once "^1.4.0" -istanbul-instrumenter-loader@3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/istanbul-instrumenter-loader/-/istanbul-instrumenter-loader-3.0.1.tgz#9957bd59252b373fae5c52b7b5188e6fde2a0949" - integrity sha512-a5SPObZgS0jB/ixaKSMdn6n/gXSrK2S6q/UfRJBT3e6gQmVjwZROTODQsYW5ZNwOu78hG62Y3fWlebaVOL0C+w== - dependencies: - convert-source-map "^1.5.0" - istanbul-lib-instrument "^1.7.3" - loader-utils "^1.1.0" - schema-utils "^0.3.0" - -istanbul-lib-coverage@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-1.2.1.tgz#ccf7edcd0a0bb9b8f729feeb0930470f9af664f0" - integrity sha512-PzITeunAgyGbtY1ibVIUiV679EFChHjoMNRibEIobvmrCRaIgwLxNucOSimtNWUhEib/oO7QY2imD75JVgCJWQ== - istanbul-lib-coverage@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz#675f0ab69503fad4b1d849f736baaca803344f49" integrity sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA== +istanbul-lib-coverage@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz#f5944a37c70b550b02a78a5c3b2055b280cec8ec" + integrity sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg== + istanbul-lib-hook@^2.0.7: version "2.0.7" resolved "https://registry.yarnpkg.com/istanbul-lib-hook/-/istanbul-lib-hook-2.0.7.tgz#c95695f383d4f8f60df1f04252a9550e15b5b133" @@ -4434,19 +4511,6 @@ istanbul-lib-hook@^2.0.7: dependencies: append-transform "^1.0.0" -istanbul-lib-instrument@^1.7.3: - version "1.10.2" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-1.10.2.tgz#1f55ed10ac3c47f2bdddd5307935126754d0a9ca" - integrity sha512-aWHxfxDqvh/ZlxR8BBaEPVSWDPUkGD63VjGQn3jcw8jCp7sHEMKcrj4xfJn/ABzdMEHiQNyvDQhqm5o8+SQg7A== - dependencies: - babel-generator "^6.18.0" - babel-template "^6.16.0" - babel-traverse "^6.18.0" - babel-types "^6.18.0" - babylon "^6.18.0" - istanbul-lib-coverage "^1.2.1" - semver "^5.3.0" - istanbul-lib-instrument@^3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz#a5f63d91f0bbc0c3e479ef4c5de027335ec6d630" @@ -4460,6 +4524,19 @@ istanbul-lib-instrument@^3.3.0: istanbul-lib-coverage "^2.0.5" semver "^6.0.0" +istanbul-lib-instrument@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.0.tgz#53321a7970f076262fd3292c8f9b2e4ac544aae1" + integrity sha512-Nm4wVHdo7ZXSG30KjZ2Wl5SU/Bw7bDx1PdaiIFzEStdjs0H12mOTncn1GVYuqQSaZxpg87VGBRsVRPGD2cD1AQ== + dependencies: + "@babel/core" "^7.7.5" + "@babel/parser" "^7.7.5" + "@babel/template" "^7.7.4" + "@babel/traverse" "^7.7.4" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-coverage "^3.0.0" + semver "^6.3.0" + istanbul-lib-report@^2.0.8: version "2.0.8" resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz#5a8113cd746d43c4889eba36ab10e7d50c9b4f33" @@ -4554,11 +4631,6 @@ jsbn@~0.1.0: resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= -jsesc@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b" - integrity sha1-RsP+yMGJKxKwgz25vHYiF226s0s= - jsesc@^2.5.1: version "2.5.2" resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" @@ -4574,11 +4646,6 @@ json-parse-better-errors@^1.0.0, json-parse-better-errors@^1.0.1, json-parse-bet resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== -json-schema-traverse@^0.3.0: - version "0.3.1" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz#349a6d44c53a51de89b40805c5d5e59b417d3340" - integrity sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A= - json-schema-traverse@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" @@ -4830,7 +4897,7 @@ lodash.clonedeep@^4.5.0: resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" integrity sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8= -lodash@^4.17.11, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.4, lodash@^4.17.5: +lodash@^4.17.11, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.5: version "4.17.15" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== @@ -4982,6 +5049,13 @@ merge-descriptors@1.0.1: resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E= +merge-source-map@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/merge-source-map/-/merge-source-map-1.1.0.tgz#2fdde7e6020939f70906a68f2d7ae685e4c8c646" + integrity sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw== + dependencies: + source-map "^0.6.1" + merge-stream@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" @@ -5241,6 +5315,11 @@ ngx-markdown@^8.2.1: prismjs "^1.16.0" tslib "^1.9.0" +ngx-toaster@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/ngx-toaster/-/ngx-toaster-1.0.1.tgz#ee54f83bcbe3da26210097baac08445952899515" + integrity sha1-7lT4O8vj2iYhAJe6rAhEWVKJlRU= + nice-try@^1.0.4: version "1.0.5" resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" @@ -5305,7 +5384,7 @@ node-pre-gyp@^0.12.0: semver "^5.3.0" tar "^4" -node-releases@^1.1.25, node-releases@^1.1.29: +node-releases@^1.1.29: version "1.1.29" resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.29.tgz#86a57c6587a30ecd6726449e5d293466b0a0bb86" integrity sha512-R5bDhzh6I+tpi/9i2hrrvGJ3yKPYzlVOORDkXhnZuwi5D3q1I5w4vYy24PJXTcLk9Q0kws9TO77T75bcK8/ysQ== @@ -5319,6 +5398,13 @@ node-releases@^1.1.42: dependencies: semver "^6.3.0" +node-releases@^1.1.44: + version "1.1.45" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.45.tgz#4cf7e9175d71b1317f15ffd68ce63bce1d53e9f2" + integrity sha512-cXvGSfhITKI8qsV116u2FTzH5EWZJfgG7d4cpqwF8I8+1tWpD6AsvvGRKq2onR0DNj1jfqsjkXZsm14JMS7Cyg== + dependencies: + semver "^6.3.0" + nopt@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" @@ -5723,6 +5809,11 @@ parallel-transform@^1.1.0: inherits "^2.0.3" readable-stream "^2.1.5" +parchment@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/parchment/-/parchment-1.1.4.tgz#aeded7ab938fe921d4c34bc339ce1168bc2ffde5" + integrity sha512-J5FBQt/pM2inLzg4hEWmzQx/8h8D0CiDxaG3vyp9rKrQRSDgBlhjdP5jQGgosEajXPSQouXGHOmVdgo7QmJuOg== + parse-asn1@^5.0.0: version "5.1.4" resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.4.tgz#37f6628f823fbdeb2273b4d540434a22f3ef1fcc" @@ -5748,6 +5839,11 @@ parse5@4.0.0: resolved "https://registry.yarnpkg.com/parse5/-/parse5-4.0.0.tgz#6d78656e3da8d78b4ec0b906f7c08ef1dfe3f608" integrity sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA== +parse5@^5.0.0: + version "5.1.1" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.1.tgz#f68e4e5ba1852ac2cadc00f4555fff6c2abb6178" + integrity sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug== + parseqs@0.0.5: version "0.0.5" resolved "https://registry.yarnpkg.com/parseqs/-/parseqs-0.0.5.tgz#d5208a3738e46766e291ba2ea173684921a8b89d" @@ -5961,6 +6057,16 @@ prepend-http@^1.0.0: resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" integrity sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw= +primeicons@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/primeicons/-/primeicons-2.0.0.tgz#ec3e5a8d4d04a09309225a5a57deb911e08dc0d3" + integrity sha512-GJTCeMSQU8UU1GqbsaDrg/IH+b/vSinJQl52NVpdJ7sShYLZA8Eq6jLF48Ye3N/dQloGrE07i7XsZvxQ9pNbqg== + +primeng@^9.0.0-rc.2: + version "9.0.0-rc.2" + resolved "https://registry.yarnpkg.com/primeng/-/primeng-9.0.0-rc.2.tgz#343e9ad842f47439fadc281d85d19ca0c2611b96" + integrity sha512-k4omQrUe+Ul/Uk9xk4VWJE8f4kUMugP0T/i+q3Zqc7J/op920UNdovE5ZcquVtUIjYNqsh7VfWzYaNFogjysIg== + prismjs@^1.16.0: version "1.17.1" resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.17.1.tgz#e669fcbd4cdd873c35102881c33b14d0d68519be" @@ -6154,6 +6260,27 @@ querystringify@^2.1.1: resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.1.1.tgz#60e5a5fd64a7f8bfa4d2ab2ed6fdf4c85bad154e" integrity sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA== +quill-delta@^3.6.2: + version "3.6.3" + resolved "https://registry.yarnpkg.com/quill-delta/-/quill-delta-3.6.3.tgz#b19fd2b89412301c60e1ff213d8d860eac0f1032" + integrity sha512-wdIGBlcX13tCHOXGMVnnTVFtGRLoP0imqxM696fIPwIf5ODIYUHIvHbZcyvGlZFiFhK5XzDC2lpjbxRhnM05Tg== + dependencies: + deep-equal "^1.0.1" + extend "^3.0.2" + fast-diff "1.1.2" + +quill@^1.3.7: + version "1.3.7" + resolved "https://registry.yarnpkg.com/quill/-/quill-1.3.7.tgz#da5b2f3a2c470e932340cdbf3668c9f21f9286e8" + integrity sha512-hG/DVzh/TiknWtE6QmWAF/pxoZKYxfe3J/d/+ShUWkDvvkZQVTPeVmUJVu1uE6DDooC4fWTiCLh84ul89oNz5g== + dependencies: + clone "^2.1.1" + deep-equal "^1.0.1" + eventemitter3 "^2.0.3" + extend "^3.0.2" + parchment "^1.1.4" + quill-delta "^3.6.2" + randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5: version "2.1.0" resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" @@ -6300,11 +6427,6 @@ regenerator-runtime@0.13.3: resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz#7cf6a77d8f5c6f60eb73c5fc1955b2ceb01e6bf5" integrity sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw== -regenerator-runtime@^0.11.0: - version "0.11.1" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" - integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg== - regenerator-transform@^0.14.0: version "0.14.1" resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.1.tgz#3b2fce4e1ab7732c08f665dfdb314749c7ddd2fb" @@ -6387,13 +6509,6 @@ repeat-string@^1.6.1: resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= -repeating@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" - integrity sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo= - dependencies: - is-finite "^1.0.0" - request@^2.83.0, request@^2.87.0, request@^2.88.0: version "2.88.0" resolved "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz#9c2fca4f7d35b592efe57c7f0a55e81052124fef" @@ -6528,6 +6643,11 @@ run-queue@^1.0.0, run-queue@^1.0.3: dependencies: aproba "^1.1.1" +rxjs-compat@^6.5.3: + version "6.5.4" + resolved "https://registry.yarnpkg.com/rxjs-compat/-/rxjs-compat-6.5.4.tgz#03825692af3fe363e04c43f41ff4113d76bbd305" + integrity sha512-rkn+lbOHUQOurdd74J/hjmDsG9nFx0z66fvnbs8M95nrtKvNqCKdk7iZqdY51CGmDemTQk+kUPy4s8HVOHtkfA== + rxjs@6.4.0, rxjs@~6.4.0: version "6.4.0" resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.4.0.tgz#f3bb0fe7bda7fb69deac0c16f17b50b0b8790504" @@ -6599,13 +6719,6 @@ sax@>=0.6.0, sax@^1.2.4: resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== -schema-utils@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-0.3.0.tgz#f5877222ce3e931edae039f17eb3716e7137f8cf" - integrity sha1-9YdyIs4+kx7a4DnxfrNxbnE3+M8= - dependencies: - ajv "^5.0.0" - schema-utils@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-1.0.0.tgz#0b79a93204d7b600d4b2850d1f66c2a34951c770" @@ -6631,6 +6744,14 @@ schema-utils@^2.0.1: ajv "^6.10.2" ajv-keywords "^3.4.1" +schema-utils@^2.6.1: + version "2.6.2" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.6.2.tgz#9205ec5978709b0d9edbccb9a316faf11617a017" + integrity sha512-sazKNMBX/jwrXRkOI7N6dtiTVYqzSckzol8SGuHt0lE/v3xSW6cUkOqzu6Bq2tW+dlUzq3CWIqHU3ZKauliqdg== + dependencies: + ajv "^6.10.2" + ajv-keywords "^3.4.1" + select-hose@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" @@ -7435,11 +7556,6 @@ to-arraybuffer@^1.0.0: resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" integrity sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M= -to-fast-properties@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47" - integrity sha1-uDVx+k2MJbguIxsG46MFXeTKGkc= - to-fast-properties@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" @@ -7490,10 +7606,10 @@ tough-cookie@~2.4.3: psl "^1.1.24" punycode "^1.4.1" -tree-kill@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/tree-kill/-/tree-kill-1.2.1.tgz#5398f374e2f292b9dcc7b2e71e30a5c3bb6c743a" - integrity sha512-4hjqbObwlh2dLyW4tcz0Ymw0ggoaVDMveUB9w8kFSQScdRLo0gxO9J7WFcUBo+W3C1TLdFIEwNOWebgZZ0RH9Q== +tree-kill@1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/tree-kill/-/tree-kill-1.2.2.tgz#4ca09a9092c88b73a7cdc5e8a01b507b0790a0cc" + integrity sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A== trim-right@^1.0.1: version "1.0.1" @@ -7514,7 +7630,7 @@ ts-node@~7.0.0: source-map-support "^0.5.6" yn "^2.0.0" -tslib@1.10.0, tslib@^1.10.0, tslib@^1.8.0, tslib@^1.8.1, tslib@^1.9.0: +tslib@1.10.0, tslib@^1.10.0, tslib@^1.7.1, tslib@^1.8.0, tslib@^1.8.1, tslib@^1.9.0: version "1.10.0" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a" integrity sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==