import { UntypedFormControl, UntypedFormGroup } from '@angular/forms';
import { DynamicCheckboxModel, DynamicSelectModel } from '@ng-dynamic-forms/core';

export const accessConditionChangeEvent = {
    $event: {
        bubbles: true,
        cancelBubble: false,
        cancelable: false,
        composed: false,
        currentTarget: null,
        defaultPrevented: false,
        eventPhase: 0,
        isTrusted: true,
        returnValue: true,
        timeStamp: 143042.8999999999,
        type: 'change',
    },
    context: null,
    control: new UntypedFormControl({
        errors: null,
        pristine: false,
        status: 'VALID',
        statusChanges: { _isScalar: false, observers: [], closed: false, isStopped: false, hasError: false },
        touched: true,
        value: { year: 2021, month: 12, day: 30 },
        valueChanges: { _isScalar: false, observers: [], closed: false, isStopped: false, hasError: false },
        _updateOn: 'change',
    }),
    group: new UntypedFormGroup({}),
    model: new DynamicSelectModel({
        additional: null,
        asyncValidators: null,
        controlTooltip: null,
        errorMessages: { required: 'submission.sections.upload.form.date-required-until' },
        hidden: false,
        hint: null,
        id: 'endDate',
        label: 'submission.sections.upload.form.until-label',
        labelTooltip: null,
        name: 'endDate',
        placeholder: 'Until',
        prefix: null,
        relations: [],
        required: true,
        suffix: null,
        tabIndex: null,
        updateOn: null,
        validators: { required: null },
    }),
    type: 'change'
};


export const checkboxChangeEvent = {
    $event: {
        bubbles: true,
        cancelBubble: false,
        cancelable: false,
        composed: false,
        currentTarget: null,
        defaultPrevented: false,
        eventPhase: 0,
        isTrusted: true,
        returnValue: true,
        timeStamp: 143042.8999999999,
        type: 'change',
    },
    context: null,
    control: new UntypedFormControl({
        errors: null,
        pristine: false,
        status: 'VALID',
        statusChanges: { _isScalar: false, observers: [], closed: false, isStopped: false, hasError: false },
        touched: true,
        value: { year: 2021, month: 12, day: 30 },
        valueChanges: { _isScalar: false, observers: [], closed: false, isStopped: false, hasError: false },
        _updateOn: 'change',
    }),
    group: new UntypedFormGroup({}),
    model: new DynamicCheckboxModel({
        additional: null,
        asyncValidators: null,
        controlTooltip: null,
        errorMessages: null,
        hidden: false,
        hint: null,
        id: 'discoverable',
        indeterminate: false,
        label: 'Discoverable',
        labelPosition: null,
        labelTooltip: null,
        name: 'discoverable',
        relations: [],
        required: false,
        tabIndex: null,
        updateOn: null,
        validators: { required: null },
    }),
    type: 'change'
};