Skip to content
Snippets Groups Projects
Select Git revision
  • b87a37f30bc4efc788e88351fe82c712688b3c9e
  • master default protected
  • 1.31
  • 4.25.3
  • 4.25.2
  • 4.25.1
  • 4.25.0
  • 4.24.3
  • 4.24.2
  • 4.24.1
  • 4.24.0
  • 4.23.6
  • 4.23.5
  • 4.23.4
  • 4.23.3
  • 4.23.2
  • 4.23.1
  • 4.23.0
  • 4.22.3
  • 4.22.2
  • 4.22.1
  • 4.22.0
  • 4.21.0
23 results

Monster_Data.Pathfinder.html

Blame
  • 210.mjs 2.99 KiB
    /**
     * @file development/issues/open/210.mjs
     * @url https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/210
     * @description initializing of reloaded html fields
     * @issue 210
     */
    
    import "../../../source/components/style/property.pcss";
    import "../../../source/components/style/color.pcss";
    import "../../../source/components/style/normalize.pcss";
    import "../../../source/components/style/typography.pcss";
    import "../../../source/components/style/form.pcss";
    
    import "../../../source/components/datatable/datasource/rest.mjs";
    import "../../../source/components/datatable/save-button.mjs";
    import "../../../source/components/form/form.mjs";
    import "../../../source/components/form/field-set.mjs";
    import "../../../source/components/form/select.mjs";
    import "../../../source/components/form/context-help.mjs";
    import "../../../source/components/form/context-error.mjs";
    import {domReady} from "../../../source/dom/ready.mjs";
    
    domReady.then(() => {
    
        // get html from server '/issue-210.html' and insert after last field in form
        fetch('/issue-210.html')
            .then(response => response.text())
            .then(html => {
                const form = document.querySelector('monster-form');
                const fieldSet = document.querySelector('monster-field-set');
                if (!fieldSet) {
                    return;
                }
                fieldSet.insertAdjacentHTML('beforeend', html);
                
                
    //            form.refresh();
                
            });
    
    
    });
    
    
    
    /**
     * Interne Daten löschen, nicht übertragen
     * Änderungen werden global geändert
     * diese Werte stehen nach dem speichern nicht mehr zur Verfügung
    
    for (const [key, value] of Object.entries(data.dataset)) {
        for (const [k, v] of Object.entries(data.dataset[key])) {
            if (k.indexOf(internalDataPrefix) !== -1) {
                delete data.dataset[key][k];
            };
        }
    }
    
    //nicht mit den Original daten arbeiten 
    //da sich so auch die Originaldaten ändern
    let currentData = clone(data);
    
    let d = diff(currentData.dataset,lastData.dataset);
    
    /**
     * Daten für den nächsten Vergleich speichern
    
    lastData = clone(currentData);
    
    let changedKeys = [];
    for (const [key, value] of Object.entries(d)) {
        let index = value.path[0]
        if(changedKeys.includes(index)===false){
            changedKeys.push(index);
        }
    }
    
    /**
     * Daten die sich nicht geändert haben löschen
    
    let updateData = [];
    for (const [key, value] of Object.entries(currentData.dataset)) {
        if(changedKeys.includes(key)===true){
            updateData.push(currentData.dataset[key]);
        }
    };
    
    
    /**
     * Zeit umformatieren für die Daten die noch
     * übertragen werden sollen
    
    for (const [key, value] of Object.entries(updateData)) {
        let time = updateData[key]?.scheduler?.time;
        if (time !== undefined) {
            /**
             * Locale Zeit '2024-03-22T11:22:33'
    
            let d = new Date(Date.parse(time));
            /**
             * UTC Zeit '2024-03-22T10:22:33.000Z'
    
            d = d.toISOString();
            updateData[key].scheduler.time = d;
        }
    
    }
    
    return updateData;
    
    */