@AlexBuu вот кусок моей реализации компонента с формой
Пока не очень понятно, зачем там делать комбайнЛейтест. Но чисто базово, add отличнается от edit только том, что там нет айтема для предзаполнения формы
То бишь, компонент дейстивительно один и может называться, например, add-edit-user компонент
Вы передадите туда либо сам айтем, либо айдишник айтема, чтобы этот компонент мог его получить самостоятельно. Неважно как вы это сделаете - через Input(), через path параметр, через query параметр или через сервис. Важно, что в момент, когда этот компонент будет грузиться и будет понятно, что есть айтем, вы просто сделаете
if (item) { this.fg.patchValue(item) }
Возможно, еще добавите туда дизейблинг некоторых отдельных контролов в зависимости от бизнесовой логики
Соответсвтенно, this.fg и будет отвечать за виджет добавления или редактирования айтема
Без проблем тут можно вэльюАкссеры пихать, но вероятно, это не понадобится