<< Übersicht |
Inhalt
Records, SeiteninhaltRecord, RecordsRecord RECORDGeöffneter Record in DetailansichtList<Value> values = RECORD.getValues(); Oder: Record record = RECORD;List<Value> values = record.getValues(); List<Record> RECORDSRecords der Ansicht// Records in SchleifeList<Record> records = RECORDS; for(Record record : records) { } WerteWerte auslesenAuslesen der Werte eines Records (Sichtbare Werte der Tabelle oder alle Werte)// Sichtbare Spalten/WerteList<Value> values = record.getValues(); for(Value value : values) { String name = value.getName(); // Technischer Name String text = value.getText(); // Anzeigetext String obj = value.getObject(); // Java-Objekt (String, Long, Double, Date, Boolean) }Weitere Inhalte:// Alle Spalten/Werte List<Value> values = record.getValuesAll(); // Einzelwert Value value = record.getValue("country"); String color = record.getBackgroundColor(); List<Annotation> annotations = record.getAnnotations(); // Subtables (Inhalte: tables.title, tables.records, tables.columns) List<Table> tables = record.getTables(); // Attachments List<Attachment> attachments = record.getAttachments(); Gruppierung, SeiteGruppierungList<Group> groups = PAGE.getGroups();for(Group group : groups) { // Auch Titel/Level/Anzahl: group.title, group.level, group.count List<Column> columns = group.getColumns(); List<Record> records = group.getRecords(); for(Column column : columns) { String name = column.getName(); String label = column.getLabel(); } } Aktuelle SeitePAGE.isView: Ist Ansicht mit RecordsPAGE.isRecord: Ist Detailansicht PAGE.isWebserver: Anwendung wird in Webserver ausgeführt PAGE.title: Titel der aktuellen Seiteif (PAGE.isRecord) { } if (PAGE.isView) { } if (PAGE.isWebserver) { } String title = PAGE.title; HilfsmittelTemplates/RückgabeTemplate lesenErlaubt das Auslesen einer Textdatei, hilfreich wenn Inhalt in eine bestehende Datei eingefügt werden soll. Templates werden gelesen aus:scripts/templates/ (Vordefiniert oder eigene Anwendung)// Template lesen String templateContent = TEMPLATE.read("HTML_Template1.html"); // Ersetzungen vornehmen (Beispiel) String page = templateContent.replace("%CONTENT%", "MY CONTENT").replace("%PAGE_TITLE%", PAGE.title); Rückgabewert// Script liefert einen RückgabewertRESULT.set("Summe für Jahr: xx"); // Text an Rückgabewert anhängen; vorheriges set() nicht erforderlich RESULT.append("\nSumme für Monat: xx"); Escape/FormatEscape für Sonderzeichen// Ersetzt Sonderzeichen, z. B. <, >ESCAPE.forHtml(String text) ESCAPE.forXml(String text) ESCAPE.forJson(String text) ESCAPE.forJava(String text) HTML-Ausgabe// Erzeugt passenden HTML-Code (auch Grafiken)HTML.toHtml(Value value) HTML.toHtml(String text) HTML.toHtml(List<Annotation> annotationsList) HTML.toHtml(Annotation annotation) HTML.toHtml(Attachment attachment) ObjektinformationentoString() für Objekte und VariablenObjekte und Variablen liefern Informationen zu Inhalt und verfügbaren Methoden über toString()// Beispiele für toString()String summary = ""; summary += RECORD.toString()+"\n"; summary += RECORDS.toString()+"\n"; summary += PAGE.toString()+"\n"; summary += TEMPLATE.toString()+"\n"; summary += RESULT.toString()+"\n"; summary += READ.toString()+"\n"; summary += WRITE.toString()+"\n"; summary += UPLOADS.toString()+"\n"; summary += FILE.toString()+"\n"; RESULT.set(summary); Lesen/SchreibenLesen/ÄndernLesen von Records// Liest alle Records für eine Tabelle, festgelegt durch Parameter// Die Records enthalten nur Werte, keine weiteren Details (Annotations, Untertabellen, ...) List<Record> recordsWithValues = READ.getRecords(String tablename); Werte abändern// Neuen Wert festlegenWRITE.setValue(Record record, String fieldname, String newValue); Anlegen/LöschenEinfügen von Record// Neuen Record anlegenRecord newRecord = WRITE.insertNewRecord(String tablename); Einfügen von Record// Neuen Record anlegenString tablename = "..."; Record record = new Record(tablename); record.setValue("firstname", "theodora"); WRITE.insertRecord(record); Löschen von Record// Record löschenRecord myrecord = RECORD; WRITE.deleteRecord(myrecord); WRITE.deleteRecordLogical(myrecord); // Logisch LöschenOder:// Record löschen, durch Angabe von Tablename, ID String tablename = "..."; Long id = 1122; Record record = new Record(tablename, id); WRITE.deleteRecord(record); DateienFelder, UploadsFelder// Read bytes of field valuebyte[] bytes = FILE.readBytes(Value value); // Read bytes of upload byte[] bytes = FILE.readBytes("file.txt"); // Read multiple files List<byte[]> filesBytes = FILE.readBytesList(Value value); Uploads hinzufügenUPLOADS.add("file.txt", String text);UPLOADS.add("file.bin", byte[] bytes); DateizugriffTemp-Dateien, Öffnen/Bearbeiten// Temp FilesFile tmp = FILE.temp(); File tmp = FILE.temp(String ending); File tmp = FILE.temp(String ending, String prefix); // Open/Edit/Browse in Operating System (not Webserver) FILE.open(File file); FILE.edit(File file); FILE.browse(String url); DateisystemFILE.write(File file, String text);FILE.write(File file, byte[] bytes); String filetext = FILE.read(File file); byte[] bytes = FILE.readBytes(File file); ErweitertJava-KlassenKlassen in ScriptsIn Scripts lassen sich auch eigene Klassen definieren.Variablen zur Nutzung in Scripts sind aber innerhalb von Java-Klassen nicht verfügbar. Deshalb müssen Sie im Konstruktor übergeben werden, ein Beispiel:// Variablen PAGE, ESCAPE, UTIL, RESULT, ... sind nur außerhalb von Klassen verfügbar // Lösung: Variable SCRIPT als Parameter verwendet, sie enthält zusätzlich alle Variablen new Demo(SCRIPT); public class Demo { private Script s; public Demo(Script script) { this.s = script; // Jetzt in Klasse verfügbar: // s.PAGE // s.ESCAPE // s.UTIL // s.RESULT // s.RECORD // s.RECORDS // ... execute(); } private void execute() { s.RESULT.set("My Result"); } }Variablen: RECORD, RECORDS, PAGE, ESCAPE, UTIL, TEMPLATE, FILE, HTML, READ, WRITE, RESULT, UPLOADS Template-BeispielTemplate lesen, befüllen und als Datei auf Festplatte schreibenBefüllt ein geladenes Template und schreibt es als temporäre Datei. Anschließend öffnet das System die Datei.// Read template and replace placeholders String content = "MY CONTENT"; String templateContent = TEMPLATE.read("TEMPLATE_HERE.html"); String page = templateContent.replace("%CONTENT%", content).replace("%PAGE_TITLE%", PAGE.title); // Temp File File file = FILE.temp(".html"); // Write to file FILE.write(file, page); // Open file in System FILE.open(file); |