2019-08-11 16:21:49 +02:00
|
|
|
import {Component, OnInit} from '@angular/core';
|
2019-08-10 16:57:36 +02:00
|
|
|
import {BaseComponent} from '../base-page/base.component';
|
|
|
|
import {ConfigService} from '../../config.service';
|
|
|
|
|
|
|
|
@Component({
|
2019-08-11 16:21:49 +02:00
|
|
|
selector: 'framadate-visibility',
|
|
|
|
templateUrl: './visibility.component.html',
|
|
|
|
styleUrls: ['./visibility.component.scss']
|
2019-08-10 16:57:36 +02:00
|
|
|
})
|
|
|
|
export class VisibilityComponent extends BaseComponent implements OnInit {
|
2019-11-23 14:58:44 +01:00
|
|
|
showCustomPassword = false;
|
2019-08-10 16:57:36 +02:00
|
|
|
|
2019-08-11 16:21:49 +02:00
|
|
|
constructor(public config: ConfigService) {
|
|
|
|
super(config);
|
|
|
|
}
|
2019-08-10 16:57:36 +02:00
|
|
|
|
2019-08-11 16:21:49 +02:00
|
|
|
ngOnInit() {
|
2019-11-23 14:58:44 +01:00
|
|
|
this.config.customUrl = this.makeUuid();
|
2019-11-23 15:35:27 +01:00
|
|
|
this.config.expirationDate = (this.addDaysToDate(this.config.expiracyDateDefaultInDays, new Date())).toISOString().substring(0, 10);
|
2019-11-23 14:58:44 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* generate unique id to have a default url for future poll
|
|
|
|
*/
|
|
|
|
makeUuid() {
|
|
|
|
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
|
|
|
|
var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8);
|
|
|
|
return v.toString(16);
|
|
|
|
});
|
2019-08-11 16:21:49 +02:00
|
|
|
}
|
2019-08-10 16:57:36 +02:00
|
|
|
|
2019-11-23 15:35:27 +01:00
|
|
|
/**
|
|
|
|
* add some days to a date, to compute intervals
|
|
|
|
* @param days
|
|
|
|
* @param date
|
|
|
|
*/
|
|
|
|
addDaysToDate(days: number, date: Date) {
|
|
|
|
date = new Date(date.valueOf());
|
|
|
|
date.setDate(date.getDate() + days);
|
|
|
|
return date;
|
|
|
|
};
|
|
|
|
|
2019-08-10 16:57:36 +02:00
|
|
|
}
|