GrapesJS-Version [X] Ich bestätige, die neueste Version von GrapesJS zu verwenden Welchen Browser benutzt du? Chrome Neue Version Reproduzierbarer Demo-Link https://codesandbox.io/s/react-redux-toolkit-application-forked-l5rhp?file=/src/pages/Editor.js Beschreibe den Käfer Wie reproduziert man den Bug?Das Video vom Bl...
Thron1986
@artf kannst du mir bitte dabei helfen?
artf
Das Problem liegt hier '''js editor.on("component:create", (model) => { if (model.get("type") === "video") { setAddVideo (falsch); console.log("Video URL.", videos.videoUrl); Redakteur. Commands.run("open-assets", { target: editor.getSelec...
Thron1986
> Das Problem liegt hier> '''js> editor.on("component:create", (model) => {> if (model.get("type") === "video") {> setAddVideo(false);> console.log("Video URL.", videos.videoUrl);> Herausgeber. Commands.run("open-assets", {> // Ziel: edito...
Ich arbeite an einem Skript, das auf allen Komponententypen eine Eigenschaft hinzufügt, aber der Kommentartyp enthält kein Prototyp-Objekt. Code '''js ddw = Editor. DomComponents.getTypes(); für (sei i = 0; i < ddw.length; i++) { ddq = ddw[i].id; Redakteur. DomComponents.addType(ddq, { Model: Editor. DomComponents.get...
aliibrahim123
@artf
artf
Verwende nicht 'model.extend'/'view.extend', die sind Teil der alten API. Dies ist ein Beispiel dafür, wie Traits auf allen Komponenten richtig verlängert werden '''js const { Komponenten } = Editor; Components.getTypes().forEach({ id, mod...
Skru
Das ist eine großartige Lösung, artf. Habt ihr Tipps, wie man sie für Komponenten verwendet, die Eigenschaften in einer Funktion haben?, laut der Dokumentation: https://grapesjs.com/docs/modules/Traits.html#add-traits-to-components
Version: 0.17.25 Kannst du den Fehler aus der Demo reproduzieren?[ ] Ja[x] Nein Was ist das erwartete Verhalten? Aktualisieren Sie eine bestehende Typtextkomponente, indem Sie ein Ereignis zu seiner Ansicht hinzufügen. Beschreibe den Bug detailliert Das Ereignis wird hinzugefügt, aber sobald ich eine andere Komponente...
gustavohleal
Das war tatsächlich das Problem. Danke für die Antwort. Ich werde die Ausgabe schließen.
Ronaldohoch
+1 :D Wir versuchen, dieses Problem https://github.com/artf/grapesjs/issues/1136 zu lösen Weil es immer noch passiert, wenn ich einen CKEDITOR benutze. ! Bild
artf
Die 'Events' werden nicht automatisch mit der erweiterten Komponente zusammengeführt, du musst das also manuell machen. '''js Ereignisse: { ... domc.getType('text').view.prototype.events, Tastendruck: (e) => {...} } ```
Ich versuche, eine bestehende Vorlage zu laden. Ich glaube, es sollte entweder mit Komponenten oder HTML funktionieren, aber es scheint nur über HTML zu funktionieren. Der folgende Code funktioniert nicht, aber Code mit dem entsprechenden HTML schon. Das LandingPage-Json wurde aus dem Entwickler-Werkzeugleisten-Panel...
artf
@Vikash-ra befolgen Sie bitte die Issue-Vorlage, wenn Sie eine erstellen.
GJSBlock
Danke, dass du das gemeldet hast, @Vikash-ra. Danke, dass du deinen Bericht über Vorlage lädt nicht nur mit Komponenten geteilt hast. Um dem Team bei der Untersuchung und Priorisierung zu helfen: Bitte stellen Sie bereit: Ein minimal repro...
Diskutiert in https://github.com/artf/grapesjs/discussions/3711 <div type='discussions-op-text'> <sup>Ursprünglich veröffentlicht von ltenti am 17. August 2021</sup> Hallo zusammen, Ich frage mich, wie ich mit so einem Szenario umgehen kann:Ich muss den Nutzern meiner Anwendung erlauben, eine Webseite zu bearbeitenDie...
Danke, dass du das gemeldet hast, @ltenti. Toller Vorschlag zu Teilparse! Auch wenn diese spezielle Funktion noch nicht in der Kern-API enthalten ist, gibt es mehrere Möglichkeiten, ähnliches Verhalten zu erreichen. Verwendung des Ereignis...
Ich habe dieses Dokument https://grapesjs.com/docs/modules/Components.html#define-custom-component-type gelesen und versucht, folgenden Code zu schreiben. Ich möchte, dass 'mj-body' unmöglich zu löschen ist: Aber ich sehe keinen Effekt, bitte helft mir
artf
Mach das 'isComponent: el => (el.tagName || '').toLowerCase() === 'mj-body','
GJSBlock
Danke, dass du das gemeldet hast, @mingxin-yang. Tolle Frage zu Wie man ein Bauteil anpasst. Der empfohlene Ansatz mit StyleManager ist die Nutzung der ereignisgesteuerten API. Fang hier an: Überprüfen Sie die GrapesJS-Dokumentation für Ih...
Hallo, @artf Wie ich gelesen habe, erlaubt allowScripts:1, dass grapesjs Skripte laden. Wenn ich eine LandingPage zum ersten Mal lade, funktioniert sie einwandfrei. Es lädt komplett JavaScript. Danach benutze ich editor.setComponents(html) oder pageManager.select(pageId) für denselben HTML-String wie LandingPage . Jav...
GJSBlock
Danke, dass du das gemeldet hast, @NoumanAhmad-Braqsol. Toller Vorschlag zu [QUESTIONS] editor.setComponents(html) und pageManager.select(pageId) laden keine js-Skripte! Auch wenn diese spezielle Funktion noch nicht in der Kern-API enthalt...
Hallo! @artf, danke für deine großartige Arbeit! Ich folge dem https://grapesjs.com/docs/modules/Components-js.html#passing-properties-to-scripts,but, wenn ich den Wert auswähle. Das Skript wurde nicht ausgeführt. Ich freue mich auf einige Vorschläge, vielen Dank! ''''javascript Export-Standardfunktion (Editor, opt =...
artf
Hier scheint alles richtig zu funktionieren: https://jsfiddle.net/rp7wa58h/ Jedenfalls brauchst du die 'View' nicht, wenn du sie nicht benutzt, und das Gleiche gilt für 'isComponent' (das in deinem Beispiel falsch geschrieben und an der fa...
GJSBlock
Danke, dass du das gemeldet hast, @momu-2016. Danke, dass du deinen Bericht über Skript-Requisiten ist ungültig geteilt hast. Um dem Team bei der Untersuchung und Priorisierung zu helfen: Bitte stellen Sie bereit: Ein minimal reproduzierba...
'''javascript const duplicatePage = (Editor) => { let components = editor.getHtml(); let css = editor.getCss(); let newPage = Editor. Pages.add({ Stile: CSS, Komponente: Komponenten, }); Redakteur. Pages.select (newPage); }; ``` So sieht meine Funktion aus. Ich versuche, die Seite zu duplizieren, der HTML-Teil ist in...
OrigoVl
@sanchit36 Hallo, löst ihr das Problem? Kannst du sagen, wie?
init() { this.listenTo(this.model,'change:components', this.handleComponentsChange); }, Ich entwickle eine Komponente, versuche mir die Änderungen der Kinderkomponenten zuzuhören, dann füge ich oben oben den Code hinzu, um Init anzuzeigen, aber die Funktion wird beim Hinzufügen/Entfernen der Komponente nicht ausgelöst...
DM-Siegel
ich konnte das auch nicht zum Laufen bringen. Fehler zum Lesen von Components() beim Setzen des ListenTo. Das Tag ist leer (kein Inhalt darin) auf init, daher ergibt das Sinn. Vergiss es... Ich habe das im Init des Modells gemacht statt in...
Anlumo
Die Komponentensammlung ändert sich nicht, deshalb wird kein Ereignis ausgelöst. Das Speicher-Backend ist eine Backbone-Sammlung, siehe hier. Man muss auf seine Ereignisse hören, insbesondere auf 'hinzufügen' und 'entfernen'.
artf
Wie Andreas bereits erwähnt hat, muss man der Sammlung einen Hörer hinzufügen. '''js init() { const Children = this.model.components(); this.listenTo(children, 'add remove', this.handleComponentsChange); }, ```