EnjoyHint кто-то ставил?

Привет. Есть https://xbsoftware.ru/produkty/enjoyhint/
Кто-то EnjoyHint ставил на КС?

Застрял тут Cannot read property ‘enjoyHintElementSelector’ of undefined
Это пробовал https://github.com/darron1217/enjoyhint.js/issues/8#issuecomment-675171679

В итоге получилась такая структура в отдельном модуле

1 лайк

Спасибо, интересно

1 лайк

Раз полезно, тогда уточню

  1. habb_js.php - пишет в бд, что урок просмотрен ; Редиректит если надо ещё раз посмотреть.
  2. шрифт так подключил
    @font-face {
    font-family: “casino_handregular”;
    src:url(‘…/css/addons/habb_javascripts/fonts/casino_hand-webfont.eot?#iefix’);
    src:url(‘…/css/addons/habb_javascripts/fonts/casino_hand-webfont.eot?#iefix’) format(“embedded-opentype”),
    url(‘…/css/addons/habb_javascripts/fonts/casino_hand-webfont.woff’) format(“woff”),
    url(‘…/css/addons/habb_javascripts/fonts/casino_hand-webfont.ttf’) format(“truetype”),
    url(‘…/css/addons/habb_javascripts/fonts/casino_hand-webfont.svg#casino_handregular’) format(“svg”);
    font-weight: normal;
    font-style: normal;
    }
  3. design/backend/templates/addons/habb_javascripts/hooks/index/styles.post.tpl
    {style src=“addons/habb_javascripts/styles.less”}
  4. порядок в design/backend/templates/addons/habb_javascripts/hooks/index/scripts.post.tpl важен
    {script src=“js/addons/habb_javascripts/kinetic.min.js”}
    {script src=“js/addons/habb_javascripts/jquery.enjoyhint.js”}
    {script src=“js/addons/habb_javascripts/enjoyhint.min.js”}
  5. design/backend/templates/addons/habb_javascripts/hooks/index/content_top.pre.tpl
    {if ($auth.area == “A” and $auth.user_type == “V” and $auth.is_root == “Y”)}
    {include file=“addons/habb_javascripts/components/vendor_script.tpl” open=false showed_tutorial=$runtime.company_data.showed_tutorial company_id=$runtime.company_id}
    {/if}
  6. vendor_script.tpl

< script>

var showed_tutorial_ = "{$showed_tutorial}";
var URL = "{fn_url("habb_js")}";
var company_id = "{$company_id}";

{literal}
(function(_, $) {
$(_.doc).ready(function(){

    if(showed_tutorial_ !== '1'){
        console.log(" ready enjoyhint s"+showed_tutorial_);
        let enjoyhint_instance = new EnjoyHint({
            onEnd:function(){ modify_tags_for_tutorial(true); },
            onSkip:function(){ modify_tags_for_tutorial(true); }
        });

        modify_tags_for_tutorial();

        let enjoyhint_script_steps = [
            {
                'click .btn-bar .btn-toolbar .dropleft .pull-right' : 'Это календарь'
            }
        ];
        enjoyhint_instance.set(enjoyhint_script_steps);
        enjoyhint_instance.run();

        set_showed_1();

    }

    function modify_tags_for_tutorial(invert=false){
        let top_panel = $(".navbar-admin-top.cm-sticky-scroll");
        if(invert){
            // Tags to edit == return to what it was without Hints
            top_panel.css('position', 'sticky');
        } else {
            // Tags to edit
            top_panel.css('position', 'unset');
        }
    }

    function set_showed_1(){
        let fd = new FormData();
        fd.append( 'what', 'set_showed_1' );
        fd.append( 'is_ajax', '1' );
        fd.append( 'company_id', company_id );
        $.ajax({
            url: URL,
            data: fd,
            dataType: 'jsonp',
            processData: false,
            contentType: false,
            type: 'POST',
            success: function(data){
                console.log(" d "+data);
                console.log(data);
                //if(data.force_redirection) $.redirect(data.force_redirection);// закоментировано!
            },
            error: function(xhr, status, error) {
                console.log('error hjs40');
                console.log(xhr);
            },
        });
    }

})
}(Tygh, Tygh.$));
{/literal}

< / script >

1 лайк