UNPKG

@shikshalokam/sl-questionnaire

Version:
61 lines 13.1 kB
import { Component, Input } from '@angular/core'; import { UntypedFormControl } from '@angular/forms'; import * as i0 from "@angular/core"; import * as i1 from "../services/sl-questionnaire.service"; import * as i2 from "../services/translate.service"; import * as i3 from "@angular/common"; import * as i4 from "@angular/forms"; import * as i5 from "@project-sunbird/ng2-semantic-ui"; export class DateInputComponent { constructor(qService, translate) { this.qService = qService; this.translate = translate; } ngOnInit() { this.autoCaptureText = this.translate['frmelmnts'].btn?.autoCapture; setTimeout(() => { this.questionnaireForm.addControl(this.question._id, new UntypedFormControl(this.question.value ? new Date(this.question.value) : null, [this.qService.validate(this.question)])); this.question.startTime = this.question.startTime ? this.question.startTime : Date.now(); }); this.min = this.question.validation.min ? new Date(this.question.validation.min) : null; this.max = this.question.validation.max ? new Date(this.question.validation.max) : null; } onChange(e) { if (!e) return; let value = this.dateTimeFormat(e); this.question.value = value; this.question.endTime = Date.now(); } dateTimeFormat(e) { let x = new Date(e); let n = new Date(); let h = n.getHours(); let m = n.getMinutes(); x.setHours(h); x.setMinutes(m); return x; } autoCapture() { this.questionnaireForm.controls[this.question._id].patchValue(new Date(Date.now())); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DateInputComponent, deps: [{ token: i1.SlQuestionnaireService }, { token: i2.SlTranslateService }], target: i0.ɵɵFactoryTarget.Component }); } static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DateInputComponent, selector: "sl-date-input", inputs: { questionnaireForm: "questionnaireForm", question: "question", autoCaptureText: "autoCaptureText" }, ngImport: i0, template: "<div\n [formGroup]=\"questionnaireForm\"\n *ngIf=\"questionnaireForm?.contains(question._id)\"\n class=\"sb-g sb-g-col-xs-12\"\n>\n <div class=\"ui left icon input sb-g-col-xs-12 sb-g-col-md-8\">\n <i class=\"calendar icon\"></i>\n <input\n suiDatepicker\n [pickerMode]=\"'date'\"\n [pickerUseNativeOnMobile]=\"false\"\n [formControlName]=\"question?._id\"\n (pickerSelectedDateChange)=\"onChange($event)\"\n class=\"question-date-input\"\n [pickerMinDate]=\"min\"\n [pickerMaxDate]=\"max\"\n />\n </div>\n <div *ngIf=\"question?.autoCapture && !question?.value\" class=\"d-flex sb-g-col-xs-12 sb-g-col-md-4 margin\">\n <button class=\"sb-btn sb-btn-normal sb-btn-primary\" (click)=\"autoCapture()\">\n\t\t{{autoCaptureText}}\n </button>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i5.SuiDatepickerDirective, selector: "[suiDatepicker]", inputs: ["pickerMode", "pickerInitialDate", "pickerMaxDate", "pickerMinDate", "pickerFirstDayOfWeek", "pickerLocaleOverrides", "pickerPlacement", "pickerTransition", "pickerTransitionDuration"], outputs: ["pickerSelectedDateChange", "pickerValidatorChange"] }, { kind: "directive", type: i5.SuiDatepickerDirectiveValueAccessor, selector: "[suiDatepicker]" }, { kind: "directive", type: i5.SuiDatepickerDirectiveValidator, selector: "[suiDatepicker]" }, { kind: "directive", type: i5.SuiDatepickerInputDirective, selector: "input[suiDatepicker]", inputs: ["pickerUseNativeOnMobile"] }] }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DateInputComponent, decorators: [{ type: Component, args: [{ selector: 'sl-date-input', template: "<div\n [formGroup]=\"questionnaireForm\"\n *ngIf=\"questionnaireForm?.contains(question._id)\"\n class=\"sb-g sb-g-col-xs-12\"\n>\n <div class=\"ui left icon input sb-g-col-xs-12 sb-g-col-md-8\">\n <i class=\"calendar icon\"></i>\n <input\n suiDatepicker\n [pickerMode]=\"'date'\"\n [pickerUseNativeOnMobile]=\"false\"\n [formControlName]=\"question?._id\"\n (pickerSelectedDateChange)=\"onChange($event)\"\n class=\"question-date-input\"\n [pickerMinDate]=\"min\"\n [pickerMaxDate]=\"max\"\n />\n </div>\n <div *ngIf=\"question?.autoCapture && !question?.value\" class=\"d-flex sb-g-col-xs-12 sb-g-col-md-4 margin\">\n <button class=\"sb-btn sb-btn-normal sb-btn-primary\" (click)=\"autoCapture()\">\n\t\t{{autoCaptureText}}\n </button>\n </div>\n</div>\n" }] }], ctorParameters: function () { return [{ type: i1.SlQuestionnaireService }, { type: i2.SlTranslateService }]; }, propDecorators: { questionnaireForm: [{ type: Input }], question: [{ type: Input }], autoCaptureText: [{ type: Input }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbC1xdWVzdGlvbm5haXJlL3NyYy9saWIvZGF0ZS1pbnB1dC9kYXRlLWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NsLXF1ZXN0aW9ubmFpcmUvc3JjL2xpYi9kYXRlLWlucHV0L2RhdGUtaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLGtCQUFrQixFQUFvQixNQUFNLGdCQUFnQixDQUFDOzs7Ozs7O0FBVXRFLE1BQU0sT0FBTyxrQkFBa0I7SUFTN0IsWUFDVSxRQUFnQyxFQUNoQyxTQUE2QjtRQUQ3QixhQUFRLEdBQVIsUUFBUSxDQUF3QjtRQUNoQyxjQUFTLEdBQVQsU0FBUyxDQUFvQjtJQUNwQyxDQUFDO0lBRUosUUFBUTtRQUNOLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxHQUFHLEVBQUUsV0FBVyxDQUFDO1FBQ3BFLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUMvQixJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFDakIsSUFBSSxrQkFBa0IsQ0FDcEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFDcEUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FDeEMsQ0FDRixDQUFDO1lBRUYsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTO2dCQUMvQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTO2dCQUN6QixDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLEdBQUcsR0FBSSxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQXlCLENBQUMsR0FBRztZQUNyRCxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUF5QixDQUFDLEdBQUcsQ0FBQztZQUN4RCxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ1QsSUFBSSxDQUFDLEdBQUcsR0FBSSxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQXlCLENBQUMsR0FBRztZQUNyRCxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUF5QixDQUFDLEdBQUcsQ0FBQztZQUN4RCxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ1gsQ0FBQztJQUVELFFBQVEsQ0FBQyxDQUFTO1FBQ2hCLElBQUcsQ0FBQyxDQUFDO1lBQUUsT0FBTTtRQUNiLElBQUksS0FBSyxHQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdkMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQzVCLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRUQsY0FBYyxDQUFDLENBQUs7UUFDbEIsSUFBSSxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDcEIsSUFBSSxDQUFDLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3ZCLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDZCxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2hCLE9BQU8sQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBVSxDQUMzRCxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FDckIsQ0FBQztJQUNKLENBQUM7K0dBMURVLGtCQUFrQjttR0FBbEIsa0JBQWtCLG1LQ1gvQixxekJBd0JBOzs0RkRiYSxrQkFBa0I7a0JBTDlCLFNBQVM7K0JBQ0UsZUFBZTs4SUFTaEIsaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVW50eXBlZEZvcm1Db250cm9sLCBVbnR5cGVkRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUXVlc3Rpb24sIFZhbGlkYXRpb24gfSBmcm9tICcuLi9pbnRlcmZhY2VzL3F1ZXN0aW9ubmFpcmUudHlwZSc7XG5pbXBvcnQgeyBTbFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy90cmFuc2xhdGUuc2VydmljZSc7XG5pbXBvcnQgeyBTbFF1ZXN0aW9ubmFpcmVTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvc2wtcXVlc3Rpb25uYWlyZS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2wtZGF0ZS1pbnB1dCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRlLWlucHV0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGF0ZS1pbnB1dC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBEYXRlSW5wdXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBkYXRlOiBhbnk7XG4gIG1pbjogRGF0ZTtcbiAgbWF4OiBEYXRlO1xuXG4gIEBJbnB1dCgpIHF1ZXN0aW9ubmFpcmVGb3JtOiBVbnR5cGVkRm9ybUdyb3VwO1xuICBASW5wdXQoKSBxdWVzdGlvbjogUXVlc3Rpb247XG4gIEBJbnB1dCgpIGF1dG9DYXB0dXJlVGV4dDogU3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcVNlcnZpY2U6IFNsUXVlc3Rpb25uYWlyZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGU6IFNsVHJhbnNsYXRlU2VydmljZVxuICApIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5hdXRvQ2FwdHVyZVRleHQgPSB0aGlzLnRyYW5zbGF0ZVsnZnJtZWxtbnRzJ10uYnRuPy5hdXRvQ2FwdHVyZTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMucXVlc3Rpb25uYWlyZUZvcm0uYWRkQ29udHJvbChcbiAgICAgICAgdGhpcy5xdWVzdGlvbi5faWQsXG4gICAgICAgIG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woXG4gICAgICAgICAgdGhpcy5xdWVzdGlvbi52YWx1ZSA/IG5ldyBEYXRlKHRoaXMucXVlc3Rpb24udmFsdWUgYXMgc3RyaW5nKSA6IG51bGwsXG4gICAgICAgICAgW3RoaXMucVNlcnZpY2UudmFsaWRhdGUodGhpcy5xdWVzdGlvbildXG4gICAgICAgIClcbiAgICAgICk7XG5cbiAgICAgIHRoaXMucXVlc3Rpb24uc3RhcnRUaW1lID0gdGhpcy5xdWVzdGlvbi5zdGFydFRpbWVcbiAgICAgICAgPyB0aGlzLnF1ZXN0aW9uLnN0YXJ0VGltZVxuICAgICAgICA6IERhdGUubm93KCk7XG4gICAgfSk7XG4gICAgdGhpcy5taW4gPSAodGhpcy5xdWVzdGlvbi52YWxpZGF0aW9uIGFzIFZhbGlkYXRpb24pLm1pblxuICAgICAgPyBuZXcgRGF0ZSgodGhpcy5xdWVzdGlvbi52YWxpZGF0aW9uIGFzIFZhbGlkYXRpb24pLm1pbilcbiAgICAgIDogbnVsbDtcbiAgICB0aGlzLm1heCA9ICh0aGlzLnF1ZXN0aW9uLnZhbGlkYXRpb24gYXMgVmFsaWRhdGlvbikubWF4XG4gICAgICA/IG5ldyBEYXRlKCh0aGlzLnF1ZXN0aW9uLnZhbGlkYXRpb24gYXMgVmFsaWRhdGlvbikubWF4KVxuICAgICAgOiBudWxsO1xuICB9XG5cbiAgb25DaGFuZ2UoZTogc3RyaW5nKSB7XG4gICAgaWYoIWUpIHJldHVyblxuICAgIGxldCB2YWx1ZTphbnkgPSB0aGlzLmRhdGVUaW1lRm9ybWF0KGUpO1xuICAgIHRoaXMucXVlc3Rpb24udmFsdWUgPSB2YWx1ZTtcbiAgICB0aGlzLnF1ZXN0aW9uLmVuZFRpbWUgPSBEYXRlLm5vdygpO1xuICB9XG5cbiAgZGF0ZVRpbWVGb3JtYXQoZTphbnkpIHtcbiAgICBsZXQgeCA9IG5ldyBEYXRlKGUpO1xuICAgIGxldCBuID0gbmV3IERhdGUoKTtcbiAgICBsZXQgaCA9IG4uZ2V0SG91cnMoKTtcbiAgICBsZXQgbSA9IG4uZ2V0TWludXRlcygpO1xuICAgIHguc2V0SG91cnMoaCk7XG4gICAgeC5zZXRNaW51dGVzKG0pO1xuICAgIHJldHVybiB4O1xuICB9XG5cbiAgYXV0b0NhcHR1cmUoKSB7XG4gICAgdGhpcy5xdWVzdGlvbm5haXJlRm9ybS5jb250cm9sc1t0aGlzLnF1ZXN0aW9uLl9pZF0ucGF0Y2hWYWx1ZShcbiAgICAgIG5ldyBEYXRlKERhdGUubm93KCkpXG4gICAgKTtcbiAgfVxufVxuIiwiPGRpdlxuICBbZm9ybUdyb3VwXT1cInF1ZXN0aW9ubmFpcmVGb3JtXCJcbiAgKm5nSWY9XCJxdWVzdGlvbm5haXJlRm9ybT8uY29udGFpbnMocXVlc3Rpb24uX2lkKVwiXG4gIGNsYXNzPVwic2ItZyBzYi1nLWNvbC14cy0xMlwiXG4+XG4gIDxkaXYgY2xhc3M9XCJ1aSBsZWZ0IGljb24gaW5wdXQgc2ItZy1jb2wteHMtMTIgc2ItZy1jb2wtbWQtOFwiPlxuICAgIDxpIGNsYXNzPVwiY2FsZW5kYXIgaWNvblwiPjwvaT5cbiAgICA8aW5wdXRcbiAgICAgIHN1aURhdGVwaWNrZXJcbiAgICAgIFtwaWNrZXJNb2RlXT1cIidkYXRlJ1wiXG4gICAgICBbcGlja2VyVXNlTmF0aXZlT25Nb2JpbGVdPVwiZmFsc2VcIlxuICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJxdWVzdGlvbj8uX2lkXCJcbiAgICAgIChwaWNrZXJTZWxlY3RlZERhdGVDaGFuZ2UpPVwib25DaGFuZ2UoJGV2ZW50KVwiXG4gICAgICBjbGFzcz1cInF1ZXN0aW9uLWRhdGUtaW5wdXRcIlxuICAgICAgW3BpY2tlck1pbkRhdGVdPVwibWluXCJcbiAgICAgIFtwaWNrZXJNYXhEYXRlXT1cIm1heFwiXG4gICAgLz5cbiAgPC9kaXY+XG4gIDxkaXYgKm5nSWY9XCJxdWVzdGlvbj8uYXV0b0NhcHR1cmUgJiYgIXF1ZXN0aW9uPy52YWx1ZVwiIGNsYXNzPVwiZC1mbGV4IHNiLWctY29sLXhzLTEyICBzYi1nLWNvbC1tZC00IG1hcmdpblwiPlxuICAgIDxidXR0b24gY2xhc3M9XCJzYi1idG4gc2ItYnRuLW5vcm1hbCBzYi1idG4tcHJpbWFyeVwiIChjbGljayk9XCJhdXRvQ2FwdHVyZSgpXCI+XG5cdFx0e3thdXRvQ2FwdHVyZVRleHR9fVxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19