Benutzer-Werkzeuge

Webseiten-Werkzeuge


fileaccess:start

SQL-IDE File Access API

Ist die Embedded-Version der SQL-IDE ohne <iframe>-Tag in einer Webseite eingebunden, so können andere Skripte auf der Webseite über das global sichtbare OnlineIDEAccess-Objekt window.sql_ide_access auf die Quelltexte aller IDEs zugreifen, für die das Attribut enableFileAccess auf true gesetzt ist, also

    <div class="sql-online" style="width: calc(100% - 10px); height: 600px; margin-left: 5px" data-sql-online="{
        'id': 'abcd',
        'databaseURL': 'assets/databases/world1.sqLite',
        'enableFileAccess': true
    }">
        <script type="text/plain" title="Test1.sql" data-type="sql">
select * from test;
                    </script>
    </div>

Das folgende Skript gibt die Quelltexte aller Programme in der IDE mit der id "abcd" aus:

let ide = window.sql_ide_access.getIDE('abcd');
let files = ide.getFiles();
for(let i = 0; i < files.length; i++){
   let file = files[i];
   console.log('Name: ' + file.getName());
   console.log('Quelltext:' + file.getText());
}

Spezifikation der API

Hier die in Typescript formulierte Spezifikation der API:

interface OnlineIDEAccess {
    getIDE(id: string): SingleIDEAccess | undefined;
}
 
interface SingleIDEAccess {
    getFiles(): IDEFileAccess[];
}
 
interface IDEFileAccess {
    getName(): string;
    getText(): string;
}
fileaccess/start.txt · Zuletzt geändert: 2025/05/18 14:17 von Martin Pabst

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki