Hallo Leute, statt so im Init zu stylen... Es ist möglich, eine SCSS-Datei in Canvas zu verwenden? Leinwand { style:['FILE. SCSS'] } Oder einfach sauberer machen mit einem einzigen Init CSS? Danke! ' myComponent.append(<style> Körper { Hintergrund: RGB(204.204.204); } .footer { Position: absolut; Boden: 5 mm; Breite:...
artf
Du kannst canvasCSS-Option verwenden, wenn du keine Dateien verwenden möchtest.
devtechk
Vielen Dank! Diese Konfigurationsdatei wird mir sehr helfen!
GJSBlock
Danke, dass du das gemeldet hast, @devtechk. Tolle Frage zu Canvas Style CSS. Der empfohlene Ansatz mit StyleManager ist die Nutzung der ereignisgesteuerten API. Fang hier an: Überprüfen Sie die GrapesJS-Dokumentation für Ihr spezielles Mo...
Version: 0.16.44 Hallo! Ich habe Remote-Speicher für Seiten, und kürzlich hatte ich beim Speichern der Seite ein Problem: 'JSON.stringify(editor.getComponents())' zeigte den Fehler 'Uncaught TypeError: e[M].getId is not a function'. Ich habe die bereits gespeicherte JSON-Darstellung der Seite untersucht und festgestel...
yucomds
Gleicher Fehler hier ... Hast du eine Lösung? [BEARBEITUNG] Ein Downgrading scheint vorerst die einzige Lösung zu sein
josfh2005
Dasselbe Problem hier: Wenn ich die Komponenten vorverarbeiten und das Attribut (__symbol) vor dem Laden des Editors entferne, funktioniert die Vorlage einwandfrei. Gibt es eine Möglichkeit @artf, die Symbole vorerst zu deaktivieren?
artf
Ja, leider hatte die vorherige Version von grapesjs einen Bug, der Symbole unwillkürlich erzeugte. In der aktuellen Version ist der Fehler behoben und die Symbole deaktiviert, aber leider passiert das trotzdem, wenn man versucht, eine Komp...
Nvm Du musst Komponentenüberschreibung in die Plugins einbauen.
GJSBlock
Danke, dass du das gemeldet hast, @Andrew-Chen-Wang. Tolle Frage zu Wie aktualisiert man die Eigenschaften eingebauter Komponenten?. Der empfohlene Ansatz bei Components ist die Nutzung der ereignisgesteuerten API. Fang hier an: Überprüfen...
Was versuchst du zu GrapesJS hinzuzufügen? Unterstützung für Richtext-Editoren mit versprechensbasierten APIs. Beschreibe deine Feature-Anfrage detailliert Die Methoden 'Editor.create' und 'Editor.destroy' von CKEditor5 geben ein 'Promise' zurück, das aufgelöst wird, sobald der Editor vollständig erstellt oder zerstör...
artf
Ja, das macht Sinn, wahrscheinlich würde ich versuchen zu prüfen, ob es möglich ist, Methoden (aus ComponentTextView) standardmäßig asynchron zu machen, ohne etwas kaputt zu machen, aber zu prüfen, ob sie dann verfügbar sind, ist immer ein...
artf
Das sollte bereits möglich sein.
GJSBlock
Danke, dass du das gemeldet hast, @martijnc. Toller Vorschlag zu FEAT: Fügen Sie Unterstützung für Versprechen zur benutzerdefinierten RTE-API hinzu! Auch wenn diese spezielle Funktion noch nicht in der Kern-API enthalten ist, gibt es mehr...
Version: 0.16.34 Kannst du den Fehler aus der Demo reproduzieren? [ ] Ja [x ] Nein Soweit ich weiß, überspringt der Codeimport-Dialog alle HTML-Skripte, daher kann ich das Problem in der Demo nicht reproduzieren Was ist das erwartete Verhalten? Der Editor muss tote Skriptblöcke entfernen, bevor er am Ende des generier...
Ju99ernaut
Ich kann das nicht reproduzieren, vielleicht kannst du mehr Informationen zur benutzerdefinierten Komponente selbst geben, aber ich vermute, dass es ein speicherbedingtes Problem ist. Speicherst du und lädst dann Seiten aus dem generierten...
Andrew-Chen-Wang
Typischerweise kommen Inline-Skripte in den Text ganz unten. Versuch es vielleicht mal dort hineinzusetzen?
am1rb
Ich füge nichts alleine hinzu. Der Editor fügt die Skripte, die sich auf meine Komponenten beziehen, in einem neuen Skripttag am Ende des generierten HTMLs an. Bitte schauen Sie sich diese Datei an: https://github.com/artf/grapesjs/blob/de...
Version: 0.16.44 Hallo @artf Ich habe einen benutzerdefinierten Block mit einer benutzerdefinierten Button-Komponente, dessen Inhalt diesem ähnlich ist. ` <a data-gjs-type="custom_button" class="btn btn-1" href="">Klicken Sie hier</a>' Zusätzlich habe ich eine Texteigenschaft hinzugefügt, um den Button-Inhalt zu änder...
artf
Hallo Juan, danke für den Bericht, kannst du mir zeigen, wie dein Texttrait funktioniert? Ich würde erwarten, dass es korrekt funktioniert, wenn du dein Component so aktualisierst: 'component.components(e.target.value)'.
jcamejo
Das war meine Eigenschaft Ich habe es geändert zu Und jetzt funktioniert es, ohne Update-Inhalte zu überschreiben oder Kinder zu rendern, danke! Ich wäre niemals zu dem Schluss gekommen, die 'Komponenten'-Methode zu verwenden. Ich mag kein...
artf
Ich glaube nicht, dass du dieses eine 'target.set('content', value);' brauchst. Für den Rest ist alles gut 👍
Für Text, der oben auf der Seite steht, können Komponentenbeschriftungen sich überlappen und den Text beim Bearbeiten ausblenden. Außerdem kann das Label die Textbearbeitungswerkzeuge überlappen, wenn es nicht oben ist. Das Verstecken der Beschriftungen während der Textbearbeitung würde das vermeiden.
RutujaBadbe
Du kannst die Etiketten mit badgable : false ausblenden https://grapesjs.com/docs/api/components.html#parameters-3
GJSBlock
Danke, dass du das gemeldet hast, @neon12345. Danke, dass du deinen Bericht über FEAT: Komponentenbezeichnungen beim Textbearbeiten ausblenden geteilt hast. Um dem Team bei der Untersuchung und Priorisierung zu helfen: Bitte stellen Sie be...
Version: v0.16.41 Kannst du den Fehler aus der Demo reproduzieren? [ ] Ja [ ] Nein Was ist das erwartete Verhalten? Wenn wir einen Button mit der Eigenschaft data-gjs-draggable in false haben, sollte dieser Button nicht im Canvas gezogen werden. Beschreibe den Bug detailliert SchritteSetzen Sie eine Button-Komponente...
artf
Ich schätze, du machst etwas falsch, wie erstellst du diese Komponenten und ihre Eigenschaften? Du solltest diese Attribute nicht einmal im Inspektor sehen.
marcepoblet
@artf In unseren Codes haben wir nichts geändert. Der einzige Unterschied ist, dass wir die GrapesJs-Version aktualisieren. Früher hatte ich Version v0.16.18 und sie funktionierte korrekt, aber jetzt aktualisieren wir GrapesJs auf v0.16.41...
marcepoblet
Wir setzen die Eigenschaften mit Folgendem: editor.getSelected().attributes.attributes["data-gjs-editable"] = 'false' editor.getSelected().attributes.attributes["data-gjs-copyable"] = 'false' editor.getSelected().attributes.attributes["dat...
Ich bin Ihnen sehr dankbar für diese Bibliothek. Hintergrund: Ich baue einen Editor, bei dem ich die meisten Komponenten aus einem bestehenden Set von Vuejs-Komponenten definieren möchte, die ich zuvor entwickelt habe und in meinen Anwendungen verwende. Die meisten davon sind UI-basierte, einfache und komplexe Kompone...
Ju99ernaut
Ich bin mir nicht sicher, ob solche Haken pro Komponente existieren, aber du kannst versuchen, die Eigenschaft 'toHtml' einer Komponente zu nutzen. Es wurde schon anderswo besprochen, also sucht es in den Ausgaben, da es ziemlich viele gib...
artf
Ja, du kannst deine Komponenten mit einer benutzerdefinierten 'toHTML'/'toJSON'-Funktion (im Modell) definieren, um deren Ausgabe anzupassen
GJSBlock
Danke, dass du das gemeldet hast, @sudiptochoudhury. Das Problem mit Gibt es pro Komponente vor dem Speichern ein Ereignis, das die Komponente hören kann? scheint ein Rennbedingungs- oder Zustandsmanagement-Timingproblem zu sein. Dies pass...
Version: 0.16.41 Kannst du den Fehler aus der Demo reproduzieren? [X] Ja [ ] Nein Was ist das erwartete Verhalten? 1) Kopieren Sie ausgewählte übergeordnete Komponente (Container) auf die Zwischenablage. 2) Die ausgewählte übergeordnete Komponente (Container) aus der Zwischenablage (auf dieselbe Seite oder eine andere...
artf
Das liegt daran, dass du die ursprünglichen Befehle mit deinen Versionen (falsch) aktualisiert hast. Tatsächlich funktioniert alles, wenn ich dein Plugin aus der Demo entferne, wie erwartet. Bitte überprüfe den ursprünglichen Kopier-und-Ei...
artf
Überprüfe einfach die ursprünglichen Befehle https://github.com/artf/grapesjs/blob/dev/src/commands/view/CopyComponent.js https://github.com/artf/grapesjs/blob/dev/src/commands/view/PasteComponent.js
bgrand-ch
@artf Danke für deine Antwort. Ein Link, ein Beispiel oder weitere Erklärungen bitte? 😅