mirror of
https://framagit.org/framasoft/framadate/funky-framadate-front.git
synced 2023-08-25 13:53:14 +02:00
Merge branch 'ng-init' into 'dev'
integrate Ng init See merge request framasoft/framadate/funky-framadate-front!1
This commit is contained in:
commit
cccf894e56
25
messages.xlf
25
messages.xlf
@ -1,25 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" ?>
|
|
||||||
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
|
|
||||||
<file source-language="en" datatype="plaintext" original="ng2.template">
|
|
||||||
<body>
|
|
||||||
<trans-unit id="a38ca9be0d4cc826d1962ced6959714844cd8b5f" datatype="html">
|
|
||||||
<source>
|
|
||||||
Bienvenue sur Framadate
|
|
||||||
</source>
|
|
||||||
<context-group purpose="location">
|
|
||||||
<context context-type="sourcefile">src/app/app.component.html</context>
|
|
||||||
<context context-type="linenumber">3</context>
|
|
||||||
</context-group>
|
|
||||||
</trans-unit>
|
|
||||||
<trans-unit id="9cc3aa4a9c50ffaaed035c7f7d1dbcefb54954ea" datatype="html">
|
|
||||||
<source>
|
|
||||||
Ceci est une démo
|
|
||||||
</source>
|
|
||||||
<context-group purpose="location">
|
|
||||||
<context context-type="sourcefile">src/app/app.component.html</context>
|
|
||||||
<context context-type="linenumber">6</context>
|
|
||||||
</context-group>
|
|
||||||
</trans-unit>
|
|
||||||
</body>
|
|
||||||
</file>
|
|
||||||
</xliff>
|
|
26
package-lock.json
generated
26
package-lock.json
generated
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "framadate",
|
"name": "framadate-funky-frontend",
|
||||||
"version": "0.0.0",
|
"version": "0.1.0",
|
||||||
"lockfileVersion": 1,
|
"lockfileVersion": 1,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@ -1192,6 +1192,22 @@
|
|||||||
"webpack-sources": "1.3.0"
|
"webpack-sources": "1.3.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"@ngx-translate/core": {
|
||||||
|
"version": "11.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/@ngx-translate/core/-/core-11.0.1.tgz",
|
||||||
|
"integrity": "sha512-nBCa1ZD9fAUY/3eskP3Lql2fNg8OMrYIej1/5GRsfcutx9tG/5fZLCv9m6UCw1aS+u4uK/vXjv1ctG/FdMvaWg==",
|
||||||
|
"requires": {
|
||||||
|
"tslib": "^1.9.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"@ngx-translate/http-loader": {
|
||||||
|
"version": "4.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@ngx-translate/http-loader/-/http-loader-4.0.0.tgz",
|
||||||
|
"integrity": "sha512-x8LumqydWD7eX9yQTAVeoCM9gFUIGVTUjZqbxdAUavAA3qVnk9wCQux7iHLPXpydl8vyQmLoPQR+fFU+DUDOMA==",
|
||||||
|
"requires": {
|
||||||
|
"tslib": "^1.9.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"@schematics/angular": {
|
"@schematics/angular": {
|
||||||
"version": "8.2.1",
|
"version": "8.2.1",
|
||||||
"resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-8.2.1.tgz",
|
"resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-8.2.1.tgz",
|
||||||
@ -4310,9 +4326,9 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"handlebars": {
|
"handlebars": {
|
||||||
"version": "4.1.2",
|
"version": "4.4.0",
|
||||||
"resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.4.0.tgz",
|
||||||
"integrity": "sha512-nvfrjqvt9xQ8Z/w0ijewdD/vvWDTOweBUm96NTr66Wfvo1mJenBLwcYmPs3TIBP5ruzYGD7Hx/DaM9RmhroGPw==",
|
"integrity": "sha512-xkRtOt3/3DzTKMOt3xahj2M/EqNhY988T+imYSlMgs5fVhLN2fmKVVj0LtEGmb+3UUYV5Qmm1052Mm3dIQxOvw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"neo-async": "^2.6.0",
|
"neo-async": "^2.6.0",
|
||||||
|
93
package.json
93
package.json
@ -1,47 +1,50 @@
|
|||||||
{
|
{
|
||||||
"name": "framadate",
|
"name": "framadate-funky-frontend",
|
||||||
"version": "0.0.0",
|
"version": "0.1.0",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"ng": "ng",
|
"ng": "ng",
|
||||||
"start": "ng serve",
|
"start": "ng serve",
|
||||||
"build": "ng build",
|
"build": "ng build",
|
||||||
"test": "ng test",
|
"test": "ng test",
|
||||||
"lint": "ng lint",
|
"lint": "ng lint",
|
||||||
"e2e": "ng e2e"
|
"e2e": "ng e2e",
|
||||||
},
|
"trans": "ng xi18n --output-path=src/locale --i18n-locale=fr"
|
||||||
"private": true,
|
},
|
||||||
"dependencies": {
|
"private": true,
|
||||||
"@angular/animations": "~8.2.0",
|
"dependencies": {
|
||||||
"@angular/common": "~8.2.0",
|
"@angular/animations": "~8.2.0",
|
||||||
"@angular/compiler": "~8.2.0",
|
"@angular/common": "~8.2.0",
|
||||||
"@angular/core": "~8.2.0",
|
"@angular/compiler": "~8.2.0",
|
||||||
"@angular/forms": "~8.2.0",
|
"@angular/core": "~8.2.0",
|
||||||
"@angular/platform-browser": "~8.2.0",
|
"@angular/forms": "~8.2.0",
|
||||||
"@angular/platform-browser-dynamic": "~8.2.0",
|
"@angular/platform-browser": "~8.2.0",
|
||||||
"@angular/router": "~8.2.0",
|
"@angular/platform-browser-dynamic": "~8.2.0",
|
||||||
"rxjs": "~6.4.0",
|
"@angular/router": "~8.2.0",
|
||||||
"tslib": "^1.10.0",
|
"@ngx-translate/core": "^11.0.1",
|
||||||
"zone.js": "~0.9.1"
|
"@ngx-translate/http-loader": "^4.0.0",
|
||||||
},
|
"rxjs": "~6.4.0",
|
||||||
"devDependencies": {
|
"tslib": "^1.10.0",
|
||||||
"@angular-devkit/build-angular": "~0.802.1",
|
"zone.js": "~0.9.1"
|
||||||
"@angular/cli": "~8.2.1",
|
},
|
||||||
"@angular/compiler-cli": "~8.2.0",
|
"devDependencies": {
|
||||||
"@angular/language-service": "~8.2.0",
|
"@angular-devkit/build-angular": "~0.802.1",
|
||||||
"@types/node": "~8.9.4",
|
"@angular/cli": "~8.2.1",
|
||||||
"@types/jasmine": "~3.3.8",
|
"@angular/compiler-cli": "~8.2.0",
|
||||||
"@types/jasminewd2": "~2.0.3",
|
"@angular/language-service": "~8.2.0",
|
||||||
"codelyzer": "^5.0.0",
|
"@types/node": "~8.9.4",
|
||||||
"jasmine-core": "~3.4.0",
|
"@types/jasmine": "~3.3.8",
|
||||||
"jasmine-spec-reporter": "~4.2.1",
|
"@types/jasminewd2": "~2.0.3",
|
||||||
"karma": "~4.1.0",
|
"codelyzer": "^5.0.0",
|
||||||
"karma-chrome-launcher": "~2.2.0",
|
"jasmine-core": "~3.4.0",
|
||||||
"karma-coverage-istanbul-reporter": "~2.0.1",
|
"jasmine-spec-reporter": "~4.2.1",
|
||||||
"karma-jasmine": "~2.0.1",
|
"karma": "~4.1.0",
|
||||||
"karma-jasmine-html-reporter": "^1.4.0",
|
"karma-chrome-launcher": "~2.2.0",
|
||||||
"protractor": "~5.4.0",
|
"karma-coverage-istanbul-reporter": "~2.0.1",
|
||||||
"ts-node": "~7.0.0",
|
"karma-jasmine": "~2.0.1",
|
||||||
"tslint": "~5.15.0",
|
"karma-jasmine-html-reporter": "^1.4.0",
|
||||||
"typescript": "~3.5.3"
|
"protractor": "~5.4.0",
|
||||||
}
|
"ts-node": "~7.0.0",
|
||||||
|
"tslint": "~5.15.0",
|
||||||
|
"typescript": "~3.5.3"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,17 +1,25 @@
|
|||||||
<header style="text-align:center">
|
<header style="text-align:center">
|
||||||
<a [routerLink]="'home'" class="home_link" aria-roledescription="home">
|
<a [routerLink]="'home'" class="home_link" aria-roledescription="home">
|
||||||
<h1>
|
<h1>
|
||||||
<span class="logo_first">Frama</span>
|
<span class="logo_first">Frama</span>
|
||||||
<span class="logo_second">date</span>
|
<span class="logo_second">date</span>
|
||||||
</h1>
|
</h1>
|
||||||
<i i18n>
|
|
||||||
Ceci est une démo
|
</a>
|
||||||
</i>
|
<div id="translate_example">
|
||||||
</a>
|
<div class="lang-choices">
|
||||||
|
<button class="btn btn-info" (click)="switchLanguage('en')">en</button>
|
||||||
|
<button class="btn btn-info" (click)="switchLanguage('fr')">fr</button>
|
||||||
|
</div>
|
||||||
|
<h1 translate>Title</h1>
|
||||||
|
<div>
|
||||||
|
{{ 'Intro' | translate:user }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
</header>
|
</header>
|
||||||
<framadate-navigation></framadate-navigation>
|
<framadate-navigation></framadate-navigation>
|
||||||
<main>
|
<main>
|
||||||
<router-outlet></router-outlet>
|
<router-outlet></router-outlet>
|
||||||
</main>
|
</main>
|
||||||
<framadate-debugger></framadate-debugger>
|
<framadate-debugger></framadate-debugger>
|
||||||
|
@ -1,10 +1,26 @@
|
|||||||
import { Component } from '@angular/core';
|
import {Component} from '@angular/core';
|
||||||
|
import {TranslateService} from "@ngx-translate/core";
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-root',
|
selector: 'app-root',
|
||||||
templateUrl: './app.component.html',
|
templateUrl: './app.component.html',
|
||||||
styleUrls: ['./app.component.scss']
|
styleUrls: ['./app.component.scss']
|
||||||
})
|
})
|
||||||
export class AppComponent {
|
export class AppComponent {
|
||||||
title = 'framadate';
|
title = 'framadate';
|
||||||
|
//translation demo:
|
||||||
|
minutes = 12;
|
||||||
|
user = {
|
||||||
|
name: 'Arthur',
|
||||||
|
age: 42
|
||||||
|
};
|
||||||
|
|
||||||
|
constructor(private translate: TranslateService) {
|
||||||
|
this.translate.setDefaultLang('fr');
|
||||||
|
}
|
||||||
|
|
||||||
|
switchLanguage(language: string) {
|
||||||
|
this.translate.use(language);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -3,7 +3,6 @@ import {NgModule} from '@angular/core';
|
|||||||
|
|
||||||
import {AppRoutingModule} from './app-routing.module';
|
import {AppRoutingModule} from './app-routing.module';
|
||||||
import {AppComponent} from './app.component';
|
import {AppComponent} from './app.component';
|
||||||
import {FormContainerComponent} from './form-container/form-container.component';
|
|
||||||
import {BaseComponent} from './pages/base-page/base.component';
|
import {BaseComponent} from './pages/base-page/base.component';
|
||||||
import {KindComponent} from './pages/kind/kind.component';
|
import {KindComponent} from './pages/kind/kind.component';
|
||||||
import {HeaderComponent} from './header/header.component';
|
import {HeaderComponent} from './header/header.component';
|
||||||
@ -11,50 +10,91 @@ import {FormsModule} from '@angular/forms';
|
|||||||
import {NavigationComponent} from './ui/navigation/navigation.component';
|
import {NavigationComponent} from './ui/navigation/navigation.component';
|
||||||
import {RouterModule} from '@angular/router';
|
import {RouterModule} from '@angular/router';
|
||||||
import {Routes} from './config/Routes';
|
import {Routes} from './config/Routes';
|
||||||
import {CommonModule} from '@angular/common';
|
import {CommonModule, registerLocaleData} from '@angular/common';
|
||||||
import { DatesComponent } from './pages/dates/dates.component';
|
import {DatesComponent} from './pages/dates/dates.component';
|
||||||
import { DebuggerComponent } from './debugger/debugger.component';
|
import {DebuggerComponent} from './debugger/debugger.component';
|
||||||
import { VisibilityComponent } from './pages/visibility/visibility.component';
|
import {VisibilityComponent} from './pages/visibility/visibility.component';
|
||||||
import { ResumeComponent } from './pages/resume/resume.component';
|
import {ResumeComponent} from './pages/resume/resume.component';
|
||||||
import { PicturesComponent } from './pages/pictures/pictures.component';
|
import {PicturesComponent} from './pages/pictures/pictures.component';
|
||||||
import { AnswersComponent } from './pages/answers/answers.component';
|
import {AnswersComponent} from './pages/answers/answers.component';
|
||||||
import { EndConfirmationComponent } from './pages/end-confirmation/end-confirmation.component';
|
import {EndConfirmationComponent} from './pages/end-confirmation/end-confirmation.component';
|
||||||
import { CreateOrRetrieveComponent } from './pages/create-or-retrieve/create-or-retrieve.component';
|
import {CreateOrRetrieveComponent} from './pages/create-or-retrieve/create-or-retrieve.component';
|
||||||
import { CalendarComponent } from './calendar/calendar.component';
|
import {CalendarComponent} from './calendar/calendar.component';
|
||||||
|
|
||||||
import { registerLocaleData } from '@angular/common';
|
|
||||||
import localeFr from '@angular/common/locales/fr';
|
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 {PasswordComponent} from './pages/password/password.component';
|
||||||
|
import {HomeComponent} from './pages/home/home.component';
|
||||||
|
import {HttpClient, HttpClientModule} from '@angular/common/http';
|
||||||
|
import {
|
||||||
|
MissingTranslationHandler,
|
||||||
|
MissingTranslationHandlerParams,
|
||||||
|
TranslateLoader,
|
||||||
|
TranslateModule,
|
||||||
|
TranslateService
|
||||||
|
} from '@ngx-translate/core';
|
||||||
|
import {TranslateHttpLoader} from '@ngx-translate/http-loader';
|
||||||
|
|
||||||
|
export class MyMissingTranslationHandler implements MissingTranslationHandler {
|
||||||
|
handle(params: MissingTranslationHandlerParams) {
|
||||||
|
return 'some value';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
registerLocaleData(localeFr, 'fr');
|
registerLocaleData(localeFr, 'fr');
|
||||||
|
registerLocaleData(localeEn, 'en');
|
||||||
|
|
||||||
|
export function HttpLoaderFactory(http: HttpClient) {
|
||||||
|
return new TranslateHttpLoader(http);
|
||||||
|
}
|
||||||
|
|
||||||
@NgModule({
|
@NgModule({
|
||||||
declarations: [
|
declarations: [
|
||||||
AppComponent,
|
AppComponent,
|
||||||
FormContainerComponent,
|
BaseComponent,
|
||||||
BaseComponent,
|
KindComponent,
|
||||||
KindComponent,
|
HeaderComponent,
|
||||||
HeaderComponent,
|
NavigationComponent,
|
||||||
NavigationComponent,
|
DatesComponent,
|
||||||
DatesComponent,
|
DebuggerComponent,
|
||||||
DebuggerComponent,
|
VisibilityComponent,
|
||||||
VisibilityComponent,
|
ResumeComponent,
|
||||||
ResumeComponent,
|
PicturesComponent,
|
||||||
PicturesComponent,
|
AnswersComponent,
|
||||||
AnswersComponent,
|
EndConfirmationComponent,
|
||||||
EndConfirmationComponent,
|
CreateOrRetrieveComponent,
|
||||||
CreateOrRetrieveComponent,
|
CalendarComponent,
|
||||||
CalendarComponent,
|
VotingSummaryComponent,
|
||||||
|
VotingGraphComponent,
|
||||||
|
VotingChoiceComponent,
|
||||||
|
PasswordComponent,
|
||||||
|
HomeComponent,
|
||||||
|
|
||||||
],
|
],
|
||||||
imports: [
|
imports: [
|
||||||
CommonModule,
|
CommonModule,
|
||||||
BrowserModule,
|
BrowserModule,
|
||||||
AppRoutingModule,
|
AppRoutingModule,
|
||||||
FormsModule,
|
TranslateModule.forRoot({
|
||||||
RouterModule.forRoot(Routes)
|
missingTranslationHandler: {
|
||||||
],
|
provide: MissingTranslationHandler,
|
||||||
providers: [],
|
useClass: MyMissingTranslationHandler,
|
||||||
bootstrap: [AppComponent]
|
},
|
||||||
|
// useDefaultLang: false,
|
||||||
|
loader: {
|
||||||
|
provide: TranslateLoader,
|
||||||
|
useFactory: HttpLoaderFactory,
|
||||||
|
deps: [HttpClient]
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
HttpClientModule,
|
||||||
|
FormsModule,
|
||||||
|
RouterModule.forRoot(Routes)
|
||||||
|
],
|
||||||
|
providers: [TranslateService],
|
||||||
|
bootstrap: [AppComponent]
|
||||||
})
|
})
|
||||||
export class AppModule {
|
export class AppModule {
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,3 @@
|
|||||||
import {FormContainerComponent} from '../form-container/form-container.component';
|
|
||||||
import {KindComponent} from '../pages/kind/kind.component';
|
import {KindComponent} from '../pages/kind/kind.component';
|
||||||
import {DatesComponent} from '../pages/dates/dates.component';
|
import {DatesComponent} from '../pages/dates/dates.component';
|
||||||
import {VisibilityComponent} from '../pages/visibility/visibility.component';
|
import {VisibilityComponent} from '../pages/visibility/visibility.component';
|
||||||
@ -8,6 +7,7 @@ import {EndConfirmationComponent} from '../pages/end-confirmation/end-confirmati
|
|||||||
import {AnswersComponent} from '../pages/answers/answers.component';
|
import {AnswersComponent} from '../pages/answers/answers.component';
|
||||||
import {CreateOrRetrieveComponent} from '../pages/create-or-retrieve/create-or-retrieve.component';
|
import {CreateOrRetrieveComponent} from '../pages/create-or-retrieve/create-or-retrieve.component';
|
||||||
import {BaseComponent} from '../pages/base-page/base.component';
|
import {BaseComponent} from '../pages/base-page/base.component';
|
||||||
|
import {HomeComponent} from "../pages/home/home.component";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* each step in the form is a component
|
* each step in the form is a component
|
||||||
@ -15,7 +15,7 @@ import {BaseComponent} from '../pages/base-page/base.component';
|
|||||||
export const Routes =
|
export const Routes =
|
||||||
[
|
[
|
||||||
{path: '', component: CreateOrRetrieveComponent},
|
{path: '', component: CreateOrRetrieveComponent},
|
||||||
{path: 'home', component: FormContainerComponent},
|
{path: 'home', component: HomeComponent},
|
||||||
{path: 'base', component: BaseComponent},
|
{path: 'base', component: BaseComponent},
|
||||||
{path: 'step/creation', component: CreateOrRetrieveComponent},
|
{path: 'step/creation', component: CreateOrRetrieveComponent},
|
||||||
{path: 'step/date', component: DatesComponent},
|
{path: 'step/date', component: DatesComponent},
|
||||||
|
@ -1,66 +1,36 @@
|
|||||||
<div class="well debug">
|
<div class="well debug">
|
||||||
|
|
||||||
<strong>
|
<strong>
|
||||||
<h2 i18n>
|
<h2 i18n>
|
||||||
infos de debug
|
infos de debug
|
||||||
</h2>
|
</h2>
|
||||||
</strong>
|
<span class="demo">
|
||||||
<ul>
|
{{"config.demo"|translate}}
|
||||||
<li>
|
</span>
|
||||||
étape actuelle {{config.step}} / {{config.stepMax}}
|
</strong>
|
||||||
</li>
|
<ul>
|
||||||
<li>
|
<li>
|
||||||
formulaire valide : {{formIsValid}}
|
étape actuelle {{config.step}} / {{config.stepMax}}
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
type de formulaire: {{config.pollType}}
|
formulaire valide : {{formIsValid}}
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
config:
|
type de formulaire: {{config.pollType}}
|
||||||
<pre>
|
</li>
|
||||||
|
<li>
|
||||||
|
config:
|
||||||
|
<pre>
|
||||||
{{config|json}}
|
{{config|json}}
|
||||||
</pre>
|
</pre>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<span i18n>
|
|
||||||
Choix cornélien syncronisé:
|
|
||||||
</span>
|
|
||||||
<!-- todo: factoriser les boutons-->
|
|
||||||
<button
|
<button
|
||||||
(click)="config.set('pollType' , 'classic')"
|
class="btn"
|
||||||
[class.active]="config.pollType == 'classic'"
|
i18n
|
||||||
[disabled]="!formIsValid"
|
(click)="config.sendForm()"
|
||||||
class="btn btn-primary next"
|
|
||||||
>
|
>
|
||||||
<span i18n>
|
Envoyer le formulaire
|
||||||
sondage classique
|
|
||||||
</span>
|
|
||||||
<span *ngIf="config.pollType == 'classic'">
|
|
||||||
[x]
|
|
||||||
</span>
|
|
||||||
|
|
||||||
</button>
|
|
||||||
<button
|
|
||||||
(click)="selectOption('pollType' ,'dates')"
|
|
||||||
[class.active]="config.pollType == 'dates'"
|
|
||||||
[disabled]="!formIsValid"
|
|
||||||
class="btn btn-primary next"
|
|
||||||
>
|
|
||||||
<span i18n>
|
|
||||||
sondage spécial date
|
|
||||||
</span>
|
|
||||||
<span *ngIf="config.pollType == 'dates'">
|
|
||||||
[x]
|
|
||||||
</span>
|
|
||||||
|
|
||||||
</button>
|
|
||||||
|
|
||||||
<button
|
|
||||||
class="btn"
|
|
||||||
i18n
|
|
||||||
(click)="config.sendForm()"
|
|
||||||
>
|
|
||||||
Envoyer le formulaire
|
|
||||||
</button>
|
</button>
|
||||||
|
@ -1,86 +0,0 @@
|
|||||||
<div class="description">
|
|
||||||
|
|
||||||
<router-outlet></router-outlet>
|
|
||||||
<h1 i18n>
|
|
||||||
Pour commencer
|
|
||||||
</h1>
|
|
||||||
<span
|
|
||||||
class="pre-selector"
|
|
||||||
i18n
|
|
||||||
>
|
|
||||||
Je veux créer un sondage
|
|
||||||
</span>
|
|
||||||
<select
|
|
||||||
id="selector"
|
|
||||||
name="selector"
|
|
||||||
autofocus="autofocus"
|
|
||||||
[(ngModel)]="config.pollType"
|
|
||||||
>
|
|
||||||
<option value="dates">
|
|
||||||
spécial dates
|
|
||||||
</option>
|
|
||||||
<option value="classic">
|
|
||||||
classique
|
|
||||||
</option>
|
|
||||||
</select>
|
|
||||||
<span class="post-selector">
|
|
||||||
</span>
|
|
||||||
<div>
|
|
||||||
|
|
||||||
<label
|
|
||||||
for="poll_title"
|
|
||||||
class="title-label"
|
|
||||||
i18n
|
|
||||||
>
|
|
||||||
Dont le titre sera
|
|
||||||
</label>
|
|
||||||
<input
|
|
||||||
type="text"
|
|
||||||
id="poll_title"
|
|
||||||
name="poll_title"
|
|
||||||
placeholder="titre"
|
|
||||||
[(ngModel)]="config.title"
|
|
||||||
>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<label for="my_name">
|
|
||||||
Je peux aussi préciser mon nom si je le souhaite :
|
|
||||||
</label>
|
|
||||||
<input
|
|
||||||
type="text"
|
|
||||||
name="my_name"
|
|
||||||
id="my_name"
|
|
||||||
placeholder="mon nom"
|
|
||||||
[(ngModel)]="config.myName"
|
|
||||||
>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
|
|
||||||
<label
|
|
||||||
for="poll_description"
|
|
||||||
class="title-label"
|
|
||||||
i18n
|
|
||||||
>
|
|
||||||
et la description serait
|
|
||||||
</label>
|
|
||||||
<textarea
|
|
||||||
id="poll_description"
|
|
||||||
name="poll_description"
|
|
||||||
[(ngModel)]="config.description"
|
|
||||||
placeholder="description"
|
|
||||||
cols="50"
|
|
||||||
lines="5"
|
|
||||||
></textarea>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<a
|
|
||||||
[routerLink]="'/step/answers'"
|
|
||||||
class="btn btn-block"
|
|
||||||
i18n
|
|
||||||
>
|
|
||||||
Continuer
|
|
||||||
</a>
|
|
||||||
<hr>
|
|
||||||
</div>
|
|
@ -1,25 +0,0 @@
|
|||||||
import {Component, OnInit} from '@angular/core';
|
|
||||||
import {ConfigService} from '../config.service';
|
|
||||||
|
|
||||||
// import {PollConfig} from '../config/PollConfig';
|
|
||||||
|
|
||||||
@Component({
|
|
||||||
selector: 'framadate-form-container',
|
|
||||||
templateUrl: './form-container.component.html',
|
|
||||||
styleUrls: ['./form-container.component.scss']
|
|
||||||
})
|
|
||||||
/**
|
|
||||||
* gestion de la progression dans le formulaire.
|
|
||||||
* à chaque étape correspond un composant de page
|
|
||||||
*/
|
|
||||||
export class FormContainerComponent implements OnInit {
|
|
||||||
|
|
||||||
constructor(public config: ConfigService) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
ngOnInit() {
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
@ -1,30 +1,30 @@
|
|||||||
<div class="answers">
|
<div class="answers">
|
||||||
<h1 i18n>
|
<h1 i18n>
|
||||||
Choisir les propositions
|
Choisir les propositions
|
||||||
</h1>
|
</h1>
|
||||||
|
|
||||||
<p class="subtitle" i18n>
|
<p class="subtitle" i18n>
|
||||||
vous pouvez utiliser la syntaxe markdown
|
vous pouvez utiliser la syntaxe markdown
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<ol>
|
<ol>
|
||||||
<li #answers *ngFor="let answer of config.answers; index as i;trackBy trackFunction"
|
<li #answers *ngFor="let answer of config.answers; index as i;trackBy trackFunction"
|
||||||
class="answer-item">
|
class="answer-item">
|
||||||
<input
|
<input
|
||||||
type="text"
|
[(ngModel)]="answer.text"
|
||||||
class="answer"
|
class="answer"
|
||||||
[(ngModel)]="answer.text"
|
placeholder="réponse"
|
||||||
placeholder="réponse"
|
type="text"
|
||||||
>
|
>
|
||||||
<button (click)="config.answers.splice(i,1)">X</button>
|
<button (click)="config.answers.splice(i,1)">X</button>
|
||||||
</li>
|
</li>
|
||||||
</ol>
|
</ol>
|
||||||
|
|
||||||
<button
|
<button
|
||||||
class="btn-outline btn-block"
|
(click)="addAnswer()"
|
||||||
(click)="addAnswer()">
|
class="btn-outline btn-block">
|
||||||
Ajouter
|
Ajouter
|
||||||
</button>
|
</button>
|
||||||
|
|
||||||
<a [routerLink]="'/step/resume'" class="btn btn-block">Voyons ce que ça donne</a>
|
<a [routerLink]="'/step/resume'" class="btn btn-block">Voyons ce que ça donne</a>
|
||||||
</div>
|
</div>
|
||||||
|
@ -1,2 +1,4 @@
|
|||||||
<h1>Ce composant est celui de base pour les pages</h1>
|
<h1>Ce composant est celui de base pour les pages</h1>
|
||||||
<a [routerLink]="'/step/end'" class="btn btn-block">C'est parfait!</a>
|
<a [routerLink]="'/step/end'" class="btn btn-block" i18n="@@confirm">
|
||||||
|
{{"config.perfect"|translate}}
|
||||||
|
</a>
|
||||||
|
@ -1,56 +1,54 @@
|
|||||||
<section class="creation">
|
<section class="creation">
|
||||||
<h1 i18n>
|
<h1>
|
||||||
Créer un sondage
|
{{"creation.title"|translate}}
|
||||||
</h1>
|
</h1>
|
||||||
<p
|
<p
|
||||||
class="description"
|
class="description"
|
||||||
i18n
|
i18n
|
||||||
>
|
>
|
||||||
Planifiez des rendez-vous avec vos amis ou votre famille ou créez un sondage avec du texte, des images ou des
|
{{"config.title"|translate}}
|
||||||
liens… un sondage quoi !
|
</p>
|
||||||
</p>
|
<div class="btn-next">
|
||||||
<div class="btn-next">
|
<a
|
||||||
<a
|
[routerLink]="'/home'"
|
||||||
[routerLink]="'/home'"
|
>
|
||||||
>
|
|
||||||
<span
|
<span
|
||||||
class="text"
|
class="text"
|
||||||
i18n
|
i18n
|
||||||
>
|
>
|
||||||
C'est parti
|
{{"config.letsgo"|translate}}
|
||||||
</span>
|
</span>
|
||||||
<span class="icon right">
|
<span class="icon right">
|
||||||
>
|
>
|
||||||
</span>
|
</span>
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
<section class="recuperation">
|
<section class="recuperation">
|
||||||
<h1 i18n>
|
<h1>
|
||||||
Où sont mes sondages ?
|
{{"config.find_my_polls"|translate}}
|
||||||
</h1>
|
</h1>
|
||||||
<form
|
<form
|
||||||
action="https://framadate.org/find_polls.php"
|
action="https://framadate.org/find_polls.php"
|
||||||
method="post"
|
method="post"
|
||||||
>
|
>
|
||||||
<label
|
<label
|
||||||
class="description"
|
class="description"
|
||||||
for="email"
|
for="email"
|
||||||
i18n
|
i18n
|
||||||
>
|
>
|
||||||
Je cherche les sondages qui correspondent à mon mail :
|
{{"config.find_helper"|translate}} :
|
||||||
</label>
|
</label>
|
||||||
<input
|
<input
|
||||||
type="email"
|
type="email"
|
||||||
name="mail"
|
name="mail"
|
||||||
id="email"
|
id="email"
|
||||||
autofocus="autofocus"
|
autofocus="autofocus"
|
||||||
/>
|
/>
|
||||||
<input
|
<input
|
||||||
type="submit"
|
type="submit"
|
||||||
class="btn btn-block"
|
class="btn btn-block"
|
||||||
i18n
|
i18n-value="'config.find_button'|translate"
|
||||||
value="Retrouver mes sondages"
|
/>
|
||||||
/>
|
</form>
|
||||||
</form>
|
|
||||||
</section>
|
</section>
|
||||||
|
@ -1,15 +1,19 @@
|
|||||||
import { Component, OnInit } from '@angular/core';
|
import { Component, OnInit } from '@angular/core';
|
||||||
|
import {BaseComponent} from "../base-page/base.component";
|
||||||
|
import {ConfigService} from "../../config.service";
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'framadate-create-or-retrieve',
|
selector: 'framadate-create-or-retrieve',
|
||||||
templateUrl: './create-or-retrieve.component.html',
|
templateUrl: './create-or-retrieve.component.html',
|
||||||
styleUrls: ['./create-or-retrieve.component.scss']
|
styleUrls: ['./create-or-retrieve.component.scss']
|
||||||
})
|
})
|
||||||
export class CreateOrRetrieveComponent implements OnInit {
|
export class CreateOrRetrieveComponent extends BaseComponent implements OnInit {
|
||||||
|
|
||||||
constructor() { }
|
constructor(public config: ConfigService) {
|
||||||
|
super(config);
|
||||||
|
}
|
||||||
|
|
||||||
ngOnInit() {
|
ngOnInit() {
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,58 +1,58 @@
|
|||||||
<div i18n>
|
<div i18n>
|
||||||
Config spécialement pour les dates
|
Config spécialement pour les dates
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
<select
|
<select
|
||||||
name="multi_hours"
|
name="multi_hours"
|
||||||
id="multi_hours"
|
id="multi_hours"
|
||||||
[(ngModel)]="config.allowSeveralHours"
|
[(ngModel)]="config.allowSeveralHours"
|
||||||
>
|
>
|
||||||
<option value="true">possiblement différents</option>
|
<option value="true">possiblement différents</option>
|
||||||
<option value="false">identiques</option>
|
<option value="false">identiques</option>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<label for="multi_hours">
|
<label for="multi_hours">
|
||||||
<span i18n>
|
<span i18n>
|
||||||
Je souhaite mettre des créneaux horaires
|
Je souhaite mettre des créneaux horaires
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
<span i18n>
|
<span i18n>
|
||||||
pour chaque journée
|
pour chaque journée
|
||||||
</span>
|
</span>
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<button
|
<button
|
||||||
class="btn btn-primary"
|
class="btn btn-primary"
|
||||||
(click)="addDate()"
|
(click)="addDate()"
|
||||||
i18n
|
i18n
|
||||||
>
|
>
|
||||||
Ajouter une plage de dates
|
Ajouter une plage de dates
|
||||||
</button>
|
</button>
|
||||||
<div class="dates-list">
|
<div class="dates-list">
|
||||||
{{config.dateList.length}}
|
{{config.dateList.length}}
|
||||||
<span i18n>
|
<span i18n>
|
||||||
choix de Dates
|
choix de Dates
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
<div
|
<div
|
||||||
*ngFor="let choice of config.dateList; index as id"
|
*ngFor="let choice of config.dateList; index as id"
|
||||||
class="date-choice"
|
class="date-choice"
|
||||||
>
|
>
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
name="dateChoices[]"
|
name="dateChoices[]"
|
||||||
[(ngModel)]="choice.literal"
|
[(ngModel)]="choice.literal"
|
||||||
>
|
>
|
||||||
|
|
||||||
<button (click)="config.dateList.splice(id, 1)">X</button>
|
<button (click)="config.dateList.splice(id, 1)">X</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<a
|
<a
|
||||||
[routerLink]="'/step/end'"
|
[routerLink]="'/step/end'"
|
||||||
class="btn btn-block"
|
class="btn btn-block"
|
||||||
>
|
>
|
||||||
C'est parfait!
|
C'est parfait!
|
||||||
</a>
|
</a>
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<h1 i18n>
|
<h1 i18n>
|
||||||
Et c'est tout pour nous!
|
Et c'est tout pour nous!
|
||||||
</h1>
|
</h1>
|
||||||
<h2 i18n>Coté administrateur-ice-eux</h2>
|
<h2 i18n>Coté administrateur-ice-eux</h2>
|
||||||
<h2 i18n>Coté sondés</h2>
|
<h2 i18n>Coté sondés</h2>
|
||||||
|
@ -1,15 +1,19 @@
|
|||||||
import { Component, OnInit } from '@angular/core';
|
import { Component, OnInit } from '@angular/core';
|
||||||
|
import {BaseComponent} from "../base-page/base.component";
|
||||||
|
import {ConfigService} from "../../config.service";
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'framadate-end-confirmation',
|
selector: 'framadate-end-confirmation',
|
||||||
templateUrl: './end-confirmation.component.html',
|
templateUrl: './end-confirmation.component.html',
|
||||||
styleUrls: ['./end-confirmation.component.scss']
|
styleUrls: ['./end-confirmation.component.scss']
|
||||||
})
|
})
|
||||||
export class EndConfirmationComponent implements OnInit {
|
export class EndConfirmationComponent extends BaseComponent implements OnInit {
|
||||||
|
|
||||||
constructor() { }
|
constructor(public config: ConfigService) {
|
||||||
|
super(config);
|
||||||
|
}
|
||||||
|
|
||||||
ngOnInit() {
|
ngOnInit() {
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
86
src/app/pages/home/home.component.html
Normal file
86
src/app/pages/home/home.component.html
Normal file
@ -0,0 +1,86 @@
|
|||||||
|
<div class="description">
|
||||||
|
|
||||||
|
<router-outlet></router-outlet>
|
||||||
|
<h1 i18n>
|
||||||
|
{{"creation.title"|translate}}
|
||||||
|
</h1>
|
||||||
|
<span
|
||||||
|
class="pre-selector"
|
||||||
|
i18n
|
||||||
|
>
|
||||||
|
{{"creation.want"|translate}}
|
||||||
|
</span>
|
||||||
|
<select
|
||||||
|
id="selector"
|
||||||
|
name="selector"
|
||||||
|
autofocus="autofocus"
|
||||||
|
[(ngModel)]="config.pollType"
|
||||||
|
>
|
||||||
|
<option value="dates">
|
||||||
|
{{"creation.kind.date"|translate}}
|
||||||
|
</option>
|
||||||
|
<option value="classic">
|
||||||
|
{{"creation.kind.classic"|translate}}
|
||||||
|
</option>
|
||||||
|
</select>
|
||||||
|
<span class="post-selector">
|
||||||
|
</span>
|
||||||
|
<div>
|
||||||
|
|
||||||
|
<label
|
||||||
|
for="poll_title"
|
||||||
|
class="title-label"
|
||||||
|
i18n
|
||||||
|
>
|
||||||
|
{{"creation.choose_title"|translate}}
|
||||||
|
</label>
|
||||||
|
<input
|
||||||
|
type="text"
|
||||||
|
id="poll_title"
|
||||||
|
name="poll_title"
|
||||||
|
placeholder="titre"
|
||||||
|
[(ngModel)]="config.title"
|
||||||
|
>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<label for="my_name">
|
||||||
|
{{"creation.name"|translate}} :
|
||||||
|
</label>
|
||||||
|
<input
|
||||||
|
type="text"
|
||||||
|
name="my_name"
|
||||||
|
id="my_name"
|
||||||
|
placeholder="mon nom"
|
||||||
|
[(ngModel)]="config.myName"
|
||||||
|
>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
|
||||||
|
<label
|
||||||
|
for="poll_description"
|
||||||
|
class="title-label"
|
||||||
|
i18n
|
||||||
|
>
|
||||||
|
{{"creation.description"|translate}}
|
||||||
|
</label>
|
||||||
|
<textarea
|
||||||
|
id="poll_description"
|
||||||
|
name="poll_description"
|
||||||
|
[(ngModel)]="config.description"
|
||||||
|
placeholder="description"
|
||||||
|
cols="50"
|
||||||
|
lines="5"
|
||||||
|
></textarea>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<a
|
||||||
|
[routerLink]="'/step/answers'"
|
||||||
|
class="btn btn-block"
|
||||||
|
i18n
|
||||||
|
>
|
||||||
|
Continuer
|
||||||
|
</a>
|
||||||
|
<hr>
|
||||||
|
</div>
|
25
src/app/pages/home/home.component.spec.ts
Normal file
25
src/app/pages/home/home.component.spec.ts
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||||
|
|
||||||
|
import { HomeComponent } from './home.component';
|
||||||
|
|
||||||
|
describe('HomeComponent', () => {
|
||||||
|
let component: HomeComponent;
|
||||||
|
let fixture: ComponentFixture<HomeComponent>;
|
||||||
|
|
||||||
|
beforeEach(async(() => {
|
||||||
|
TestBed.configureTestingModule({
|
||||||
|
declarations: [ HomeComponent ]
|
||||||
|
})
|
||||||
|
.compileComponents();
|
||||||
|
}));
|
||||||
|
|
||||||
|
beforeEach(() => {
|
||||||
|
fixture = TestBed.createComponent(HomeComponent);
|
||||||
|
component = fixture.componentInstance;
|
||||||
|
fixture.detectChanges();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should create', () => {
|
||||||
|
expect(component).toBeTruthy();
|
||||||
|
});
|
||||||
|
});
|
19
src/app/pages/home/home.component.ts
Normal file
19
src/app/pages/home/home.component.ts
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
import {Component, OnInit} from '@angular/core';
|
||||||
|
import {ConfigService} from "../../config.service";
|
||||||
|
import {BaseComponent} from "../base-page/base.component";
|
||||||
|
|
||||||
|
@Component({
|
||||||
|
selector: 'framadate-home',
|
||||||
|
templateUrl: './home.component.html',
|
||||||
|
styleUrls: ['./home.component.scss']
|
||||||
|
})
|
||||||
|
export class HomeComponent extends BaseComponent implements OnInit {
|
||||||
|
|
||||||
|
constructor(public config: ConfigService) {
|
||||||
|
super(config);
|
||||||
|
}
|
||||||
|
|
||||||
|
ngOnInit() {
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -1,4 +1,4 @@
|
|||||||
<h1>page de démo</h1>
|
<h1>page de démo</h1>
|
||||||
<p>cette étape est en cours de développement. <br> S'inspirer de la page de FormContainer pour réaliser d'autres pages
|
<p>cette étape est en cours de développement. <br> S'inspirer de la page de Home pour réaliser d'autres pages
|
||||||
</p>
|
</p>
|
||||||
<a [routerLink]="'/step/end'" class="btn btn-block">C'est parfait!</a>
|
<a [routerLink]="'/step/end'" class="btn btn-block" i18n="@@confirm">C'est parfait!</a>
|
||||||
|
1
src/app/pages/password/password.component.html
Normal file
1
src/app/pages/password/password.component.html
Normal file
@ -0,0 +1 @@
|
|||||||
|
<p>password works!</p>
|
25
src/app/pages/password/password.component.spec.ts
Normal file
25
src/app/pages/password/password.component.spec.ts
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||||
|
|
||||||
|
import { PasswordComponent } from './password.component';
|
||||||
|
|
||||||
|
describe('PasswordComponent', () => {
|
||||||
|
let component: PasswordComponent;
|
||||||
|
let fixture: ComponentFixture<PasswordComponent>;
|
||||||
|
|
||||||
|
beforeEach(async(() => {
|
||||||
|
TestBed.configureTestingModule({
|
||||||
|
declarations: [ PasswordComponent ]
|
||||||
|
})
|
||||||
|
.compileComponents();
|
||||||
|
}));
|
||||||
|
|
||||||
|
beforeEach(() => {
|
||||||
|
fixture = TestBed.createComponent(PasswordComponent);
|
||||||
|
component = fixture.componentInstance;
|
||||||
|
fixture.detectChanges();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should create', () => {
|
||||||
|
expect(component).toBeTruthy();
|
||||||
|
});
|
||||||
|
});
|
19
src/app/pages/password/password.component.ts
Normal file
19
src/app/pages/password/password.component.ts
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
import { Component, OnInit } from '@angular/core';
|
||||||
|
import {BaseComponent} from "../base-page/base.component";
|
||||||
|
import {ConfigService} from "../../config.service";
|
||||||
|
|
||||||
|
@Component({
|
||||||
|
selector: 'framadate-password',
|
||||||
|
templateUrl: './password.component.html',
|
||||||
|
styleUrls: ['./password.component.scss']
|
||||||
|
})
|
||||||
|
export class PasswordComponent extends BaseComponent implements OnInit {
|
||||||
|
|
||||||
|
constructor(public config: ConfigService) {
|
||||||
|
super(config);
|
||||||
|
}
|
||||||
|
|
||||||
|
ngOnInit() {
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -1,5 +1,6 @@
|
|||||||
|
<!--ceci est la popup pour ajouter une image-->
|
||||||
<h1 i18n>
|
<h1 i18n>
|
||||||
Images
|
Images
|
||||||
</h1>
|
</h1>
|
||||||
<a [routerLink]="'/step/visibility'" class="btn btn-block">ok</a>
|
<a [routerLink]="'/step/visibility'" class="btn btn-block">ok</a>
|
||||||
|
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
<h1 i18n>
|
<h1 i18n>
|
||||||
Résumé avant validation
|
Résumé avant validation
|
||||||
</h1>
|
</h1>
|
||||||
<section>
|
<section>
|
||||||
TODO
|
TODO
|
||||||
<pre>
|
<pre>
|
||||||
{{config |json}}
|
{{config |json}}
|
||||||
</pre>
|
</pre>
|
||||||
</section>
|
</section>
|
||||||
<a [routerLink]="'/step/end'" class="btn btn-block">C'est parfait!</a>
|
<a [routerLink]="'/step/end'" class="btn btn-block" i18n="@@confirm">C'est parfait!</a>
|
||||||
|
@ -1,14 +1,14 @@
|
|||||||
<h1 i18n>
|
<h1 i18n>
|
||||||
Visibilité des réponses
|
Visibilité des réponses
|
||||||
</h1>
|
</h1>
|
||||||
<h1 i18n>
|
<h1 i18n>
|
||||||
Votes
|
Votes
|
||||||
</h1>
|
</h1>
|
||||||
<h1 i18n>
|
<h1 i18n>
|
||||||
Archivage
|
Archivage
|
||||||
</h1>
|
</h1>
|
||||||
|
|
||||||
<h1 i18n>
|
<h1 i18n>
|
||||||
Accès au sondage
|
Accès au sondage
|
||||||
</h1>
|
</h1>
|
||||||
<a [routerLink]="'/step/end'" class="btn btn-block">C'est parfait!</a>
|
<a [routerLink]="'/step/end'" class="btn btn-block" i18n="@@confirm">C'est parfait!</a>
|
||||||
|
1
src/app/pages/voting-choice/voting-choice.component.html
Normal file
1
src/app/pages/voting-choice/voting-choice.component.html
Normal file
@ -0,0 +1 @@
|
|||||||
|
<p>voting-choice works!</p>
|
25
src/app/pages/voting-choice/voting-choice.component.spec.ts
Normal file
25
src/app/pages/voting-choice/voting-choice.component.spec.ts
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||||
|
|
||||||
|
import { VotingChoiceComponent } from './voting-choice.component';
|
||||||
|
|
||||||
|
describe('VotingChoiceComponent', () => {
|
||||||
|
let component: VotingChoiceComponent;
|
||||||
|
let fixture: ComponentFixture<VotingChoiceComponent>;
|
||||||
|
|
||||||
|
beforeEach(async(() => {
|
||||||
|
TestBed.configureTestingModule({
|
||||||
|
declarations: [ VotingChoiceComponent ]
|
||||||
|
})
|
||||||
|
.compileComponents();
|
||||||
|
}));
|
||||||
|
|
||||||
|
beforeEach(() => {
|
||||||
|
fixture = TestBed.createComponent(VotingChoiceComponent);
|
||||||
|
component = fixture.componentInstance;
|
||||||
|
fixture.detectChanges();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should create', () => {
|
||||||
|
expect(component).toBeTruthy();
|
||||||
|
});
|
||||||
|
});
|
20
src/app/pages/voting-choice/voting-choice.component.ts
Normal file
20
src/app/pages/voting-choice/voting-choice.component.ts
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
import { Component, OnInit } from '@angular/core';
|
||||||
|
import {BaseComponent} from "../base-page/base.component";
|
||||||
|
import {ConfigService} from "../../config.service";
|
||||||
|
|
||||||
|
@Component({
|
||||||
|
selector: 'framadate-voting-choice',
|
||||||
|
templateUrl: './voting-choice.component.html',
|
||||||
|
styleUrls: ['./voting-choice.component.scss']
|
||||||
|
})
|
||||||
|
export class VotingChoiceComponent extends BaseComponent implements OnInit {
|
||||||
|
|
||||||
|
constructor(public config: ConfigService) {
|
||||||
|
super(config);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
ngOnInit() {
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
1
src/app/pages/voting-graph/voting-graph.component.html
Normal file
1
src/app/pages/voting-graph/voting-graph.component.html
Normal file
@ -0,0 +1 @@
|
|||||||
|
<p>voting-graph works!</p>
|
25
src/app/pages/voting-graph/voting-graph.component.spec.ts
Normal file
25
src/app/pages/voting-graph/voting-graph.component.spec.ts
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||||
|
|
||||||
|
import { VotingGraphComponent } from './voting-graph.component';
|
||||||
|
|
||||||
|
describe('VotingGraphComponent', () => {
|
||||||
|
let component: VotingGraphComponent;
|
||||||
|
let fixture: ComponentFixture<VotingGraphComponent>;
|
||||||
|
|
||||||
|
beforeEach(async(() => {
|
||||||
|
TestBed.configureTestingModule({
|
||||||
|
declarations: [ VotingGraphComponent ]
|
||||||
|
})
|
||||||
|
.compileComponents();
|
||||||
|
}));
|
||||||
|
|
||||||
|
beforeEach(() => {
|
||||||
|
fixture = TestBed.createComponent(VotingGraphComponent);
|
||||||
|
component = fixture.componentInstance;
|
||||||
|
fixture.detectChanges();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should create', () => {
|
||||||
|
expect(component).toBeTruthy();
|
||||||
|
});
|
||||||
|
});
|
19
src/app/pages/voting-graph/voting-graph.component.ts
Normal file
19
src/app/pages/voting-graph/voting-graph.component.ts
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
import { Component, OnInit } from '@angular/core';
|
||||||
|
import {BaseComponent} from "../base-page/base.component";
|
||||||
|
import {ConfigService} from "../../config.service";
|
||||||
|
|
||||||
|
@Component({
|
||||||
|
selector: 'framadate-voting-graph',
|
||||||
|
templateUrl: './voting-graph.component.html',
|
||||||
|
styleUrls: ['./voting-graph.component.scss']
|
||||||
|
})
|
||||||
|
export class VotingGraphComponent extends BaseComponent implements OnInit {
|
||||||
|
|
||||||
|
constructor(public config: ConfigService) {
|
||||||
|
super(config);
|
||||||
|
}
|
||||||
|
|
||||||
|
ngOnInit() {
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1 @@
|
|||||||
|
<p>voting-summary works!</p>
|
@ -1,20 +1,20 @@
|
|||||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||||
|
|
||||||
import { FormContainerComponent } from './form-container.component';
|
import { VotingSummaryComponent } from './voting-summary.component';
|
||||||
|
|
||||||
describe('FormContainerComponent', () => {
|
describe('VotingSummaryComponent', () => {
|
||||||
let component: FormContainerComponent;
|
let component: VotingSummaryComponent;
|
||||||
let fixture: ComponentFixture<FormContainerComponent>;
|
let fixture: ComponentFixture<VotingSummaryComponent>;
|
||||||
|
|
||||||
beforeEach(async(() => {
|
beforeEach(async(() => {
|
||||||
TestBed.configureTestingModule({
|
TestBed.configureTestingModule({
|
||||||
declarations: [ FormContainerComponent ]
|
declarations: [ VotingSummaryComponent ]
|
||||||
})
|
})
|
||||||
.compileComponents();
|
.compileComponents();
|
||||||
}));
|
}));
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
fixture = TestBed.createComponent(FormContainerComponent);
|
fixture = TestBed.createComponent(VotingSummaryComponent);
|
||||||
component = fixture.componentInstance;
|
component = fixture.componentInstance;
|
||||||
fixture.detectChanges();
|
fixture.detectChanges();
|
||||||
});
|
});
|
19
src/app/pages/voting-summary/voting-summary.component.ts
Normal file
19
src/app/pages/voting-summary/voting-summary.component.ts
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
import { Component, OnInit } from '@angular/core';
|
||||||
|
import {BaseComponent} from "../base-page/base.component";
|
||||||
|
import {ConfigService} from "../../config.service";
|
||||||
|
|
||||||
|
@Component({
|
||||||
|
selector: 'framadate-voting-summary',
|
||||||
|
templateUrl: './voting-summary.component.html',
|
||||||
|
styleUrls: ['./voting-summary.component.scss']
|
||||||
|
})
|
||||||
|
export class VotingSummaryComponent extends BaseComponent implements OnInit {
|
||||||
|
|
||||||
|
constructor(public config: ConfigService) {
|
||||||
|
super(config);
|
||||||
|
}
|
||||||
|
|
||||||
|
ngOnInit() {
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
64
src/assets/i18n/en.json
Normal file
64
src/assets/i18n/en.json
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
{
|
||||||
|
"Title": "Translation example",
|
||||||
|
"Intro": "Hello I am {{name}}, I am {{age}} years old.",
|
||||||
|
"home": {
|
||||||
|
"title": "home's title"
|
||||||
|
},
|
||||||
|
"config": {
|
||||||
|
"demo": "this is a demo",
|
||||||
|
"demo_other": "this is an other demo",
|
||||||
|
"continue": "Continue",
|
||||||
|
"perfect": "That's perfect",
|
||||||
|
"title": "Create a poll",
|
||||||
|
"letsgo": "Lets go!",
|
||||||
|
"description": "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 !",
|
||||||
|
"find_my_polls": "Where are my polls ?",
|
||||||
|
"find_helper": "I am looking for polls linked to my email",
|
||||||
|
"find_button": "Find my polls"
|
||||||
|
},
|
||||||
|
"creation": {
|
||||||
|
"title": "To begin with",
|
||||||
|
"want": "I want to create a poll",
|
||||||
|
"kind": {
|
||||||
|
"classic": "classic",
|
||||||
|
"date": "special dates"
|
||||||
|
},
|
||||||
|
"choose_title": "Whom title will be",
|
||||||
|
"choose_title_placeholder": "title",
|
||||||
|
"name": "I can also specify my name if i want",
|
||||||
|
"name_placeholder": "my name",
|
||||||
|
"description": "and the description would be",
|
||||||
|
"description_placeholder": "summary of the poll's purpose"
|
||||||
|
},
|
||||||
|
"dates": {
|
||||||
|
"title": "Config spécialement pour les dates ",
|
||||||
|
"hours_different": "Je souhaite mettre des créneaux horaires pour chaque journée",
|
||||||
|
"multiple": {
|
||||||
|
"identical": "identiques",
|
||||||
|
"different": "possiblement différentes"
|
||||||
|
},
|
||||||
|
"add": "Ajouter une plage de dates",
|
||||||
|
"count_dates": "choix de dates"
|
||||||
|
},
|
||||||
|
"choices": {
|
||||||
|
"title": "Choisir les propositions",
|
||||||
|
"helper": "vous pouvez utiliser la syntaxe markdown ",
|
||||||
|
"answer_preset_1": "réponse de démo 1",
|
||||||
|
"answer_preset_2": "réponse 2",
|
||||||
|
"answer_preset_3": "la réponse D",
|
||||||
|
"add": "Ajouter",
|
||||||
|
"continue": "Voyons ce que ça donne"
|
||||||
|
},
|
||||||
|
"resume": {
|
||||||
|
"title": "Et c'est tout pour nous!",
|
||||||
|
"admins": "Coté administrateur-ice-eux",
|
||||||
|
"users": "Coté sondés",
|
||||||
|
"links_mail": "recevoir les liens par e-mail"
|
||||||
|
},
|
||||||
|
"visibility": {
|
||||||
|
"title": "Visibilité des réponses",
|
||||||
|
"votes": "Votes",
|
||||||
|
"archiving": "Archivage",
|
||||||
|
"access": "Accès au sondage"
|
||||||
|
}
|
||||||
|
}
|
64
src/assets/i18n/fr.json
Normal file
64
src/assets/i18n/fr.json
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
{
|
||||||
|
"Title": "Example de traduction",
|
||||||
|
"Intro": "Bonjour je m'appelle {{name}}, j'ai {{age}} ans.",
|
||||||
|
"home": {
|
||||||
|
"title": "le titre de la home"
|
||||||
|
},
|
||||||
|
"config": {
|
||||||
|
"demo": "C'est une démo traduite en Français",
|
||||||
|
"demo_other": "C'est une <strong>autre</strong> démo traduite en Français",
|
||||||
|
"continue": "Continuer",
|
||||||
|
"perfect": "C'est parfait",
|
||||||
|
"title": "Créer un sondage",
|
||||||
|
"letsgo": "C'est parti'",
|
||||||
|
"description": "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 !",
|
||||||
|
"find_my_polls": "Où sont mes sondages ?",
|
||||||
|
"find_helper": "Je cherche les sondages qui correspondent à mon mail",
|
||||||
|
"find_button": "Retrouver mes sondages"
|
||||||
|
},
|
||||||
|
"creation": {
|
||||||
|
"title": "Pour commencer ",
|
||||||
|
"want": "Je veux créer un sondage",
|
||||||
|
"kind": {
|
||||||
|
"classic": "classique",
|
||||||
|
"date": "spécial dates"
|
||||||
|
},
|
||||||
|
"choose_title": "Dont le titre sera",
|
||||||
|
"choose_title_placeholder": "titre",
|
||||||
|
"name": "Je peux aussi préciser mon nom si je le souhaite",
|
||||||
|
"name_placeholder": "mon nom",
|
||||||
|
"description": "et la description serait",
|
||||||
|
"description_placeholder": "description"
|
||||||
|
},
|
||||||
|
"dates": {
|
||||||
|
"title": "Config spécialement pour les dates ",
|
||||||
|
"hours_different": "Je souhaite mettre des créneaux horaires pour chaque journée",
|
||||||
|
"multiple": {
|
||||||
|
"identical": "identiques",
|
||||||
|
"different": "possiblement différentes"
|
||||||
|
},
|
||||||
|
"add": "Ajouter une plage de dates",
|
||||||
|
"count_dates": "choix de dates"
|
||||||
|
},
|
||||||
|
"choices": {
|
||||||
|
"title": "Choisir les propositions",
|
||||||
|
"helper": "vous pouvez utiliser la syntaxe markdown ",
|
||||||
|
"answer_preset_1": "réponse de démo 1",
|
||||||
|
"answer_preset_2": "réponse 2",
|
||||||
|
"answer_preset_3": "la réponse D",
|
||||||
|
"add": "Ajouter",
|
||||||
|
"continue": "Voyons ce que ça donne"
|
||||||
|
},
|
||||||
|
"resume": {
|
||||||
|
"title": "Et c'est tout pour nous!",
|
||||||
|
"admins": "Coté administrateur-ice-eux",
|
||||||
|
"users": "Coté sondés",
|
||||||
|
"links_mail": "recevoir les liens par e-mail"
|
||||||
|
},
|
||||||
|
"visibility": {
|
||||||
|
"title": "Visibilité des réponses",
|
||||||
|
"votes": "Votes",
|
||||||
|
"archiving": "Archivage",
|
||||||
|
"access": "Accès au sondage"
|
||||||
|
}
|
||||||
|
}
|
343
src/locale/messages.xlf
Normal file
343
src/locale/messages.xlf
Normal file
@ -0,0 +1,343 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
|
||||||
|
<file source-language="fr" datatype="plaintext" original="ng2.template">
|
||||||
|
<body>
|
||||||
|
<trans-unit id="demo" datatype="html">
|
||||||
|
<source>
|
||||||
|
Ceci est une démo
|
||||||
|
</source>
|
||||||
|
<context-group purpose="location">
|
||||||
|
<context context-type="sourcefile">src/app/app.component.html</context>
|
||||||
|
<context context-type="linenumber">7</context>
|
||||||
|
</context-group>
|
||||||
|
<note priority="1" from="description">introduction header saying just demo </note>
|
||||||
|
<note priority="1" from="meaning">demo title</note>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="plural_example" datatype="html">
|
||||||
|
<source>
|
||||||
|
Updated <x id="ICU" equiv-text="{minutes, plural, =0 {...} =1 {...} other {...}}"/>
|
||||||
|
</source>
|
||||||
|
<context-group purpose="location">
|
||||||
|
<context context-type="sourcefile">src/app/app.component.html</context>
|
||||||
|
<context context-type="linenumber">10</context>
|
||||||
|
</context-group>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="5a134dee893586d02bffc9611056b9cadf9abfad" datatype="html">
|
||||||
|
<source>{VAR_PLURAL, plural, =0 {just now} =1 {one minute ago} other {<x id="INTERPOLATION" equiv-text="{{minutes}}"/> minutes ago} }</source>
|
||||||
|
<context-group purpose="location">
|
||||||
|
<context context-type="sourcefile">src/app/app.component.html</context>
|
||||||
|
<context context-type="linenumber">11</context>
|
||||||
|
</context-group>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="c279d3eb8220c1a0b77adb0a520b3e81f086d046" datatype="html">
|
||||||
|
<source>placeholder à traduire</source>
|
||||||
|
<context-group purpose="location">
|
||||||
|
<context context-type="sourcefile">src/app/app.component.html</context>
|
||||||
|
<context context-type="linenumber">13</context>
|
||||||
|
</context-group>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="confirm" datatype="html">
|
||||||
|
<source>C'est parfait!</source>
|
||||||
|
<context-group purpose="location">
|
||||||
|
<context context-type="sourcefile">src/app/pages/base-page/base.component.html</context>
|
||||||
|
<context context-type="linenumber">2</context>
|
||||||
|
</context-group>
|
||||||
|
<context-group purpose="location">
|
||||||
|
<context context-type="sourcefile">src/app/pages/kind/kind.component.html</context>
|
||||||
|
<context context-type="linenumber">4</context>
|
||||||
|
</context-group>
|
||||||
|
<context-group purpose="location">
|
||||||
|
<context context-type="sourcefile">src/app/pages/visibility/visibility.component.html</context>
|
||||||
|
<context context-type="linenumber">14</context>
|
||||||
|
</context-group>
|
||||||
|
<context-group purpose="location">
|
||||||
|
<context context-type="sourcefile">src/app/pages/resume/resume.component.html</context>
|
||||||
|
<context context-type="linenumber">10</context>
|
||||||
|
</context-group>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="8dfa2af2946c94200a9c49226ac8221ddec0834d" datatype="html">
|
||||||
|
<source>
|
||||||
|
Config spécialement pour les dates
|
||||||
|
</source>
|
||||||
|
<context-group purpose="location">
|
||||||
|
<context context-type="sourcefile">src/app/pages/dates/dates.component.html</context>
|
||||||
|
<context context-type="linenumber">1</context>
|
||||||
|
</context-group>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="05c94bdaeec38467e5d8ec67ef06ae02bc2721fd" datatype="html">
|
||||||
|
<source>
|
||||||
|
Je souhaite mettre des créneaux horaires
|
||||||
|
</source>
|
||||||
|
<context-group purpose="location">
|
||||||
|
<context context-type="sourcefile">src/app/pages/dates/dates.component.html</context>
|
||||||
|
<context context-type="linenumber">16</context>
|
||||||
|
</context-group>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="3da20d71c6eacf0bf933e2ebefcc8581b77fcd07" datatype="html">
|
||||||
|
<source>
|
||||||
|
pour chaque journée
|
||||||
|
</source>
|
||||||
|
<context-group purpose="location">
|
||||||
|
<context context-type="sourcefile">src/app/pages/dates/dates.component.html</context>
|
||||||
|
<context context-type="linenumber">20</context>
|
||||||
|
</context-group>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="0bd3bae4b21407cbd1ab7f12f2516aba84ee8cd5" datatype="html">
|
||||||
|
<source>
|
||||||
|
Ajouter une plage de dates
|
||||||
|
</source>
|
||||||
|
<context-group purpose="location">
|
||||||
|
<context context-type="sourcefile">src/app/pages/dates/dates.component.html</context>
|
||||||
|
<context context-type="linenumber">30</context>
|
||||||
|
</context-group>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="d5ac5c6775ece9a7d33e5dc3519806c6edfb87bc" datatype="html">
|
||||||
|
<source>
|
||||||
|
choix de Dates
|
||||||
|
</source>
|
||||||
|
<context-group purpose="location">
|
||||||
|
<context context-type="sourcefile">src/app/pages/dates/dates.component.html</context>
|
||||||
|
<context context-type="linenumber">35</context>
|
||||||
|
</context-group>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="6387b579b9b1bdb74c3dfd9d63387adb40076376" datatype="html">
|
||||||
|
<source>
|
||||||
|
infos de debug
|
||||||
|
</source>
|
||||||
|
<context-group purpose="location">
|
||||||
|
<context context-type="sourcefile">src/app/debugger/debugger.component.html</context>
|
||||||
|
<context context-type="linenumber">4</context>
|
||||||
|
</context-group>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="ddacf8feec398fe7fcda34b82a7aa4d71e10e755" datatype="html">
|
||||||
|
<source>
|
||||||
|
Choix cornélien syncronisé:
|
||||||
|
</source>
|
||||||
|
<context-group purpose="location">
|
||||||
|
<context context-type="sourcefile">src/app/debugger/debugger.component.html</context>
|
||||||
|
<context context-type="linenumber">27</context>
|
||||||
|
</context-group>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="d146b7d3598f0f99412cb115c4c9b9dc6724a3db" datatype="html">
|
||||||
|
<source>
|
||||||
|
sondage classique
|
||||||
|
</source>
|
||||||
|
<context-group purpose="location">
|
||||||
|
<context context-type="sourcefile">src/app/debugger/debugger.component.html</context>
|
||||||
|
<context context-type="linenumber">37</context>
|
||||||
|
</context-group>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="9e1841dca6f43cec422f009746b78fa72021aed3" datatype="html">
|
||||||
|
<source>
|
||||||
|
sondage spécial date
|
||||||
|
</source>
|
||||||
|
<context-group purpose="location">
|
||||||
|
<context context-type="sourcefile">src/app/debugger/debugger.component.html</context>
|
||||||
|
<context context-type="linenumber">51</context>
|
||||||
|
</context-group>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="9dffbece2b62a762cc013cd9a092a45386644395" datatype="html">
|
||||||
|
<source>
|
||||||
|
Envoyer le formulaire
|
||||||
|
</source>
|
||||||
|
<context-group purpose="location">
|
||||||
|
<context context-type="sourcefile">src/app/debugger/debugger.component.html</context>
|
||||||
|
<context context-type="linenumber">64</context>
|
||||||
|
</context-group>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="a2e46fcfdbcd6457dd6dda15896ff772a4cccb59" datatype="html">
|
||||||
|
<source>
|
||||||
|
Visibilité des réponses
|
||||||
|
</source>
|
||||||
|
<context-group purpose="location">
|
||||||
|
<context context-type="sourcefile">src/app/pages/visibility/visibility.component.html</context>
|
||||||
|
<context context-type="linenumber">1</context>
|
||||||
|
</context-group>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="f3fa123ec08a0f55d20203474e459cb166171530" datatype="html">
|
||||||
|
<source>
|
||||||
|
Votes
|
||||||
|
</source>
|
||||||
|
<context-group purpose="location">
|
||||||
|
<context context-type="sourcefile">src/app/pages/visibility/visibility.component.html</context>
|
||||||
|
<context context-type="linenumber">4</context>
|
||||||
|
</context-group>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="07056464cc8e77270490824db1c119774a9605d8" datatype="html">
|
||||||
|
<source>
|
||||||
|
Archivage
|
||||||
|
</source>
|
||||||
|
<context-group purpose="location">
|
||||||
|
<context context-type="sourcefile">src/app/pages/visibility/visibility.component.html</context>
|
||||||
|
<context context-type="linenumber">7</context>
|
||||||
|
</context-group>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="e89a47f338845c2bc853956b810455622ea70d18" datatype="html">
|
||||||
|
<source>
|
||||||
|
Accès au sondage
|
||||||
|
</source>
|
||||||
|
<context-group purpose="location">
|
||||||
|
<context context-type="sourcefile">src/app/pages/visibility/visibility.component.html</context>
|
||||||
|
<context context-type="linenumber">11</context>
|
||||||
|
</context-group>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="575c777901e66582920b91544ddfc3f1cff6dfdd" datatype="html">
|
||||||
|
<source>
|
||||||
|
Résumé avant validation
|
||||||
|
</source>
|
||||||
|
<context-group purpose="location">
|
||||||
|
<context context-type="sourcefile">src/app/pages/resume/resume.component.html</context>
|
||||||
|
<context context-type="linenumber">1</context>
|
||||||
|
</context-group>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="e73989397fa8b6b2a516ec090b7653d7ca8a9f2d" datatype="html">
|
||||||
|
<source>
|
||||||
|
Images
|
||||||
|
</source>
|
||||||
|
<context-group purpose="location">
|
||||||
|
<context context-type="sourcefile">src/app/pages/pictures/pictures.component.html</context>
|
||||||
|
<context context-type="linenumber">2</context>
|
||||||
|
</context-group>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="f6d82bb9d11a1a8fbfbc8dd54388b068db42fd4a" datatype="html">
|
||||||
|
<source>
|
||||||
|
Choisir les propositions
|
||||||
|
</source>
|
||||||
|
<context-group purpose="location">
|
||||||
|
<context context-type="sourcefile">src/app/pages/answers/answers.component.html</context>
|
||||||
|
<context context-type="linenumber">2</context>
|
||||||
|
</context-group>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="aa15ed6f3664a52d0532b4caccc5e3862eceaff6" datatype="html">
|
||||||
|
<source>
|
||||||
|
vous pouvez utiliser la syntaxe markdown
|
||||||
|
</source>
|
||||||
|
<context-group purpose="location">
|
||||||
|
<context context-type="sourcefile">src/app/pages/answers/answers.component.html</context>
|
||||||
|
<context context-type="linenumber">6</context>
|
||||||
|
</context-group>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="8c8496fbdf12a4a3ef88119cd37deca10bf6c661" datatype="html">
|
||||||
|
<source>
|
||||||
|
Et c'est tout pour nous!
|
||||||
|
</source>
|
||||||
|
<context-group purpose="location">
|
||||||
|
<context context-type="sourcefile">src/app/pages/end-confirmation/end-confirmation.component.html</context>
|
||||||
|
<context context-type="linenumber">1</context>
|
||||||
|
</context-group>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="c434b3773c35a5d55a1f5648433e7521e4424aea" datatype="html">
|
||||||
|
<source>Coté administrateur-ice-eux</source>
|
||||||
|
<context-group purpose="location">
|
||||||
|
<context context-type="sourcefile">src/app/pages/end-confirmation/end-confirmation.component.html</context>
|
||||||
|
<context context-type="linenumber">4</context>
|
||||||
|
</context-group>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="d0225bc631b962e0c6696ebc3e26cc90ecf15387" datatype="html">
|
||||||
|
<source>Coté sondés</source>
|
||||||
|
<context-group purpose="location">
|
||||||
|
<context context-type="sourcefile">src/app/pages/end-confirmation/end-confirmation.component.html</context>
|
||||||
|
<context context-type="linenumber">5</context>
|
||||||
|
</context-group>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="585c8fc362784c1de91b02f0e69e08c6993f9dd2" datatype="html">
|
||||||
|
<source>recevoir les liens par e-mail</source>
|
||||||
|
<context-group purpose="location">
|
||||||
|
<context context-type="sourcefile">src/app/pages/end-confirmation/end-confirmation.component.html</context>
|
||||||
|
<context context-type="linenumber">6</context>
|
||||||
|
</context-group>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="f74e29e3e6b015dc4163c3d43002088d0e1da5dc" datatype="html">
|
||||||
|
<source>
|
||||||
|
Créer un sondage
|
||||||
|
</source>
|
||||||
|
<context-group purpose="location">
|
||||||
|
<context context-type="sourcefile">src/app/pages/create-or-retrieve/create-or-retrieve.component.html</context>
|
||||||
|
<context context-type="linenumber">2</context>
|
||||||
|
</context-group>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="36ab2505621b4451317833191d6a4c2d7c214b3c" datatype="html">
|
||||||
|
<source>
|
||||||
|
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 !
|
||||||
|
</source>
|
||||||
|
<context-group purpose="location">
|
||||||
|
<context context-type="sourcefile">src/app/pages/create-or-retrieve/create-or-retrieve.component.html</context>
|
||||||
|
<context context-type="linenumber">8</context>
|
||||||
|
</context-group>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="c3781d8c21f3eba04fe803a3fe0a4560401491d5" datatype="html">
|
||||||
|
<source>
|
||||||
|
C'est parti
|
||||||
|
</source>
|
||||||
|
<context-group purpose="location">
|
||||||
|
<context context-type="sourcefile">src/app/pages/create-or-retrieve/create-or-retrieve.component.html</context>
|
||||||
|
<context context-type="linenumber">19</context>
|
||||||
|
</context-group>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="9e1fa5a7ae3c13a9fa4a657d94085e239066377a" datatype="html">
|
||||||
|
<source>
|
||||||
|
Où sont mes sondages ?
|
||||||
|
</source>
|
||||||
|
<context-group purpose="location">
|
||||||
|
<context context-type="sourcefile">src/app/pages/create-or-retrieve/create-or-retrieve.component.html</context>
|
||||||
|
<context context-type="linenumber">29</context>
|
||||||
|
</context-group>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="b291d9e84fc9afe337b3450266847c430523bcc5" datatype="html">
|
||||||
|
<source>
|
||||||
|
Je cherche les sondages qui correspondent à mon mail :
|
||||||
|
</source>
|
||||||
|
<context-group purpose="location">
|
||||||
|
<context context-type="sourcefile">src/app/pages/create-or-retrieve/create-or-retrieve.component.html</context>
|
||||||
|
<context context-type="linenumber">40</context>
|
||||||
|
</context-group>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="9606f1c734851ad834d5f9eca4fbc79fad2cf406" datatype="html">
|
||||||
|
<source>
|
||||||
|
Pour commencer
|
||||||
|
</source>
|
||||||
|
<context-group purpose="location">
|
||||||
|
<context context-type="sourcefile">src/app/pages/home/home.component.html</context>
|
||||||
|
<context context-type="linenumber">4</context>
|
||||||
|
</context-group>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="e40f615c5bada8d5458ede5b03812bdb8074d7d7" datatype="html">
|
||||||
|
<source>
|
||||||
|
Je veux créer un sondage
|
||||||
|
</source>
|
||||||
|
<context-group purpose="location">
|
||||||
|
<context context-type="sourcefile">src/app/pages/home/home.component.html</context>
|
||||||
|
<context context-type="linenumber">10</context>
|
||||||
|
</context-group>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="99eef0ca99f5a0e0aee806ffdefb5ca1ca318b07" datatype="html">
|
||||||
|
<source>
|
||||||
|
Dont le titre sera
|
||||||
|
</source>
|
||||||
|
<context-group purpose="location">
|
||||||
|
<context context-type="sourcefile">src/app/pages/home/home.component.html</context>
|
||||||
|
<context context-type="linenumber">34</context>
|
||||||
|
</context-group>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="77100ae0f206a821d33d9582dd2962f379eaeac7" datatype="html">
|
||||||
|
<source>
|
||||||
|
et la description serait
|
||||||
|
</source>
|
||||||
|
<context-group purpose="location">
|
||||||
|
<context context-type="sourcefile">src/app/pages/home/home.component.html</context>
|
||||||
|
<context context-type="linenumber">64</context>
|
||||||
|
</context-group>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="114007b6744088dc57d792702b19f91f68f7926e" datatype="html">
|
||||||
|
<source>
|
||||||
|
Continuer
|
||||||
|
</source>
|
||||||
|
<context-group purpose="location">
|
||||||
|
<context context-type="sourcefile">src/app/pages/home/home.component.html</context>
|
||||||
|
<context context-type="linenumber">82</context>
|
||||||
|
</context-group>
|
||||||
|
</trans-unit>
|
||||||
|
</body>
|
||||||
|
</file>
|
||||||
|
</xliff>
|
Loading…
Reference in New Issue
Block a user