Beschreibung Ich möchte einen neuen Komponententyp für die Handhabung interaktiver Diagramme anfordern. Anwendungsfall Erstellung von Datenvisualisierungen im Page Builder Unterstützung dynamischer Chart-Updates Integration mit bestehenden Datenquellen Erwartetes Verhalten Die Komponente sollte: Unterstützung mehrerer...
artf
Hallo @brighterfrog wir verwenden GH Issues nur für Bug-Reports. Bitte überprüfen Sie diese, um zu verstehen, wie wir Feature-Anfragen und Plugins verwalten: Roadmap-Prozess Plugin-Vorschlagsprozess Zur Info: Hier findest du vielleicht sch...
GJS Helper
GrapesJS ist hochgradig erweiterbar und ermöglicht es Ihnen, benutzerdefinierte Komponententypen zu definieren, um spezifische Anforderungen zu erfüllen, wie zum Beispiel interaktive Diagramme. Dies beinhaltet die Definition eines neuen Ko...
GrapesJS-Version [X] Ich bestätige, die neueste Version von GrapesJS zu verwenden Welchen Browser benutzt du? Firefox Reproduzierbarer Demo-Link https://jsfiddle.net/9aj630x7/ Beschreibe den Käfer Wie reproduziert man den Bug?Erstelle ein Elementsetze das Attribut data-gjs-traits auf einen beliebigen Standard-Merkmals...
artf
Du solltest korrekt parsbare JSON-Strings verwenden, z. B. 'data-gjs-traits='["id"]'', 'data-gjs-traits="[]"'
GJSBlock
Danke, dass du das gemeldet hast, @edenizk. Gute Frage zu Kann keine Eigenschaften in Attribute setzen. Der empfohlene Ansatz bei GrapesJS ist die Nutzung der ereignisgesteuerten API. Fang hier an: Überprüfen Sie die GrapesJS-Dokumentation...
GrapesJS-Version [X] Ich bestätige, die neueste Version von GrapesJS zu verwenden Welchen Browser benutzt du? Chrome v93 Reproduzierbarer Demo-Link https://codepen.io/damnslow/pen/yLXXOxQ Beschreibe den Käfer Wie reproduziert man den Bug?Wählen Sie beide Elemente ausZiehen mit dem Zug-Symbol Was ist das erwartete Verh...
artf
Absolute Positioning hat derzeit mehr als ein Problem, und ich möchte sie hier alle ansprechen:[ ] Falsche Position auf einem anderen Gerät[ ] Falsche Position auf einer verzogenen/gepannten Leinwand[ ] Falsche Position für Kinder der abso...
itscarlosrufo
Hallo zusammen, Vielen Dank für das Feedback und die ausführliche Diskussion. Wir freuen uns, mitteilen zu können, dass wir einige der gewünschten Funktionen angesprochen haben. Außerdem haben wir ein neues Absolute-Mode-Plugin eingeführt,...
fmfeit
Hallo @artf, diese Funktion ist für mein aktuelles Projekt entscheidend, daher habe ich zwei Fragen: Ist es möglich, Sie (oder jemand anderes) dafür zu bezahlen, diese Funktion zu priorisieren? Falls nicht, können Sie die notwendigen Schri...
WARNUNG LIES und FOLGE den nächsten 3 Schritten, dann ENTFERNE SIE vor dem Posten des ProblemsBefolgen Sie die BEITRAGENDEN Richtlinien https://github.com/artf/grapesjs/blob/master/CONTRIBUTING.mdMach zuerst eine schnelle SUCHE, um zu sehen, ob jemand anderes das gleiche Problem nicht geöffnet hatAlle zugehörigen Auss...
artf
Ich bin mir nicht sicher, ob ich dein Problem verstehe, wie bewegt/skaliert man genau die Leinwand? das ist nicht zusammenhängend, aber gibt es eine Funktion, mit der man den Inhalt zoomen kann, nicht die Leinwand? Wenn ich es also skalier...
Anatoli-DP
Ich skaliere es mit dem Editor. Canvas.setZoom verwenden und mit der Leertaste verschieben. Im Moment habe ich entfernt, was ich gemacht habe, aber es war so etwas wie das Leinwand-Element zu bekommen und es einfach mit einem Stil-Update z...
artf
Wenn Sie von den bewegten Koordinaten sprechen, haben wir dafür noch keine direkte API, aber Sie können sie tatsächlich auf folgende Weise erhalten oder aktualisieren: '''js const canvasModel = Editor. Canvas.getModel(); Werte erhalten con...
Eine Sache, die meiner Meinung nach großartige Funktionen hinzufügen würde, ist ein detaillierterer Geschichts-Stack. Man kann den Rückgängig-Stack herunterladen und daraus eine Art Geschichtsbericht aller vorgenommenen Änderungen erstellen, aber es ist etwas unklar, was jede Bearbeitung war (zumindest für mich, also...
artf
Hallo @anatoli-dp, die Möglichkeit, die Rückgängigkeitshistorie anzuzeigen, wäre wirklich super cool, und ich habe schon darüber nachgedacht, wie ich das UndoManager-Modul erweitern könnte, um diese Art von Funktionalität über ein Plugin z...
Anatoli-DP
Ja, ich weiß, wie man auf den Stack zugehegt, ich weiß nur nicht, wie ich ihn interpretieren soll, um dem Endnutzer eine aussagekräftigere Beschreibung zu geben
artf
ich weiß einfach nicht, wie ich es interpretieren soll, um dem Endnutzer eine aussagekräftigere Beschreibung zu geben Jede UndoAction (jede Instanz des Stacks) zeigt dir den Aktionstyp (z. B. 'hinzufügen', 'entfernen', 'zurücksetzen', 'änd...
Was versuchst du zu GrapesJS hinzuzufügen? Ich habe eine alternative Textbearbeitungskomponente implementiert (nicht auf RTE basierend). Ich möchte, dass die Leute Text in dieser Komponente per Drag auswählen können. Beschreibe deine Feature-Anfrage detailliert Das Problem ist, dass die Drag-Auswahl auch das Ziehen de...
Würde das nicht jegliches Ziehen deaktivieren, selbst aus der Symbolleiste und dem Layer-Manager?
Anlumo
Ich habe es gerade getestet, ein weiteres Problem ist, dass der Drag-Vorgang das Ereignis immer noch verbraucht, es wird nur die Komponente deaktiviert.
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...
Was versuchst du zu GrapesJS hinzuzufügen? Die Komponente sollte sich als schmutzig markieren können, was die Warnmeldung "onbeforeunload" auslöst. Beschreibe deine Feature-Anfrage detailliert Ich habe eine (benutzerdefinierte) Textkomponente, in der der Nutzer beliebigen Text eingeben kann. Ich speichere die Daten au...
Anlumo
Ich habe das umgangen, indem ich das OnbeforeUnload-Handling komplett deaktiviert und mein eigenes Handling gerollt habe.
artf
Der Editor hat die Eigenschaft 'Editing', die sich ändert, sobald RTE aktiviert oder deaktiviert ist, also sollte das in deinem Fall funktionieren '''js editor.on('change:editing', (em, editing) => { window.onbeforeunload = bearbeiten || e...
Anlumo
Würde dieser OnbeforeUnload-Handler nicht danach durch den oben genannten Ausschnitt überschrieben werden?
WARNUNG LIES und FOLGE den nächsten 3 Schritten, dann ENTFERNE SIE vor dem Posten des ProblemsBefolgen Sie die BEITRAGENDEN Richtlinien https://github.com/artf/grapesjs/blob/master/CONTRIBUTING.mdMach zuerst eine schnelle SUCHE, um zu sehen, ob jemand anderes das gleiche Problem nicht geöffnet hatAlle zugehörigen Auss...
GJSBlock
Danke, dass du das gemeldet hast, @divesham. Toller Vorschlag zu FEAT: FÜGE BENUTZERDEFINIERTE BLÖCKE (Z. B. IFRAME) HINZU UND PASSE SIE WIE EIN BILD AN, ALSO BEIM DOPPELKLICKEN, ÖFFNE DIE ASSET-OPTIONEN FÜR VIDEOLINK IM BENUTZERDEFINIERTE...
WARNUNG LIES und FOLGE den nächsten 3 Schritten, dann ENTFERNE SIE vor dem Posten des ProblemsBefolgen Sie die BEITRAGENDEN Richtlinien https://github.com/artf/grapesjs/blob/master/CONTRIBUTING.mdMach zuerst eine schnelle SUCHE, um zu sehen, ob jemand anderes das gleiche Problem nicht geöffnet hatAlle zugehörigen Auss...
Divesham
https://github.com/artf/grapesjs/issues/1381
GJSBlock
Danke, dass du das gemeldet hast, @divesham. Toller Vorschlag zu FEAT: Video läuft nicht! Auch wenn diese spezielle Funktion noch nicht in der Kern-API enthalten ist, gibt es mehrere Möglichkeiten, ähnliches Verhalten zu erreichen. Verwend...