2025-09-13 09:23:47 +05:00

28 lines
646 B
Go

package options
import (
"errors"
"fmt"
"bunker/client/internal/services/core/options/dto"
"bunker/client/internal/services/core/options/models"
)
var errWidgetPaneAlreadyRegistered = errors.New("widget pane already registered")
func (o *options) RegisterOptionsWidget(widgetData *dto.OptionPane) error {
if _, found := o.widgets[widgetData.Name]; found {
return fmt.Errorf(
"%w: RegisterOptionsWidget: '%s': %w",
errOptions,
widgetData.Name,
errWidgetPaneAlreadyRegistered,
)
}
o.widgets[widgetData.Name] = models.OptionPaneFromDTO(widgetData)
o.widgetsItems = append(o.widgetsItems, widgetData.Name)
return nil
}