2019-08-10 17:21:40 +02:00
|
|
|
/**
|
|
|
|
* une option de date dans les sondages spéciaux
|
|
|
|
*/
|
2020-01-16 10:45:56 +01:00
|
|
|
import {environment} from "../../environments/environment";
|
2020-01-22 11:18:55 +01:00
|
|
|
import {defaultAnswers} from "./defaultConfigs";
|
2020-01-16 10:45:56 +01:00
|
|
|
|
2019-08-10 17:21:40 +02:00
|
|
|
export interface DateOption {
|
2019-11-19 10:36:53 +01:00
|
|
|
timeList: any;
|
2019-08-12 14:40:33 +02:00
|
|
|
literal: string;
|
2019-08-10 17:21:40 +02:00
|
|
|
}
|
|
|
|
|
2020-01-21 12:30:53 +01:00
|
|
|
const baseConfigValues = {
|
|
|
|
pollType: "classic",
|
|
|
|
title: "",
|
|
|
|
description: "",
|
|
|
|
myName: "",
|
|
|
|
myEmail: "",
|
|
|
|
};
|
2019-11-15 15:19:42 +01:00
|
|
|
|
2019-08-10 17:21:40 +02:00
|
|
|
/**
|
2019-08-10 17:41:01 +02:00
|
|
|
* configuration of the poll, add new fields at will
|
2019-08-10 17:21:40 +02:00
|
|
|
*/
|
|
|
|
export class PollConfig {
|
2019-11-23 15:35:27 +01:00
|
|
|
expiracyDateDefaultInDays = 60;
|
2020-01-16 11:46:31 +01:00
|
|
|
deletionDateAfterLastModification = 180;
|
2020-01-20 14:36:26 +01:00
|
|
|
step: number = 0; // step in the progress of creating a poll
|
|
|
|
stepMax: number = 3; // step max in the progress of creating a poll
|
|
|
|
pollType: string = 'classic';// classic or date
|
|
|
|
title: string = 'titre';
|
|
|
|
description: string = 'ma description';
|
|
|
|
myName: string = 'mon pseudo';
|
|
|
|
myComment: string = 'wouah trop bien framadate!';
|
2020-01-20 15:50:09 +01:00
|
|
|
isAdmin: boolean = true;
|
2020-01-20 14:36:26 +01:00
|
|
|
myEmail: string = "tktest@tktest.com";
|
2020-01-22 16:49:15 +01:00
|
|
|
myPolls: any = [];// list of retrieved polls from the backend api
|
2019-11-22 16:46:12 +01:00
|
|
|
// date specific poll, we have the choice to setup different hours (timeList) for all possible dates (dateList), or use the same hours for all dates
|
2019-11-19 11:19:21 +01:00
|
|
|
allowSeveralHours = 'false';
|
|
|
|
// access
|
|
|
|
visibility = 'link_only'; // visible to anyone with the link:
|
2019-11-23 14:30:19 +01:00
|
|
|
voteChoices = 'only_yes'; // possible answers to a vote choice: only "yes", "yes, maybe, no"
|
2020-01-16 11:33:13 +01:00
|
|
|
creationDate = new Date();
|
2019-11-23 15:35:27 +01:00
|
|
|
expirationDate = ''; // expiracy date
|
2019-12-04 12:45:50 +01:00
|
|
|
pollId = null; // id of the current poll when created. data given by the backend api
|
2020-01-22 11:18:55 +01:00
|
|
|
currentPoll; // current poll selected with createPoll or getPoll of ConfigService
|
2019-11-23 14:58:44 +01:00
|
|
|
passwordAccess = 0;
|
2019-11-19 11:19:21 +01:00
|
|
|
password = '';
|
2020-01-16 11:33:13 +01:00
|
|
|
customUrl = ''; // custom slug in the url, must be unique
|
|
|
|
customUrlIsUnique = null; // given by the backend
|
2020-01-22 14:42:46 +01:00
|
|
|
urlPublic = environment.baseHref + '/#/poll/id/3';
|
|
|
|
urlAdmin = environment.baseHref + '/#/admin/d65es45fd45sdf45sd345f312sdf31sgfd345';
|
2019-11-23 15:35:27 +01:00
|
|
|
canModifyAnswers = 1;// everybody, self, nobody (= just admin)
|
|
|
|
whoModifiesAnswers = "self";// everybody, self, nobody (= just admin)
|
2019-11-19 11:19:21 +01:00
|
|
|
whoCanChangeAnswers = 'everybody';// everybody, self, nobody (= just admin)
|
2020-01-22 11:18:55 +01:00
|
|
|
dateList: DateOption[]; // sets of days as strings, config to set identical time for days in a special days poll
|
|
|
|
timeList: DateOption[]; // ranges of time expressed as strings
|
2019-11-23 14:30:19 +01:00
|
|
|
|
|
|
|
answers: any = defaultAnswers;
|
2019-08-10 17:41:01 +02:00
|
|
|
|
2020-01-15 15:55:15 +01:00
|
|
|
constructor() {
|
|
|
|
}
|
2020-01-21 12:30:53 +01:00
|
|
|
|
|
|
|
resetConfig() {
|
|
|
|
const self = this;
|
|
|
|
Object.keys(baseConfigValues).forEach((key) => {
|
|
|
|
self[key] = baseConfigValues[key];
|
|
|
|
})
|
|
|
|
}
|
2019-08-10 17:21:40 +02:00
|
|
|
}
|