Hallo, also, in dieser Ausgabe #2861 können wir alle CSS eines ausgewählten Elements und seiner Kinder erhalten mit: Aber wenn ich alle CSS bekommen will, aber ohne spezifische Komponente und deren Kinder oder genau das Gegenteil der oben genannten Gibt es eine Möglichkeit, das zu machen?
mcottret
Hallo @RJCAM! Ich glaube nicht, dass es eine eingebaute Möglichkeit gibt, das zu erreichen, aber aufbauend auf der von dir verlinkten Antwort kann man das CSS aller Komponenten rekursiv verketten und dabei die ausgewählte und deren Kinder...
mcottret
@RJCAM Entschuldigung, ich habe nur bemerkt, dass meine vorherige Antwort nicht funktionierte, weil das Abrufen des CSS einer Komponente mit Children auch das CSS der Kinder einschloss (es erzeugte also duplizierte Stile sowie den Stil der...
RJCAM
Hallo @mcottret, danke für deine Antwort Ich denke, du hast recht, ich werde deinen Code bearbeiten, damit er wie erwartet funktioniert Ich schätze deine Hilfe wirklich sehr, danke!
Version: 0.16.18 Kannst du den Fehler aus der Demo reproduzieren? [x ] Ja: https://jsfiddle.net/ju1a0onx/ Was ist das erwartete Verhalten? Autosave sollte nach einer Stiländerung immer den Befehl "Store" aufrufen, selbst wenn die Klassen deaktiviert sind Wie ist das aktuelle Verhalten? Wenn du alle Klassen auf einem E...
artf
Danke für den Bericht, es gibt einen Fehler mit der Methode 'editor.load', der derzeit auf diese Weise behoben werden könnte '''js editor.load(() => { const em = editor.getModel(); em.get('storables').forEach(md => md.postLoad && md.postLo...
Joshmamroud
@Davidvlv Ich habe dasselbe Problem. Ich glaube, es ist eine Kombination aus 'avoidInlineStyles: 1' in der Konfiguration und dass keine Klasse ausgewählt wurde. Es scheint mit 'avoidInlineStyles: 0' wie erwartet zu funktionieren.
Davidvlv
Ich habe es ausprobiert, und diese Einstellung verhindert, dass es nicht speichert, wenn es sollte, aber es führt zu weiteren Problemen bei uns mit der späteren Nutzung des Ausgangs. Wir haben avoidInlineStyles aktiviert, um diese Probleme...
Ich versuche, die Standard-RTE in grapesjs durch summernote zu ersetzen. Ich habe vom Autor von Summernote Hilfe bekommen und diesen Codepen einigermaßen zum Laufen gebracht, aber der Autor von Summernote kam zu dem Schluss: 'Aber grapejs p Element ist ein Inhalt im iframe. Mit anderen Worten: Es gibt eine Struktur, b...
WFCHENG
Ich habe noch ein paar Änderungen vorgenommen und jetzt erscheint die Summernote-Symbolleiste korrekt, aber nur die Aufzählungsformatierung funktioniert. Der neue Codepen ist hier. @artf Jeder Hinweis wäre sehr willkommen.
Timramseyjr
@wfcheng Bist du damit jemals weitergekommen? Der Codepen enthält das Canvas-Skript/die Stile, die die Ressourcen im iframe hinzufügen, daher war ich etwas verwirrt, worauf sich der Summernote-Autor bezog.
wisecheng38
@timramseyjr habe ich einfach mehr Buttons in die RTE-Symbolleiste gesetzt, um Schriftarten und Farben auf ausgewählten Texten anzuwenden, obwohl die grapesjs-Dokumentation empfiehlt, den Style-Manager zu verwenden. Ich habe festgestellt,...
Version: 0.16.18 Kannst du den Fehler aus der Demo reproduzieren? [X] Ja: https://codesandbox.io/s/empty-night-8q733?file=/index.js [ ] Nein Was ist das erwartete Verhalten? Der Element-"Link-Button" sollte nicht in einem Div sein. Es sollte keinen Div geben, nur ein 'a'-Tag Wie ist das aktuelle Verhalten? Benutzerdef...
mcottret
Hallo @BerkeAras! Wie auf der Seite Getting Started gezeigt, kann man beim Definieren benutzerdefinierter Blöcke & Komponenten eine Eigenschaft 'tagName' angeben, um das Standard-Tag 'div' zu überschreiben. Prost!
artf
Du gibst eine Beschreibung für eine Komponente ('<div>' als Standard) durch und fügst dann das innere 'content' ('<a>'Tag) zu dieser Komponente hinzu
Text, der direkt in den Wrapper importiert wird, wird nicht zusammen mit der Komponente von der Leinwand entfernt. Zur Überprüfung kann man einfache Texte mehrfach in die Demo importieren und beobachten, wie sie sich kombinieren, anstatt die vorherige zu ersetzen. Das hinzuzufügen scheint zu helfen: Redakteur. DomComp...
artf
Ich folge deinem Beispiel nicht, kannst du bitte genaue Schritte zur Reproduktion erklären?
neon12345
Gehe zur Newsletter-Demo bei https://grapesjs.com/demo-newsletter-editor.html und benutze die Funktion "Vorlage importieren" mit einfachem Text wie "Hallo", aber ohne HTML (oder kombiniere sie mit HTML und Text auf Root-Ebene). Wiederholst...
artf
Danke @neon12345, ich konnte das Problem finden und es sollte in der nächsten Version behoben sein
Hey @artf, ich versuche, Stileigenschaften basierend auf dem ausgewählten Element auszublenden. zum Beispiel möchte ich, wenn ich ein Bild auf meinem GrapesJS per Drag & Drop ziehe, nur die Breiteneigenschaft anzeigen, aber die Attribute 'unstylable/stilable' funktionieren nicht. Version: "grapesjs": "^0.16.18", Kanns...
mcottret
Hallo @cartifon! Ich glaube, das Attribut 'stilierbar' funktioniert nur bei Komponenten und nicht bei Blöcken wie in deinem Beispiel. Folgendes sollte funktionieren: ''''Typoskript Blöcke: [ { id: "image", Etikett: "Bild", Wähle die Kompon...
Cartifon
Ich habe noch eine Frage: Würde das unstylable genauso funktionieren?
Cartifon
Hey @mcottret, danke für die Hilfe. Ja, damit funktioniert es! Vielleicht sollte die Dokumentation dazu klarer sein.
Version: 0.16.12 Kannst du den Fehler aus der Demo reproduzieren? [ ] Ja [x] Nein (es enthält kein benutzerdefiniertes RTE) Was ist das erwartete Verhalten? Bei Verwendung eines benutzerdefinierten RTE sollte der generierte / exportierte Code dem vom RTE generierten Code entsprechen Wie ist das aktuelle Verhalten? Der...
artf
Deine Lösung scheint richtig 👍 zu sein eine PR wäre wirklich hilfreich
React-pdf wird in den Dokumenten zitiert, aber ich sehe nirgendwo andere Hinweise darauf... Weiß jemand, ob jemals ein funktionierendes Projekt mit Grapesjs als PDF-Vorlagen-Builder erstellt wurde? Jede Info, wie man beides integrieren kann, wäre sehr willkommen =)
artf
Man kann benutzerdefinierte Komponenten erstellen und das Verhalten von React-PDF-Komponenten widerspiegeln (ähnlich wie wir es mit MJML gemacht haben), es geht also darum, zu verstehen, wie benutzerdefinierte Komponenten funktionieren.
Was versuchst du zu GrapesJS hinzuzufügen? Benutzerdefinierte Stile (wie Hintergrund) zu Elementen mit ID hinzufügen. Gibt es eine Alternative in der neuesten Version? [ ] Ja (beschreibe die Alternative) [X] Nein Hängt das mit einem Problem zusammen? [ ] Ja (Gib einen Link zum Thema) [X] Nein
artf
Der richtige Weg wäre folgender: '''js const compById = editor.getWrapper().find('#i9x9h')[0]; compById && compById.addStyle({ 'background-color': '...' }); ```
mcottret
Hallo @BerkeAras! Anscheinend ist es undokumentiert, aber 'Editor'. Components.allById()' könnte genau das sein, wonach du suchst, z.B.: ''''Typoskript Redakteur. Components.allById()['your-id'].set('style', {'background-color': 'red'}); `...
Die Ausgabe von "JSON.stringify(editor.getComponents())" zeigt, dass der src eines Bildes zweimal gespeichert wird. { "type": "image", "Leer": wahr, "Status": "ausgewählt", "Inhalt": "", "Attribute": { "id": "iy3c7", "src": "data:image/png; base64,..." <--- 1. }, "src": "data:image/png; base64,...", <--- 2. "activeOnR...
artf
@longdoan7421 Ich denke, wir können es in der 'toJSON'-Methode löschen, wenn das 'src' gleich 'attribute.src' ist und sicherstellen, dass es beim Laden korrekt wieder geladen wird.
longdoan7421
Hallo @artf, Ich habe gerade kurz durch 'ComponentImage' geschaut. Ich denke, es ist möglich, die Eigenschaft 'src' im Image Model zu entfernen und den Code, der 'src' verwendet, in 'ComponentImage' und 'ComponentImageView' durch das 'attr...