Was versuchst du zu GrapesJS hinzuzufügen? Bessere Shadow-DOM-Unterstützung, die es Entwicklern ermöglicht, GrapesJS innerhalb eines Shadow-Elements zu rendern, ohne Elemente gezielt einfügen zu müssen, anstatt Selektoren in der Konfiguration zu verwenden. Beschreibe deine Feature-Anfrage detailliert Wenn derzeit Elem...
artf
Hallo @AStoker ich verstehe nicht, was das eigentliche Problem an deinem Beispiel ist (abgesehen davon, dass du GrapesJS-Stile nicht in deinem Schatten-Dom geladen hast). Wenn du Shadow Dom anhängst, kannst du natürlich diesen 'Container:...
AStoker
Das Problem ist, dass ich HTML-Elemente überall weitergeben muss und keine Selektoren verwenden kann. Das zu schreiben kann umständlich werden, da ich jetzt für jedes Panel, jedes Element, alles, was wir in GrapesJS einbinden, den Abfrages...
AStoker
Ich habe das JSFiddle aktualisiert, damit du sehen kannst, was wir tun müssen, um Styles innerhalb von Shadow DOM zu bekommen. Aber leider existiert das CSS, das von GrapesJS automatisch hinzugefügt wird, auf dem Körper und verschmutzt sow...
Um die mögliche Angriffsfläche zu verringern, wenn der Editor in "feindlichen" Umgebungen (z. B. in SaaS-Plattformen) verwendet wird, ist CSP-Unterstützung erforderlich. Das verhindert auch Probleme wie https://github.com/artf/grapesjs/issues/3082 Im Moment ist das einzige Problem, das effektive CSP-Regeln verhindert,...
artf
Okay, dann versuche ich, es für die nächste Version zu korrigieren.
artf
Mmm, ich bin mir nicht ganz sicher, wie ich das beheben kann, und was meinst du mit 'ist die Verwendung von neuer Funktion() im GrapesJS-Code', da es so etwas im Quellcode nicht gibt?
aimeos
Ich habe herausgefunden, dass es in den Dist-Dateien ist, weil underscore.js template()-Methode 'new Function()' verwendet. Ich denke, das wird es schwierig machen, diese Abhängigkeit zu ersetzen oder zu beseitigen, um einen CSP ohne 'unsa...
Ich habe einige Vorlagen, die mit v0.14.5 generiert wurden. Wie kann ich sie auf die neueste Version "upgraden"? Sie haben Klassen angeschlossen und ich sehe, dass die neueste Version keine Klassen mehr zu den Elementen hinzufügt. Kontext: Wir verwenden maßgeschneiderte Komponenten und einige Standardeinstellungen (z....
artf
Sie haben Klassen angehängt und ich sehe, dass die neueste Version keine Klassen mehr zu den Elementen hinzufügt. Ich bin mir nicht sicher, wovon du sprichst, Klassen sollten wie zuvor importiert werden.Kontext: Wir verwenden maßgeschneide...
ACIP
Hey, danke für die schnelle Antwort. Hier ist die von v0.14.5 generierte Vorlage https://jsonblob.com/535ae06f-d4f6-11eb-8bc1-415e99da64cb So sieht es https://ibb.co/Zz8qg2J Wir haben die Standardattribute und den Stil einiger benutzerdefi...
ACIP
Ich habe eine alte und neue Version für eine bestehende Vorlage eingerichtet: https://grapesjs-templates-upgrade.ciprianamariei.repl.co/0.14.5-old-template.html https://grapesjs-templates-upgrade.ciprianamariei.repl.co/0.16.45-old-template...
Version: 0.17.4 / Git Master Beschreibe den Bug detailliert FrameView verpackt hier Tastatur- und Mausereignisse neu: https://github.com/artf/grapesjs/blob/07061ae1307fedf2a3b9bd585ce0cb30f653f112/src/canvas/view/FrameView.js#L389-L399 Ich denke, der Grund hängt damit zusammen, iframe-Ereignisse auf Eltern-Frame-Ereig...
GJSBlock
Danke, dass du das gemeldet hast, @anlumo. Das Problem mit createCustomEvent behandelt Mausereignisse nicht korrekt scheint ein Rennbedingungs- oder Zustandsmanagement-Timingproblem zu sein. Dies passiert typischerweise, wenn sich Komponen...
Hallo zusammen! Ich habe ein Problem mit einer benutzerdefinierten Komponente. Ich wurde als modale Komponente erstellt, habe Attribut tabindex = -1 und kann diese Komponente nicht mit Strg + C kopieren. Bitte helft mir. Vielen Dank !!
artf
Entfernen Sie dieses Attribut einfach in Ihrer Komponentenansicht (z. B. in der onRender-Methode), so erhalten Sie das Attribut weiterhin in Ihrem finalen HTML
GJSBlock
Danke, dass du das gemeldet hast, @tannguyen97. Danke, dass du deinen Bericht geteilt hast über kann nicht mit "Control + C" kopieren, wenn Elemente Attribute tabindex = -1 haben. Um dem Team bei der Untersuchung und Priorisierung zu helfe...
Version: 0.17.4Kannst du den Fehler aus der Demo reproduzieren? JAWas ist das erwartete Verhalten? Beim Ziehen der Blöcke sollte die Reihenfolge erhalten bleiben.Wie ist das aktuelle Verhalten? Beim Ziehen nach oben oder über die Blöcke geht es in einer Reihenfolge. Beim Ziehen nach unten oder unterhalb der Blöcke geh...
lexoyo
Hallo Ich versuche, diesen Fehler zu beheben Das ist eher eine Übung für mich, um mich in den Grapesjs Code einzutauchen, sag mir, ob ich meine Zeit verliere oder ob es nützlich klingt
GJSBlock
Danke, dass du das gemeldet hast, @japo32. Das Problem mit Das Ziehen mehrerer Blöcke kehrt die Reihenfolge scheint ein Rennbedingungs- oder Zustandsmanagement-Timingproblem zu sein. Dies passiert typischerweise, wenn sich Komponenten-Lebe...
Wir möchten eine benutzerdefinierte Werkzeugleiste zur Bildkomponente hinzufügen, die auf der linken Seite angezeigt wird (ähnlich wie bei der Textkomponente). Bitte lasst mich wissen, wie ich das machen kann. Wir möchten auch verschiedene benutzerdefinierte Werkzeugleisten für benutzerdefinierte Komponenten hinzufüge...
artf
Überprüfe die Eigenschaft 'Toolbar' in der Components API-Referenz und versuche, in Issues nach etwas Verwandtem zu suchen
GJSBlock
Danke, dass du das gemeldet hast, @ankx06. Gute Frage zu Wie kann ich die benutzerdefinierte linke Symbolleiste für die Bildkomponente ähnlich wie Text hinzufügen. Der empfohlene Ansatz bei Components ist die Nutzung der ereignisgesteuerte...
Hallo zusammen 👋 Ich liebe den Editor! Wir verwenden Traits, um die Klassen einer Komponente anzupassen, aber das wirkt etwas abgehackt, da man ALLE Klassennamen für jede Trait-Auswahl neu deklarieren muss Hier ein einfaches Beispiel: Jede Eigenschaftsoption muss alle Klassen definiert haben, denn sonst werden besteh...
Krishnaeverestengineering
@deiga wir machen so etwas wie das.
artf
Ich würde das Merkmal einer Komponenteneigenschaft anstelle des Class-Attributs zuordnen und basierend auf dem Wert richtig removeClass und addClass verwenden.
GJSBlock
Danke, dass du das gemeldet hast, @deiga. Tolle Frage zu [FRAGE] Was ist die idiomatische Art, Klassen aus Komponenten hinzuzufügen und zu entfernen?. Der empfohlene Ansatz bei Components ist die Nutzung der ereignisgesteuerten API. Fang h...
Ich benutze das Plugin grapesjs-blocks-bootstrap4 und integrierte grapesjs-lory-slider, es funktioniert beim ersten Mal, aber wenn ich es aus der Datenbank lade, verliert es die Schiebefunktion . Wo mache ich etwas falsch? Wenn er eingezogen wird, funktioniert er noch normal ! Bild Dann lade ich sie aus der Datenbank...
artf
Hallo @vuongluc ja, es könnte ein Problem sein, HTML/CSS auf diese Weise beim Bearbeiten zurückzuladen. Du solltest JSON-Daten speichern und laden, schau dir diesen Leitfaden an.
GJSBlock
Danke, dass du das gemeldet hast, @vuongluc. Toller Vorschlag zu grapesjs lory slider! Auch wenn diese spezielle Funktion noch nicht in der Kern-API enthalten ist, gibt es mehrere Möglichkeiten, ähnliches Verhalten zu erreichen. Verwendung...
Ich muss das JSON-Objektmodell der entworfenen Seite generieren, anstatt den HTML-, CSS- und JS-Code zu generieren. Gibt es eine Funktion, die das JSON-Objekt der entworfenen Seite zurückgibt? Außerdem implementiere ich den UI Builder in Angular, daher wird die Typescript-Version bevorzugt.
artf
Ich kann sehr empfehlen, die Dokumentationsseiten wie Components und [Storage Manager] zu lesen. ](https://grapesjs.com/docs/modules/Storage.html), wo all diese Teile abgedeckt sind.
GJSBlock
Danke, dass du das gemeldet hast, @ola-893. Tolle Frage zu FEAT: JSON Object Modell der generierten Seite. Der empfohlene Ansatz mit StyleManager ist die Nutzung der ereignisgesteuerten API. Fang hier an: Überprüfen Sie die GrapesJS-Dokume...