funky-framadate-front/src/app/config/PollConfig.ts

79 lines
2.6 KiB
TypeScript
Raw Normal View History

/**
* une option de date dans les sondages spéciaux
*/
export interface DateOption {
timeList: any;
2019-08-12 14:40:33 +02:00
literal: string;
}
export const timeOfDay = [{
timeList: [],
literal: 'matin'
},
{timeList: [], literal: 'midi'},
{timeList: [], literal: 'après-midi'},
{timeList: [], literal: 'soirée'}];
2019-11-15 15:19:42 +01:00
export const defaultDates = [
{
2019-11-19 14:23:51 +01:00
literal: `${new Date().getFullYear()}-${new Date().getMonth()}-${new Date().getDate()}`,
2019-11-15 15:19:42 +01:00
timeList: [{literal: 'matin'}, {literal: 'midi'}, {literal: 'soir'}]
},
{
2019-11-19 14:23:51 +01:00
literal: `${new Date().getFullYear()}-${new Date().getMonth()}-${new Date().getDate() + 1}`,
2019-11-15 15:19:42 +01:00
timeList: [{literal: 'matin'}, {literal: 'midi'}, {literal: 'soir'}]
},
{
2019-11-19 14:23:51 +01:00
literal: `${new Date().getFullYear()}-${new Date().getMonth()}-${new Date().getDate() + 2}`,
2019-11-15 15:19:42 +01:00
timeList: [{literal: 'matin'}, {literal: 'midi'}, {literal: 'soir'}]
}
];
export const defaultAnswers = [{
id: 0,
text: 'réponse de démo 1'
},
{
id: 1,
text: 'réponse 2'
},
{
id: 2,
text: 'la réponse D'
}];
2019-11-15 15:19:42 +01:00
/**
2019-08-10 17:41:01 +02:00
* configuration of the poll, add new fields at will
*/
export class PollConfig {
2019-11-23 15:35:27 +01:00
expiracyDateDefaultInDays = 60;
step = 0;
stepMax = 3;
2019-11-22 16:46:12 +01:00
pollType = 'classic';// classic or date
2019-11-23 15:46:07 +01:00
title = 'titre';
description = 'ma description';
myName = 'mon pseudo';
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
allowSeveralHours = 'false';
// access
visibility = 'link_only'; // visible to anyone with the link:
voteChoices = 'only_yes'; // possible answers to a vote choice: only "yes", "yes, maybe, no"
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
selectedPoll = null; // current poll selected with createPoll or getPoll of ConfigService
passwordAccess = 0;
password = '';
2019-11-22 16:46:12 +01:00
customUrl = '';
2020-01-16 10:20:15 +01:00
urlPublic = 'https://framadate.org/default-url';
urlAdmin = 'https://framadate.org/default-url/admin/d65es45fd45sdf45sd345f312sdf31sgfd345';
2019-11-23 15:35:27 +01:00
canModifyAnswers = 1;// everybody, self, nobody (= just admin)
whoModifiesAnswers = "self";// everybody, self, nobody (= just admin)
whoCanChangeAnswers = 'everybody';// everybody, self, nobody (= just admin)
dateList: DateOption[] = defaultDates; // sets of days as strings, config to set identical time for days in a special days poll
2019-11-15 15:19:42 +01:00
timeList: DateOption[] = timeOfDay; // ranges of time expressed as strings
answers: any = defaultAnswers;
2019-08-10 17:41:01 +02:00
2020-01-15 15:55:15 +01:00
constructor() {
}
}