calculated static method

ControlOptions calculated({
  1. required Color colorMain,
  2. required Color colorSecondary,
  3. double borderRadius = 15,
  4. double nsgButtonHeight = 40,
  5. EdgeInsets nsgButtonMargin = EdgeInsets.zero,
  6. EdgeInsets nsgInputMargin = const EdgeInsets.all(5),
  7. bool nsgInputFilled = false,
  8. bool nsgInputHintAlwaysOnTop = false,
  9. TextFormFieldType nsgInputOutlineBorderType = TextFormFieldType.underlineInputBorder,
  10. EdgeInsets nsgInputContentPadding = const EdgeInsets.all(5),
  11. Color nsgInputColorLabel = Colors.black,
  12. Color nsgInputColorFilled = Colors.transparent,
})

Implementation

static ControlOptions calculated({
  required Color colorMain,
  required Color colorSecondary,
  double borderRadius = 15,
  double nsgButtonHeight = 40,
  EdgeInsets nsgButtonMargin = EdgeInsets.zero, // Настройки NsgInput
  EdgeInsets nsgInputMargin = const EdgeInsets.all(5),
  bool nsgInputFilled = false,
  bool nsgInputHintAlwaysOnTop = false,
  TextFormFieldType nsgInputOutlineBorderType = TextFormFieldType.underlineInputBorder,
  EdgeInsets nsgInputContentPadding = const EdgeInsets.all(5),
  Color nsgInputColorLabel = Colors.black,
  Color nsgInputColorFilled = Colors.transparent,
}) {
  ControlOptions newinstance = ControlOptions(
    colorMain: colorMain,
    colorMainLight: lighten(colorMain),
    colorMainLighter: lighten(lighten(lighten(colorMain))),
    colorMainDark: darken(colorMain),
    colorMainDarker: darken(darken(colorMain)),
    colorMainBack: darken(darken(darken(colorMain))),
    colorText: calculateTextColor(colorMain),
    colorMainText: calculateTextColor(colorMain),
    colorSecondary: colorSecondary,
    colorSecondaryLight: lighten(colorSecondary),
    colorSecondaryDark: darken(colorSecondary),

    ///
    nsgInputMargin: nsgInputMargin,
    nsgInputFilled: nsgInputFilled,
    nsgInputHintAlwaysOnTop: nsgInputHintAlwaysOnTop,
    nsgInputOutlineBorderType: nsgInputOutlineBorderType,
    nsgInputContentPadding: nsgInputContentPadding,
    nsgInputColorLabel: nsgInputColorLabel,
    nsgInputColorFilled: nsgInputColorFilled,

    ///
    tableHeaderColor: darken(colorMain),
    tableHeaderLinesColor: lighten(colorMain),
    tableCellBackColor: darken(darken(darken(colorMain))),
    borderRadius: borderRadius,
    nsgButtonHeight: nsgButtonHeight,
    nsgButtonMargin: nsgButtonMargin,
  );

  NsgApiException.showExceptionDefault = NsgErrorWidget.showError;
  // Дефолтная функция с диалоговым окном при закрытии страницы на которой были сделаны изменения (например, в текстовой форме)
  NsgBaseController.saveOrCancelDefaultDialog = NsgDialogSaveOrCancel.saveOrCancel;
  return newinstance;
}