Standalone
Formelfelder in Ninox skalieren leider nicht immer automatisch mit dem Inhalt, sodass Module abgeschnitten dargestellt werden können. Daher haben wir unser Standalone-Modul entwickelt, das die Größe des Formelfeldes anpasst, und haben es direkt in unsere anderen Module mit integriert. Es versteckt sich hinter dem Embedded-Key und du erhälst es immer automatisch mit dem globalen Code.
Wenn du unsere Module nutzt, musst du also nicht separat das Standalone-Modul nutzen, um Formelfelder zu skalieren. Wir stellen dir trotzdem einen Modulcode zur Verfügung, denn es funktioniert auch mit arcRider-Widgets oder von dir selbst gebauten HTML-Elementen.
Standalone innerhalb von GIP-Modulen nutzen
Die Eingabe in den Embedded-Key unserer Module läuft nach einer einfachen Logik ab:
Wenn des Modul innerhalb von einem anderen Modul liegt, wird der Wert true eingetragen (im Beispiel "InnerLayout").
Wenn das Modul nicht innerhalb von einem anderen Modul liegt, also der äußerste Container ist, wird entweder false oder ein Object mit Angaben zur Höhe und Styling des Formelfeldes angegeben (im Beispiel "OuterLayout"). Ninox-Formelfelder bestehen aus zwei ineinander liegenden <div>-Elementen: Dem äußeren Stringeditor und dem darin liegenden HTML Text-Selectable. Beide Elementen kannst du innerhalb des Embedded-Keys HTML-Inline-Styling zuweisen mit den Keys "styleStri" und "styleHtml".
Beispiel: Zwei Layouts ineinander
GIP_layout({
uniqueId: "OuterLayout",
embedded: {
height: "200px",
styleHtml: "padding: 10px;",
styleStri: "border: 1px solid red;"
},
blocks: [{
value: GIP_layout({
uniqueId: "InnerLayout",
embedded: true,
blocks: [{
value: "",
}],
}),
}],
})Standalone mit arcRider-Widgets oder eigenen Elementen nutzen
Wenn du das Standalone-Modul direkt zur Skalierung von Formelfeldern nutzen möchtest, kommt zusätzlich zum Embedded-Key noch ein ChildId-Key hinzu. Die ChildId nutzt das Standalone-Modul, um das Formelfeld zu identifizieren, das skaliert werden soll. Es muss also in dem zu skalierenden Formelfeld zwingend ein Element mit einer ID liegen.
Wenn ein arcRider-Widget in dem zu skalierenden Formelfeld liegt, liest du die ID des Widgets am besten mit dem Page Inspector deines Browsers aus. Wenn du z.B. eine arcRider-Table mit der uniqueId "Aufgaben" inspezierst, sollte die ID in etwa so aussehen: id="arc-table-id-aufgaben". Diese ID muss als ChildId angegeben werden.
Wenn du eigene HTML-Elemente in einem Formelfeld erstellt hast, gibst du die ID des äußersten Elementes an (im Beispiel "myDiv"). Beachte außerdem, dass deine HTML-Struktur eine definierte Höhe haben muss, an die das Formelfeld angepasst werden kann.
Beispiel: Eigene HTML-Elemente
html(raw(GIP_standalone({
childId: "myDiv",
embedded: false
})) +
"<div id='myDiv' style='font-size: 18px; line-height: 23px; overflow: hidden;'>
<p>Jeder Programmierer kennt den Satz:</p>
<p style='font-size: 40px; line-height: 50px; color: red; text-align: center;'>Hallo Welt!</p>
<p>Wer ihn noch nicht kannte, kennt ihn jetzt.</p>
</div>")Modulcode
GIP_standalone({
childId: "",
embedded: {
height: "",
styleHtml: "",
styleStri: "",
presets: "",
},
})html( raw(GIP_master({})) +
raw(GIP_standalone({
childId: "",
embedded: {
height: "",
styleHtml: "",
styleStri: "",
presets: "",
},
})
))