Есть компонент по типу 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