Wir hätten gerne etwas Kontrolle darüber. In der Zwischenzeit überlege ich, Formulare mit Leerzeichen für Labels zu erstellen (damit der * für erforderliche Felder trotzdem angezeigt wird).
Nachdem ich meinem Team heute Morgen im Standup dieses Formular und die daraus resultierende Post-Ausgabe gezeigt hatte, waren die Reaktionen:
Uns fehlt die Formatierungs-Symbolleiste oben… Mir wird klar, dass ich kein Formular möchte, das einen Beitrag erstellt; ich möchte einen normalen Beitrag mit einigen Pflichtfeldern.
und
Ich wünschte, diese Felder könnten in einem kleinen Kasten oben [im resultierenden Beitrag] oder an der Seite oder so etwas sein.
Wir sind also gespannt, wie sich das weiterentwickelt.
In der Zwischenzeit habe ich diesen hässlichen Workaround entwickelt, um a) „Checkbox“-Antworten auszublenden, und b) Nicht-Textfeld-Fragen in derselben Zeile anzuzeigen (<Frage?>: <Antwort>) und c) den Abstand zwischen den Elementen zu korrigieren
Wenn Sie sich mit Javascript auskennen, können Sie es an Ihre Bedürfnisse anpassen:
(Dies muss im Hooks-Abschnitt von app.yml hinzugefügt werden)
hooks:
after_code:
- exec:
# Typischerweise haben Sie hier die Plugin-Dinge
- replace:
filename: /var/www/discourse/app/assets/javascripts/discourse/app/lib/form-template-validation.js
from: 'return formattedOutput.join("\n\n");'
to: |
const formattedOutput2 = mergedData.map((item) => {
const key = Object.keys(item)[0];
const value = item[key];
const type = formTemplate.find(x => x.id == key).type;
if (type == 'checkbox') return;
if ((value) && (type != 'textarea')) return `**${labelMap[key]}**: ${value}`;
if (value) return`\n### ${labelMap[key]}\n${value}\n`;
});
return formattedOutput2.join("\n");