Hallo, ich habe eine Frage: Wenn ich eine benutzerdefinierte Typkomponente aus dem Editor erstelle, was wäre der nächste Schritt, um diese Komponente in meiner Anwendung anzuzeigen? Derzeit speichere ich die Komponentendaten in Firebase mit dem firestore-Plugin, die im Objekt gespeicherten Attribute sind die folgenden...
Ju99ernaut
'onRender' gibt einfach an, was passieren soll, wenn du eine Komponente erfolgreich auf die Leinwand legst, während 'script' Code ist, der in deinem HTML innerhalb der 'script'-Tags generiert wird. So etwas wie: '''html <script> //... var...
Ju99ernaut
Ich denke, in einer Produktionsumgebung braucht man nur den HTML- und CSS-Code, der von 'grapesjs' generiert wird.
robertraf
Ich verstehe diesen Teil, aber wenn ich die von mir erstellte Komponente rendern will, funktioniert das nicht. Ich erkläre das ein wenig: Ich habe eine Art Komponente erstellt, die Daten von einem Endpunkt rendert; wenn ich HTML- und CSS-C...
Ich recherchiere, wie man eine Vorlage mit serverseitigen Ausdrücken erstellt, die eine Komponente ('foreach') wiederholt oder komplett entfernt ('if'). Mein Backend parst Vorlagen mit mvel. Was ich vorhabe, ist, ein paar Einstellungen für alle oder einige ausgewählte Elemente hinzuzufügen. Zum Beispiel auf ein '<div>...
Ju99ernaut
Um ein Element zu umgeben, schau dir 'toHtml' an, du kannst es in den Themen nach Beispielen suchen. Jedenfalls halte ich es nicht für eine gute Idee, den Standardkomponententyp zu ersetzen, ich würde vorschlagen, eine neue Komponente zu e...
Fedd
Die Dokumentation zu den Komponenten könnte hilfreich sein Ich habe meinen Code basierend auf diesem Artikel geschrieben. Dort steht:Das Aktualisieren von Komponententypen ist ziemlich einfach, mal sehen, wie: .... Die Eigenschaft 'Default...
artf
@fedd kannst du deine neuen Eigenschaften in der Funktion 'model.init' hinzufügen
BeschreibungDer Fehler wird in der aktuellen Demo wiederholt Erwartetes Verhalten Wenn ein Tooltip entfernt wird, wird sein CSS entfernt Was passiert stattdessen? Wenn ein Tooltip entfernt wird, wird sein CSS nicht entfernt Schritte zur Reproduktion in der Demo Räumt die Leinwand weg Einen Tooltip ziehen Entfernen Sie...
artf
Ja, ich denke, du hast recht, wahrscheinlich ersetzen wir '''js beruht auf der Aussicht const len = dc.getWrapper().find('[data-gjs-type="${type}"]').length; könnte das Problem lösen, möchtest du das überprüfen und eine PR erstellen? :)
meyerco
@artf Vielleicht dieser Code, um den Code generisch zu halten? '''js basiert auf dem Modell const len = dc.getWrapper().findType(type).length; ```
artf
@meyerco 😅 Ja, klar, sorry, es war ein Copy-Paste von meinem Versuch
Ich arbeite derzeit an einer Webanwendung, für die wir dieses Projekt als GUI-Editor integrieren, um die Umgebungen anzupassen. Unsere GUI-Komponenten werden aus der Datenbank geladen und analysiert. Wir können z. B. einen Knopf, ein Datenraster usw. anhand einer ID identifizieren (z. B. '17190fbd-13d6-430f-bb32-1a09d...
dintifla
Ein kurzes Update: Ich habe es geschafft, die Selektoren in der richtigen Reihenfolge zu bekommen, indem ich 'selectors.unshift(idSelector)' statt 'selectors.add(idSelector)' im obigen Beispiel verwendet habe. Jetzt habe ich immer noch das...
artf
Hallo, @dintifla SelectorManager ist nicht dafür gedacht, so zu funktionieren (man kann nur eine Mischung aus Klassen '.class1.class2' haben, aber nicht mit IDs), aber ehrlich gesagt verstehe ich überhaupt nicht, was dein Ziel mit der Nutz...
dintifla
Hallo @artf Danke für deine Antwort. Letztlich geht es nicht nur darum, eine Komponente abzufragen, sondern auch das CSS dafür zu generieren. Ich brauche das HTML nicht, da meine Anwendung in einer Rich-Client-Anwendung entworfen ist, in e...
Hallo, Ich möchte den Bildtyp mit einigen Optionen erweitern, insbesondere mit einer Umleitungsoption beim Klicken. Ich habe diese Lösung nach der Editor-Initialisierung ausprobiert (ich habe betont, dass ich in voller JavaScript- und nicht-Node.js-Umgebung arbeite): Redakteur. DomComponents.addType('image', { isCompo...
Lerdouille
Hallo nochmal, Hier ist die endgültige Lösung, um ein HREF-Bild zu erstellen: '''js Redakteur. DomComponents.addType('imagelink', { model: { Standardwerte: { TagName: 'div', größenverstellbar: {keepAutoHeight: true}, Droppbar: Falsch, Eige...
felipesotero
Ich habe dasselbe Bedürfnis in meinem Projekt. Ich habe versucht, einen Block zu erstellen, aber ich konnte das anfängliche Popup nicht zum "Pop" bringen. Ich habe versucht, eine Komponente mit einem Plugin zu erstellen, aber es ist so vie...
artf
Du hast diesen Listener 'change:url' hinzugefügt, aber der Name des Merkmals ist 'name: 'href'', also ändere ihn einfach mit 'change:href'.
Guten Morgen, bitte, ich brauche Hilfe beim Erstellen von Vorlagen und dann beim Laden der Vorlagen, ich kann wirklich nichts machen, ich möchte in der Lage sein, Vorlagen zu speichern und später zu laden, ich habe es tagelang nicht versucht, ich bin neu im Programmieren, habe alles genau befolgt, und das Einzige, was...
Ju99ernaut
Mindestens brauchst du Befehle, um die Vorlagen zu speichern und ein Modal zu öffnen, das die gespeicherten Vorlagen anzeigt, sowie um das Laden einer Vorlage im Editor zu ermöglichen. Um eine Vorlage mit lokalem Speicher zu speichern, kan...
Immer wenn ich versuche, mehrere Eigenschaften des Typtexts mit allen möglichen Bedingungen und auf unterschiedlichen Tags/Attributen hinzuzufügen, nimmt es bei jeder Eigenschaftsbedingung nur einen letzten. Bitte helft mir mit der Lösung. Unten ist der Code aufgeführt Redakteur. DomComponents.addType('text', { isComp...
amitbhoj777
Habe die Lösung. Wir müssen den Typtext in Traits erweitern. Danke. Redakteur. DomComponents.addType('paraJustify', { isComponent: el => ((el.attributes && el.attributes.paraJustify & el.attributes.paraJustify.value)), Erweitern: 'Text', m...
Hallo Ich habe versucht, Grapesjs auf den VisualSource-Seiten zu verwenden. Im Folgenden folgt die init-Funktion – 'initEditor: function(){ var self = das; this.editor = grapesjs.init({ Container: '#gjs', fromElement: true, Größe: '500px', Breite: 'Auto', storageManager: false, Panels: { Standardeinstellungen: [] }, b...
artf
Bitte erstelle eine reproduzierbare Demo
Keine Antwort[Bot]
Diese Angelegenheit wurde automatisch geschlossen, da auf unsere Anfrage nach weiteren Informationen vom ursprünglichen Autor keine Antwort erhalten wurde. Mit nur den aktuellen Informationen in der Ausgabe haben wir nicht genug Informatio...
Ich gebe JSON folgend an 'Editor' weiter. BlockManager.add()', um meinen Block zu definieren, dessen Inhalte vom Server zu laden und das Select-Type-Merkmal namens 'defaultCategory' auf dieselbe Weise auszufüllen. Alles funktioniert gut. Jetzt muss ich das 'onchange'-Ereignis dieses Select anhören und dort ein JS ausf...
Hallo! Danke für deine Arbeit, @artf. Das ist ein vereinfachter Code, wie ich Grapesjs verwende, ich möchte die Styles speichern und sie dann erneut anwenden. Das Problem ist, dass sich die IDs in DOM bereits nach dem ersten Aufruf von 'container.components()' geändert haben, sodass keine Styles angewendet werden. Wie...
Pouyamiralayi
Hallo @nikita-balakirev, schau, ob #2706 Kommentar dir helfen kann. Prost!
Geist
Ich habe es jetzt mit 'editor' behoben. DomComponents.componentsById = {};' aber ich denke, es kann irgendwann zu Kollisionen zwischen den Blöcken führen Was denkst du?
artf
Tut mir leid, dass @nikita-Balakirev Ihnen hier nicht helfen kann, ohne ein vollständiges, reproduzierbares Beispiel zu haben. Wenn du Komponenten als JSON exportierst, werden alle IDs erhalten und wiederverwendet, wenn sie korrekt geladen...