FIX: call method only if it exists
discourse-objects creating empty Discourse object in window. It fails the _registerPluginCode method call since it is not exist.
This commit is contained in:
parent
10fbb07e1a
commit
59e5af466b
|
@ -63,7 +63,7 @@ class ThemeField < ActiveRecord::Base
|
|||
def transpile(es6_source, version)
|
||||
template = Tilt::ES6ModuleTranspilerTemplate.new {}
|
||||
wrapped = <<PLUGIN_API_JS
|
||||
if ('Discourse' in window) {
|
||||
if ('Discourse' in window && typeof Discourse._registerPluginCode === 'function') {
|
||||
Discourse._registerPluginCode('#{version}', api => {
|
||||
#{settings(es6_source)}
|
||||
#{es6_source}
|
||||
|
|
|
@ -326,7 +326,7 @@ HTML
|
|||
theme.save!
|
||||
|
||||
transpiled = <<~HTML
|
||||
if ('Discourse' in window) {
|
||||
if ('Discourse' in window && typeof Discourse._registerPluginCode === 'function') {
|
||||
Discourse._registerPluginCode('1.0', function (api) {
|
||||
var settings = { "name": "bob" };
|
||||
alert(settings.name);var a = function a() {};
|
||||
|
@ -342,7 +342,7 @@ HTML
|
|||
setting.value = 'bill'
|
||||
|
||||
transpiled = <<~HTML
|
||||
if ('Discourse' in window) {
|
||||
if ('Discourse' in window && typeof Discourse._registerPluginCode === 'function') {
|
||||
Discourse._registerPluginCode('1.0', function (api) {
|
||||
var settings = { "name": "bill" };
|
||||
alert(settings.name);var a = function a() {};
|
||||
|
|
Loading…
Reference in New Issue