Задать вопрос
Ответы пользователя по тегу JavaScript
  • Почему аналог хеш-функции js на php дает разные хеши?

    Insolita
    @Insolita
    Отчаянная домохозяйка
    phpunit + xdebug в помощь
    в первую очередь проверить функцию charCodeAt
    Ответ написан
    3 комментария
  • Semantic UI или Bootstrap 3 + Font Awesome?

    Insolita
    @Insolita
    Отчаянная домохозяйка
    после работы с semantic и uikit на бутсрап даже смотреть не хочется... в семантик правда въехать может быть немного посложнее, и да, от ненужного избавляться, но зато богатый ассортимент плюшек. как минимум он стоит того чтобы с ним познакомиться
    Ответ написан
    Комментировать
  • Как правильно вносить изменения в компонентах YII2?

    Insolita
    @Insolita
    Отчаянная домохозяйка
    Есть компонент по типу gridview.
    Весь js находится в vendor/component/panel

    полагаю из этого следует что компонент - не есть yii-шный gridView а аналог
    свой js приложения можно хранить либо в корневой папке проекта
    Для подключения создаётся AssetBundle - наследник от соответствующего класса yii где и прописывается путь, затем бандл регистрируется в лейауте или конкретных вьюхах. www.yiiframework.com/doc-2.0/guide-structure-asset... и указанные в настройках бандла файлы будут скопированы/слинкованы в общую папку assets

    Можно сразу хранить в папке доступной из веба web/js/lib например, и тогда можно скрипт подключить во вьюхе методом registerJsFile но как правило ассетбандлы гибче

    Хотя если компонент грида используется как виджет то возможно в нем уже предусмотрена адаптация для событий поддерживаемых компонентом, и если js-кода не очень много, то можно прямо в вьюхе написать типа
    SomeGridWidget::widget([
        'prop1'=>'val1',
        'prop2'=>'val2',
        'clientOptions'=>[
               'onSomeEventCallback'=>new JsExpression('
                              function(callback_arguments){do_custom_behaviors();}
               '),
        ]
    ]);

    если кода очень немного можно прямо строкой и оставить.
    если много - вынести js-функции в отдельный js-файл а из виджета только функции вызывать.
    так же если очень часто используется с модификацией - можно отнаследовать виджет с уже предзабитыми параметрами по дефолту, и при необходимости дополненную доп.аттрибутами, чтобы не таскать по формам большую конфигурацию.
    Но тимлид однозначно прав - править файлы в вендоре не нужно. Либо наследовать (если ООП), либо на собтия предусмотренные вешаться, либо делать полностью форк с правками. Иначе после обновления пакетным менеджером будет ругаться на изменения постоянно ну и папку вендор в гит обычно не включают, при деплое зависимости подкачиваются пакетным менеджером уже на сервер согласно composer.lock
    Ответ написан
    Комментировать