<commit_before># denkstrap-structure JavaScript API

### Inhalt
- [Module](#module)
  - [Aufbau eines Moduls](#aufbau-eines-moduls)
  - [Einbindung im HTML](#einbindung-im-html)
  - [Verwendung im JavaScript](#verwendung-im-javascript)
  - [Konstruktor-Methoden](#konstruktor-methoden)
  - [Modul Typen](#modul-typen)
    - [Globale Module](#globale-module)
    - [Lokale Module](#lokale-module)
      - [Promise](#promise)
      - [Events](#events)
      - [Beispiele](#beispiele)
- [Extensions](#extensions)
- [Funktionssammlungen](#funktionssammlungen)
- [Events](#events-1)
- [Loader](#loader)
  - [Konfiguration](#konfiguration)
    - [globalScope](#globalscope)
    - [autoInitSelector](#autoinitselector)
    - [autoInit](#autoinit)
  - [loadModules](#loadmodules)
  - [Beispiel](#beispiel)
- [Abhängigkeiten](#abhangigkeiten)
- [TODOs](#todos)

***

## Module
Zwei Modultypen stehen zur Verfügung: *globale* und *lokale* Module. Ein globales Modul wird einem Objektliteral hinzugefügt (z.B. `window.App`). Wenn mehrere Module des selben Typs initialisiert werden, teilen sie sich den selben Scope im Objektliteral. Das bewirkt unter Umständen, dass sich diese Module während der Laufzeit teilweise gegenseitig überschreiben. Ein lokales Modul wird beim initialisieren instanziert. Jedes lokale Modul besitzt seinen eigenen Scope. Desweiteren können lokale Module mit Extensions erweitert werden und besitzen diverse weitere Eigenschaften.
### Aufbau eines Moduls
Der Grundaufbau beider Modultypen ist prinzipiell gleich. Die Methoden `ready` und `events` dienen als Konstruktor-Methoden, werden beim Initialisieren durch den **Loader** ausgeführt und bekommen als Argumente das zugehörige DOM-Element (jQuery) sowie die Options übergeben. Die Konstruktor-Methoden können jedoch auch manuell festgelegt werden (siehe [Konstruktor-Methoden](#konstruktor-methoden)).

```javascript
(function ( window, define, require, undefined ) {
    'use strict';

    define([
        'jquery',
        'lodash'
    ], function ( $, _ ) {

        return {

            ready: function ( element, options ) {

            },
<commit_msg>Fix wrong link in js documentation<commit_after># denkstrap-structure JavaScript API

### Inhalt
- [Module](#module)
  - [Aufbau eines Moduls](#aufbau-eines-moduls)
  - [Einbindung im HTML](#einbindung-im-html)
  - [Verwendung im JavaScript](#verwendung-im-javascript)
  - [Konstruktor-Methoden](#konstruktor-methoden)
  - [Modul Typen](#modul-typen)
    - [Globale Module](#globale-module)
    - [Lokale Module](#lokale-module)
      - [Promise](#promise)
      - [Events](#events)
      - [Beispiele](#beispiele)
- [Extensions](#extensions)
- [Funktionssammlungen](#funktionssammlungen)
- [Events](#events-1)
- [Loader](#loader)
  - [Konfiguration](#konfiguration)
    - [globalScope](#globalscope)
    - [autoInitSelector](#autoinitselector)
    - [autoInit](#autoinit)
  - [initModules](#initmodules)
  - [Beispiel](#beispiel)
- [Abhängigkeiten](#abhangigkeiten)
- [TODOs](#todos)

***

## Module
Zwei Modultypen stehen zur Verfügung: *globale* und *lokale* Module. Ein globales Modul wird einem Objektliteral hinzugefügt (z.B. `window.App`). Wenn mehrere Module des selben Typs initialisiert werden, teilen sie sich den selben Scope im Objektliteral. Das bewirkt unter Umständen, dass sich diese Module während der Laufzeit teilweise gegenseitig überschreiben. Ein lokales Modul wird beim initialisieren instanziert. Jedes lokale Modul besitzt seinen eigenen Scope. Desweiteren können lokale Module mit Extensions erweitert werden und besitzen diverse weitere Eigenschaften.
### Aufbau eines Moduls
Der Grundaufbau beider Modultypen ist prinzipiell gleich. Die Methoden `ready` und `events` dienen als Konstruktor-Methoden, werden beim Initialisieren durch den **Loader** ausgeführt und bekommen als Argumente das zugehörige DOM-Element (jQuery) sowie die Options übergeben. Die Konstruktor-Methoden können jedoch auch manuell festgelegt werden (siehe [Konstruktor-Methoden](#konstruktor-methoden)).

```javascript
(function ( window, define, require, undefined ) {
    'use strict';

    define([
        'jquery',
        'lodash'
    ], function ( $, _ ) {

        return {

            ready: function ( element, options ) {

            },

{'fraction_non_alphanumeric': 0.11586078019154403, 'fraction_numerical': 0.000467180565288484, 'mean_word_length': 4.392947103274559, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, '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': '3579109', 'n_tokens_mistral': 1422, 'n_tokens_neox': 1437, 'n_words': 359}