@easyv-find events abnormal

easyv 查找事件异常组件

ही स्क्रिप्ट इंस्टॉल करण्यासाठी तुम्हाला Tampermonkey, Greasemonkey किंवा Violentmonkey यासारखे एक्स्टेंशन इंस्टॉल करावे लागेल.

ही स्क्रिप्ट इंस्टॉल करण्यासाठी तुम्हाला Tampermonkey किंवा Violentmonkey यासारखे एक्स्टेंशन इंस्टॉल करावे लागेल..

ही स्क्रिप्ट इंस्टॉल करण्यासाठी तुम्हाला Tampermonkey किंवा Violentmonkey यासारखे एक्स्टेंशन इंस्टॉल करावे लागेल..

You will need to install an extension such as Tampermonkey or Userscripts to install this script.

ही स्क्रिप्ट इंस्टॉल करण्यासाठी तुम्हाला Tampermonkey यासारखे एक्स्टेंशन इंस्टॉल करावे लागेल..

ही स्क्रिप्ट इंस्टॉल करण्यासाठी तुम्हाला एक युझर स्क्रिप्ट व्यवस्थापक एक्स्टेंशन इंस्टॉल करावे लागेल.

(माझ्याकडे आधीच युझर स्क्रिप्ट व्यवस्थापक आहे, मला इंस्टॉल करू द्या!)

ही स्टाईल इंस्टॉल करण्यासाठी तुम्हाला Stylus सारखे एक्स्टेंशन इंस्टॉल करावे लागेल.

ही स्टाईल इंस्टॉल करण्यासाठी तुम्हाला Stylus सारखे एक्स्टेंशन इंस्टॉल करावे लागेल.

ही स्टाईल इंस्टॉल करण्यासाठी तुम्हाला Stylus सारखे एक्स्टेंशन इंस्टॉल करावे लागेल.

ही स्टाईल इंस्टॉल करण्यासाठी तुम्हाला एक युझर स्टाईल व्यवस्थापक इंस्टॉल करावे लागेल.

ही स्टाईल इंस्टॉल करण्यासाठी तुम्हाला एक युझर स्टाईल व्यवस्थापक इंस्टॉल करावे लागेल.

ही स्टाईल इंस्टॉल करण्यासाठी तुम्हाला एक युझर स्टाईल व्यवस्थापक इंस्टॉल करावे लागेल.

(माझ्याकडे आधीच युझर स्टाईल व्यवस्थापक आहे, मला इंस्टॉल करू द्या!)

// ==UserScript==
// @name         @easyv-find events abnormal
// @namespace    http://tampermonkey.net/
// @version      0.1.2
// @description  easyv 查找事件异常组件
// @author       You
// @match        https://easyv.cloud/workspace/
// @icon         https://www.google.com/s2/favicons?domain=dtstack.net
// @grant        none
// ==/UserScript==

(async function() {
    'use strict';
    console.info('fetch loading....')
    const result = await fetch('https://easyv.cloud/api/easyv/v3/screen/export?id=356479').then(function(res){  return res.json() });
    console.log(result);
    main(result.data);
    // Your code here...
})();

async function main(data){
    data.componentsConfig && filterComponentsConfig(data.componentsConfig)

    if(data.panelConfig && data.panelConfig.length){
        data.panelConfig.forEach(d=>{
            d.stateConfig?.length && d.stateConfig.forEach(d=>{
                d && main(d);
            })
        })
    }
}



function filterComponentsConfig(componentsConfig){
    const events = componentsConfig.map(d=>{ return { events:JSON.parse(d.events),id:d.id } }).filter(d=>d.events.length);
    const actions = events.map(d=>{
        return {events:d.events.filter(d=> !d.id),id:d.id}
    }).flat(2).filter(d=>d.events.length);
    console.log(actions)
   // const actions
}