typography sector not found
Question
When using trying to add a font to the style manager, I use the following code:
const prop = editor.StyleManager.getProperty('typography', 'font-family'); prop.set('options', [ {value: "'Oswald', sans-serif", name: 'Oswald'}, ... ]);
However, when I use this inside a plugin (in the index.js) I am creating, I call it with editor.on('load',....) I keep getting 'typography' sector not found. However if I call it outside of the plugin (in the index.html) in the same way, where I am initializing the editor with all the configs, it works. So I was wondering, can we not add new fronts in a plugin so that they are automatically packaged with that plugin? and if not, why? If it is possible, please let me know how I can achieve this.
P.S. Thank you so much for all the time/work you've put in to building this project!
Answers (3)
Hi @tasham16 !
I think this is expected behaviour because modules are loaded after plugins in the editor's initialization sequence, & sectors are only added to the StyleManager module right after it has been loaded.
I don't know if this is a very clean way of achieving it, but without a better solution you could try overriding the StyleManager's onLoad method from your plugin to execute its logic at right moment like this following:
const onLoad = editor.StyleManager.onLoad;
editor.StyleManager.onLoad = () => {
onLoad();
this.getProperty('typography', 'font-family').set('options', [ /* ... */ ]);
}
I'm sorry I didn't have the time to test this, hope it can help though.
Cheers !
Thank you so much! I will try that out!
The right way is to wait for the load of the editor
editor.on('load' => {
const prop = editor.StyleManager...
})
Related Questions and Answers
Continue research with similar issue discussions.
Issue #2823
i have used this method to load fonts , working fine in chrome but showing original fonts list in safari
editor.on('load', function () { styleManager = editor.StyleManager; fontProperty = styleManager.getProperty('Typography', 'font-family'); v...
Issue #2458
[Question] Setting of default value for css property in StyleManager config does not affect style of new added block?
I have a question. When css property is added to StyleManager configuration, for example I added color and set defaults to green (just for...
Issue #2586
[Question]: How update style manager panel using few devices and custom css class
There is a custom class added to simple grapesjs project: If there is no devices and user adds the class into the selectors field Settings...
Issue #2934
BUG: Changing the font inside top panel is disturbing the font-awesome icons
Hello, I am using Montserrat google font. Ater trying so many things, finally I was able to set the font using following way: .gjs-pn-butto...
Paid Plugins That Match This Issue
Curated by issue keywords and label relevance to help you ship faster.
Loading paid plugin recommendations...
Browse Plugin Categories
Jump directly to plugin category pages on the marketplace.