<commit_before>import {Injectable} from '@angular/core';
import {I18n} from '@ngx-translate/i18n-polyfill';
import {ConfigLoader} from '../configuration/config-loader';
import {ProjectConfiguration} from '../configuration/project-configuration';
import {FieldDefinition} from '../configuration/model/field-definition';
import {BuiltinTypeDefinition, BuiltinTypeDefinitions} from '../configuration/model/builtin-type-definition';


@Injectable()
/**
 * @author <NAME>
 * @author <NAME>
 */
export class AppConfigurator {

    private commonFields = {
        period: {
            inputType: 'dropdownRange',
            group: 'time'
        },
        dating: {
            inputType: 'dating',
            group: 'time'
        },
        diary: {
            inputType: 'input',
            group: 'stem'
        },
        area: {
            inputType: 'unsignedFloat',
            group: 'dimension'
        },
        dimensionLength: {
            inputType: 'dimension',
            group: 'dimension',
            positionValues: [
                'Maximale Ausdehnung',
                'Minimale Ausdehnung']
        },
        dimensionWidth: {
            inputType: 'dimension',
            group: 'dimension',
            positionValues: [
                'Maximale Ausdehnung',
                'Minimale Ausdehnung']
        },
        dimensionHeight: {
            inputType: 'dimension',
            group: 'dimension',
            positionValues: [
                'Maximale Ausdehnung',
                'Minimale Ausdehnung']
        },
        dimensionDiameter: {
            inputType: 'dimension',
            group: 'dimension',
            positionValues: [
                'Maximale Ausdehnung',
                'Minimale Ausdehnung']
        },
        dimensionPerimeter: {
            inputType: 'dimension',
            group: 'dimension',
            positionValues: [
                'Maximale Ausdehnung',
                'Minimale Ausdehnung']
        },
        dimensionThickness: {
            inputType: 'dimension',
            group: 'dimension',
            positionValues: [
                'Maximale Ausdehnung',
                'Minimale Ausdehnung']
        },
        dimensionVerticalExtent: {
            inputType: 'dimension',
            group: 'position',
            positionValues: [
                'Oberkante',
                'Unterkante']
        },
        dimensionOther: {
            inputType: 'dimension',
            group: 'dimension',
            positionValues: [
                'Maximale Ausdehnung',
                'Minimale Ausdehnung']
        },
        beginningDate: {
            inputType: 'date',
            group: 'stem'
        },
        endDate: {
            inputType: 'date',
            group: 'stem'
        },
        processor: {
            inputType: 'checkboxes',
            valuelistFromProjectField: 'staff',
            group: 'stem'
        },
        campaign: {
            inputType: 'checkboxes',
            valuelistFromProjectField: 'campaigns',
            allowOnlyValuesOfParent: true,
            group: 'stem'
        },
        description: {
            inputType: 'text'
        },
        date: {
            inputType: 'date',
            group: 'stem'
        },
        spatialLocation: {
            inputType: 'input',
            group: 'position'
        },
        provenance: {
            inputType: 'dropdown',
        },
        orientation: {
            inputType: 'dropdown',
            group: 'position'
        }
    };

