. Ваш предложение переинитить функцию которая отвечает за логику после ухода в display:none предполагает что вы считаете будто эта логика сбрасывается (иначе зачем заново инитить), что не является правдой.
В yii по умолчанию bootstrap 3, так что флекса там нет. Так же в кода используются стандартные элементы bootstrap и yii у которых нет проблем с повторным отображением
Opacity:0 - не скрывает элемент, а всего лишь делает его прозрачным, элемент то все еще показывается. Сравнивать opacity и display - это как сравнивать теплое с мягким - у них совершенно разно предназначение.
К меня стойкое ощущение, что создан он для тех, кто хочет подсадить клиентов на хрень, в которой потом никто, кроме подсадившего, не разберётся
а) Бутстрап - громоздкий фреймворк. Правильно его использовать, не засоряя код ненужным говном можно только через препроцессоры с возможностью наследования через % (тихий класс) - загугли если интересно. Я все компоненты так наследую - выходит так называемый object orientated css - как результат вёрстка даже на тупящих 500kb/s грузится сверхбыстро. максимум секунда-две.
б) Бутстрап на front-end (админки не берём в расчёт) применяют в 99.9% случаев только ради сетки. Я сетки не юзаю - flexbox намного более удобен. Вся моя "сетка" выглядит вот так:
в) Компоненты твиттера у всех уже поперёк горла. Эти парни с чего-то решили, что кнопки должны быть именно border, border-radius, padding, background-color. Как и инпуты и ещё куча всего. Вот это приравнивание компонентов под 4 параметра замыкает творческий кругозор разрабов, большинство из которых, если поднатужатся, то смогут и веб-дизайн освоить без photoshop. Прототипируя интерфейс прямо в браузере.
г) В бутстрапе очень навязчивые классы. Фреймворк должен быть применим только осознанно. Не создавая лишних багов - он должен быть в своей абстракции. Какого хрена вназывать стили кнопок классом btn? А если я буду применять этот класс в проекте для чего-то другого? (конечно, вряд-ли - я на БЭМ всё пишу, но всё же). Например, в малоизвестном но куда более комфортном blazeCSS компоненты начинаются с o-class или c-class - что даёт меньшую навязчивость