import "../../source/components/host/overlay.mjs";
import "../../source/components/datatable/datatable.mjs";
import "../../source/components/datatable/dataset.mjs";
import "../../source/components/datatable/datasource/dom.mjs";
import "../../source/components/datatable/datasource/rest.mjs";
import "../../source/components/datatable/save-button.mjs";

import "../../source/components/form/button.mjs";
import "../../source/components/form/select.mjs";
import "../../source/components/form/toggle-switch.mjs";

import "../../source/components/style/common.pcss";
import "../../source/components/style/color.pcss";
import "../../source/components/style/theme.pcss";
import "../../source/components/style/table.pcss";
import "../../source/components/style/badge.pcss";
import "../../source/components/style/button.pcss";
import "../../source/components/style/link.pcss";
import "../../source/components/style/data-grid.pcss";
import "../../source/components/style/property.pcss";
import "../../source/components/style/typography.pcss";
import "../../source/components/style/display.pcss";

import "../../source/components/datatable/datasource/rest.mjs";
import "../../source/components/datatable/filter.mjs";
import "../../source/components/datatable/filter-button.mjs";
import "../../source/components/datatable/embedded-pagination.mjs";
import "../../source/components/datatable/datatable.mjs";
import "../../source/components/datatable/dataset.mjs";
import "../../source/components/datatable/status.mjs";
import "../../source/components/datatable/save-button.mjs";
import "../../source/components/datatable/change-button.mjs";
import "../../source/components/datatable/filter/range.mjs";
import "../../source/components/datatable/filter/select.mjs";
import "../../source/components/datatable/filter/input.mjs";
import "../../source/components/datatable/filter/date-range.mjs";
import {windowReady} from "../../source/dom/ready.mjs";
import "../../source/components/host/host.mjs";
import "../../source/components/form/button.mjs";
import "../../source/components/form/button-bar.mjs";
import "../../source/components/form/popper-button.mjs";
import "../../source/components/form/tabs.mjs";
import "./main.pcss"; 


import { findTargetElementFromEvent } from "../../source/dom/events.mjs";

let data = document.getElementById('data1');
/**
 * die Daten können mit dem write.mapping.transformer umformatiert werden
 */
data.setOption('write.mapping.transformer', 'call:agenorFormater');
let callbacks = {
    agenorFormater: function (data) {
        return data.dataset;
    }};
data.setOption('write.mapping.callbacks', callbacks);

data.setOption('read.mapping.transformer', 'call:agenorFormater');
let readCallbacks = {
    agenorFormater: function (data) {
        for (const [key, value] of Object.entries(data.dataset)) {
            data.dataset[key].erpLastUpdate = '2020-01-16T10:27:18';
        }
        return data;
    }
};
data.setOption('read.mapping.callbacks', readCallbacks);


let dataset1 = document.getElementById('dataset1');
//let dataset2 = document.getElementById('dataset2');

//console.log(data);

let saveButton = document.getElementById('saveButton');
// saveButton.setOption('actions.click', () => {
//     dataset1.write();
// })

document.addEventListener("monster-button-clicked", (event) => {
    document.getElementById('overlay1').close();
});



/**
 * customElementUpdaterLinkSymbol
 * 
 * datsource > datenquelle
 * 
 * dataset
 * const updaters = getLinkedObjects(self, customElementUpdaterLinkSymbol);
 * 
 * proxyObserver > Updater
 * 
 * 
 * 
 */