    private builtinTypes: BuiltinTypeDefinitions = {
        Project: {
            label: this.i18n({ id: 'configuration.project', value: 'Projekt' }),
            fields: {
                identifier: {
                    inputType: 'input',
                    editable: false
                },
                coordinateReferenceSystem: {
                    label: this.i18n({ id: 'configuration.project.crs', value: 'Koordinatenbezugssystem' }),
                    inputType: 'dropdown'
                },
                staff: {
                    inputType: "multiInput"
                },
                campaigns: {
                    inputType: 'multiInput'
                }
            }
        } as BuiltinTypeDefinition,
        Operation: {
            superType: true,<commit_msg>Adjust to code style rules<commit_after>import {Injectable} from '@angular/core';
import {I18n} from '@ngx-translate/i18n-polyfill';
import {ConfigLoader} from '../configuration/config-loader';
import {ProjectConfiguration} from '../configuration/project-configuration';
import {FieldDefinition} from '../configuration/model/field-definition';
import {BuiltinTypeDefinition, BuiltinTypeDefinitions} from '../configuration/model/builtin-type-definition';


@Injectable()
/**
 * @author <NAME>
 * @author <NAME>
 */
export class AppConfigurator {

    private commonFields = {
        period: {
            inputType: 'dropdownRange',
            group: 'time'
        },
        dating: {
            inputType: 'dating',
            group: 'time'
        },
        diary: {
            inputType: 'input',
            group: 'stem'
        },
        area: {
            inputType: 'unsignedFloat',
            group: 'dimension'
        },
        dimensionLength: {
            inputType: 'dimension',
            group: 'dimension',
            positionValues: [
                'Maximale Ausdehnung',
                'Minimale Ausdehnung']
        },
        dimensionWidth: {
            inputType: 'dimension',
            group: 'dimension',
            positionValues: [
                'Maximale Ausdehnung',
                'Minimale Ausdehnung']
        },
        dimensionHeight: {
            inputType: 'dimension',
            group: 'dimension',
            positionValues: [
                'Maximale Ausdehnung',
                'Minimale Ausdehnung']
        },
        dimensionDiameter: {
            inputType: 'dimension',
            group: 'dimension',
            positionValues: [
                'Maximale Ausdehnung',
                'Minimale Ausdehnung']
        },
        dimensionPerimeter: {
            inputType: 'dimension',
            group: 'dimension',
            positionValues: [
                'Maximale Ausdehnung',
                'Minimale Ausdehnung']
        },
        dimensionThickness: {
            inputType: 'dimension',
            group: 'dimension',
            positionValues: [
                'Maximale Ausdehnung',
                'Minimale Ausdehnung']
        },
        dimensionVerticalExtent: {
            inputType: 'dimension',
            group: 'position',
            positionValues: [
                'Oberkante',
                'Unterkante']
        },
        dimensionOther: {
            inputType: 'dimension',
            group: 'dimension',
            positionValues: [
                'Maximale Ausdehnung',
                'Minimale Ausdehnung']
        },
        beginningDate: {
            inputType: 'date',
            group: 'stem'
        },
        endDate: {
            inputType: 'date',
            group: 'stem'
        },
        processor: {
            inputType: 'checkboxes',
            valuelistFromProjectField: 'staff',
            group: 'stem'
        },
        campaign: {
            inputType: 'checkboxes',
            valuelistFromProjectField: 'campaigns',
            allowOnlyValuesOfParent: true,
            group: 'stem'
        },
        description: {
            inputType: 'text'
        },
        date: {
            inputType: 'date',
            group: 'stem'
        },
        spatialLocation: {
            inputType: 'input',
            group: 'position'
        },
        provenance: {
            inputType: 'dropdown',
        },
        orientation: {
            inputType: 'dropdown',
            group: 'position'
        }
    };

    private builtinTypes: BuiltinTypeDefinitions = {
        Project: {
            label: this.i18n({ id: 'configuration.project', value: 'Projekt' }),
            fields: {
                identifier: {
                    inputType: 'input',
                    editable: false
                },
                coordinateReferenceSystem: {
                    label: this.i18n({ id: 'configuration.project.crs', value: 'Koordinatenbezugssystem' }),
                    inputType: 'dropdown'
                },
                staff: {
                    inputType: 'multiInput'
                },
                campaigns: {
                    inputType: 'multiInput'
                }
            }
        } as BuiltinTypeDefinition,
        Operation: {
            superType: true,
{'fraction_non_alphanumeric': 0.10598603639693259, 'fraction_numerical': 0.00183129220556255, 'mean_word_length': 1.3369884995988233, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 7, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '800373', 'n_tokens_mistral': 2279, 'n_tokens_neox': 2170, 'n_words': 435}