ExtJS: Как загрузить дополнительный скрипт на конкретный компонент `Window`? - PullRequest
0 голосов
/ 08 сентября 2018

Я пытаюсь создать Window, который покажет AddToAny кнопки общего доступа . Мне нужно установить AddToAny требуется script в этом окне. У меня Google похожий вопрос в кнопках социальных сетей.

  • Я узнал, что Mashup класс может работать. Я создал mixin класс, но, к сожалению, это не работает.
  • Также сохранил связанную библиотеку JS в файлах проекта и попытался вызвать ее через html config, но это тоже не работает.

Как мне достичь своей цели?

//Here is related function. 
onMoreShare: function () {
        new Ext.window.Window({
            // requires: ['MyApp.mixins.ShareApps'], //Tried to load JS file to Window
            title: 'More...',
            autoShow: true,
            modal: true,
            padding: 20,
            html: '<a class="a2a_dd" href="https://www.addtoany.com/share"><img src="https://static.addtoany.com/buttons/share_save_171_16.png" width="171" height="16" border="0" alt="Share"></a>\n' +
            // Mixin didn't work; tried original code...
            // '<script async src="https://static.addtoany.com/menu/page.js"></script>\n' +
            // Mixin didn't work; tried to call js file through project
            //'<script type="text/javascript" src="../../../resources/js/addToAny.js"></script>\n'
        });
    }

//Created this `Mashup` based class to load related JS file.
Ext.define('MyApp.mixins.ShareApps', {
    mixins: ['Ext.mixin.Mashup'],

    requiredScripts: [
        '//static.addtoany.com/menu/page.js'
    ]
});

1 Ответ

0 голосов
/ 10 сентября 2018

Взгляните на эту скрипку:

FIDDLE

Ext.application({
    name : 'Fiddle',

    launch : function() {
        Ext.widget('window', {
            width: 300,
            height: 250,
            padding: 5,
            title: 'Hello World',
            html: '<div class="a2a_kit a2a_kit_size_32 a2a_default_style"> '+
                  '<a class="a2a_dd" href="https://www.addtoany.com/share"></a> '+
                  '<a class="a2a_button_facebook"></a> '+
                  '<a class="a2a_button_twitter"></a> '+
                  '<a class="a2a_button_google_plus"></a> '+
                  '</div>'
        }).show();
    }
});

Страница указателя:

<html>
    <head>
        <script async src="https://static.addtoany.com/menu/page.js"></script>
    </head>
</html>
...