1
0
mirror of https://github.com/xuthus83/pigallery2.git synced 2025-01-14 14:43:17 +08:00

fixing frontend task schedule setting bug

This commit is contained in:
Patrik J. Braun 2019-12-06 15:48:51 +01:00
parent 2012ec3d91
commit fd3a59ef3d
4 changed files with 21 additions and 16 deletions

View File

@ -7,7 +7,7 @@
<div class="card-body"> <div class="card-body">
<div [hidden]="!error" class="alert alert-danger" role="alert"><strong>Error: </strong>{{error}}</div> <div [hidden]="!error" class="alert alert-danger" role="alert"><strong>Error: </strong>{{error}}</div>
<div *ngFor="let schedule of settings.scheduled;let i= index"> <div *ngFor="let schedule of settings.scheduled; let i= index">
<div class="card bg-light"> <div class="card bg-light">
<div class="card-header "> <div class="card-header ">
<div class="d-flex justify-content-between"> <div class="d-flex justify-content-between">
@ -36,22 +36,25 @@
<app-timestamp-datepicker <app-timestamp-datepicker
[name]="'triggerTime'+i" [name]="'triggerTime'+i"
*ngIf="schedule.trigger.type== TaskTriggerType.scheduled" *ngIf="schedule.trigger.type == TaskTriggerType.scheduled"
(timestampChange)="testSettingChanges()"
[(timestamp)]="schedule.trigger.time"></app-timestamp-datepicker> [(timestamp)]="schedule.trigger.time"></app-timestamp-datepicker>
<select *ngIf="schedule.trigger.type== TaskTriggerType.periodic" <select *ngIf="schedule.trigger.type == TaskTriggerType.periodic"
class="form-control" [(ngModel)]="schedule.trigger.periodicity" [name]="'periodicity'+i" class="form-control" [(ngModel)]="schedule.trigger.periodicity" [name]="'periodicity' + i"
required> required>
<option *ngFor="let period of periods; let i= index" <option *ngFor="let period of periods; let i = index"
[ngValue]="i"> [ngValue]="i">
<ng-container i18n>every</ng-container> <ng-container i18n>every</ng-container>
<ng-container i18n>every</ng-container>
{{period}} {{period}}
</option> </option>
</select> </select>
<app-timestamp-timepicker <app-timestamp-timepicker
[name]="'atTime'+i" [name]="'atTime'+i"
(timestampChange)="testSettingChanges()" (timestampChange)="testSettingChanges()"
*ngIf="schedule.trigger.type== TaskTriggerType.periodic" *ngIf="schedule.trigger.type == TaskTriggerType.periodic"
[(timestamp)]="schedule.trigger.atTime"></app-timestamp-timepicker> [(timestamp)]="schedule.trigger.atTime"></app-timestamp-timepicker>
</div> </div>

View File

@ -46,16 +46,17 @@ export class TasksSettingsComponent extends SettingsComponent<TaskConfig, TasksS
notification, notification,
i18n, i18n,
s => s.Server.tasks); s => s.Server.tasks);
this.hasAvailableSettings = !this.simplifiedMode; this.hasAvailableSettings = !this.simplifiedMode;
this.taskTriggerType = Utils.enumToArray(TaskTriggerType); this.taskTriggerType = Utils.enumToArray(TaskTriggerType);
this.periods = [this.i18n('Monday'), this.periods = [this.i18n('Monday'), // 0
this.i18n('Tuesday'), this.i18n('Tuesday'), // 1
this.i18n('Wednesday'), this.i18n('Wednesday'), // 2
this.i18n('Thursday'), this.i18n('Thursday'),
this.i18n('Friday'), this.i18n('Friday'),
this.i18n('Saturday'), this.i18n('Saturday'),
this.i18n('Sunday'), this.i18n('Sunday'),
this.i18n('day')]; this.i18n('day')]; // 7
} }
@ -147,7 +148,7 @@ export class TasksSettingsComponent extends SettingsComponent<TaskConfig, TasksS
remove(id: string) { remove(id: string) {
} }
/*
update($event: string, trigger: ScheduledTaskTrigger) { update($event: string, trigger: ScheduledTaskTrigger) {
if (!$event) { if (!$event) {
return; return;
@ -161,7 +162,7 @@ export class TasksSettingsComponent extends SettingsComponent<TaskConfig, TasksS
toDate(time: number) { toDate(time: number) {
return new Date(time); return new Date(time);
} }*/
taskTriggerTypeChanged(triggerType: TaskTriggerType, schedule: TaskScheduleDTO) { taskTriggerTypeChanged(triggerType: TaskTriggerType, schedule: TaskScheduleDTO) {
schedule.trigger = <NeverTaskTrigger>{type: triggerType}; schedule.trigger = <NeverTaskTrigger>{type: triggerType};

View File

@ -4,5 +4,5 @@
bsDatepicker bsDatepicker
[ngModel]="date" [ngModel]="date"
(ngModelChange)="onChange($event)" (ngModelChange)="onChange($event)"
[bsConfig]="{ dateInputFormat: 'YYYY.MM.DD, h:mm' }" [bsConfig]="{ dateInputFormat: 'YYYY.MM.DD, HH:mm' }"
required> required>

View File

@ -7,6 +7,7 @@ import {Component, EventEmitter, Input, Output} from '@angular/core';
export class TimeStampTimePickerComponent { export class TimeStampTimePickerComponent {
timestampValue = 0; timestampValue = 0;
timezoneOffset = (new Date()).getTimezoneOffset() * 60 * 1000;
@Output() timestampChange = new EventEmitter<number>(); @Output() timestampChange = new EventEmitter<number>();
date: Date = new Date(); date: Date = new Date();
@ -19,7 +20,7 @@ export class TimeStampTimePickerComponent {
} }
public set timestamp(val: number) { public set timestamp(val: number) {
this.date.setTime(val); this.date.setTime(val + this.timezoneOffset);
if (this.timestampValue === val) { if (this.timestampValue === val) {
return; return;
} }
@ -27,8 +28,8 @@ export class TimeStampTimePickerComponent {
this.timestampChange.emit(this.timestampValue); this.timestampChange.emit(this.timestampValue);
} }
onChange(date: Date | string) { onChange(date: Date | string): void {
this.timestamp = (new Date(date)).getTime(); this.timestamp = (new Date(date)).getTime() - this.timezoneOffset;
} }