xEditDialog_Sconto method

Widget xEditDialog_Sconto(
  1. XFDataItem item,
  2. XCol xCol,
  3. TextEditingController textController,
  4. void parentSetState(
    1. void ()
    )?, {
  5. List<ScontiBTN>? liSconti,
  6. bool calc = false,
})

Dialog per l'editing dello sconto

Implementation

Widget xEditDialog_Sconto(
  XFDataItem item,
  XCol xCol,
  TextEditingController textController,
  void Function(void Function())? parentSetState, {
  List<ScontiBTN>? liSconti,
  bool calc = false,
}) {
  return Column(mainAxisAlignment: MainAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.start, children: [
    Row(children: [
      Expanded(child: Container(decoration: BoxDecoration(border: Border.all(color: Colors.white)), child: Text(textController.text, style: XStyles.xStyTextForSubLabel()))),
      XBtnbase(
          icon: Icons.arrow_back,
          width: 50,
          height: 50,
          onPressed: () {
            parentSetState!(() {
              if (textController.text.contains("+")) {
                var x = textController.text.split("+");
                if (x.length > 1)
                  textController.text = textController.text.replaceRange(textController.text.length - 3, textController.text.length, "");
                else
                  textController.text = "";
              } else {
                textController.text = "";
              }
            });
          })
    ]),
    SizedBox(height: 10),
    Row(children: [
      Expanded(
          child: Column(children: [
        Row(mainAxisAlignment: MainAxisAlignment.center, children: [
          Expanded(
              child: Wrap(
                  alignment: WrapAlignment.end,
                  spacing: 6,
                  runSpacing: 6,
                  children: liSconti != null
                      ? liSconti.where((element) => element.positionY == 0 && element.positionX == null).map((e) => builderXEditDialog_BTNs(item, textController, e.scontoValue, true, parentSetState!)).toList()
                      : [
                          builderXEditDialog_BTNs(item, textController, "+25", true, parentSetState!),
                          builderXEditDialog_BTNs(item, textController, "+40", true, parentSetState),
                          builderXEditDialog_BTNs(item, textController, "+48", true, parentSetState),
                        ]))
        ]),
        SizedBox(height: 10),
        Row(children: [
          calc
              ? Container()
              : Expanded(
                  child: XTextFormField(
                  height: null,
                  textAlign: TextAlign.end,
                  controller: xController_Sconto,
                  contentPadding: EdgeInsets.all(7),
                  keyboardType: TextInputType.number,
                  inputFormatters: [FilteringTextInputFormatter.deny(RegExp("[- /,.\\\\]"))],
                ))
        ]),
        SizedBox(height: 10),
        Row(mainAxisAlignment: MainAxisAlignment.center, children: [
          Expanded(
              child: Wrap(
            alignment: WrapAlignment.end,
            spacing: 6,
            runSpacing: 6,
            children: liSconti != null
                ? liSconti.where((element) => element.positionY == 1 && element.positionX == null).map((e) => builderXEditDialog_BTNs(item, textController, e.scontoValue, true, parentSetState!)).toList()
                : [
                    builderXEditDialog_BTNs(item, textController, "+20", true, parentSetState!),
                    builderXEditDialog_BTNs(item, textController, "+15", true, parentSetState),
                    builderXEditDialog_BTNs(item, textController, "+10", true, parentSetState),
                  ],
          ))
        ])
      ])),
      Container(
          width: 50,
          child: Column(mainAxisSize: MainAxisSize.min, children: [
            Column(
                mainAxisAlignment: MainAxisAlignment.center,
                children: liSconti != null
                    ? liSconti.where((element) => element.positionY == 0 && element.positionX != null && element.positionX! > 1).map((e) => builderXEditDialog_BTNs(item, textController, e.scontoValue, true, parentSetState!)).toList() //
                    : [builderXEditDialog_BTNs(item, textController, "+50", true, parentSetState!)]),
            SizedBox(height: 7),
            XBtnbase(
                icon: Icons.add,
                width: 50,
                height: 40,
                onPressed: () {
                  parentSetState!(() {
                    if (xController_Sconto.text.length < 1) {
                    } else {
                      if (textController.text == "")
                        textController.text += xController_Sconto.text;
                      else
                        textController.text += ("+" + xController_Sconto.text);

                      xController_Sconto.text = "";
                    }
                  });
                  xController_Sconto.clear();
                }),
            SizedBox(height: 7),
            Column(
                mainAxisAlignment: MainAxisAlignment.center,
                children: liSconti != null
                    ? liSconti.where((element) => element.positionY == 1 && element.positionX != null && element.positionX! > 1).map((e) => builderXEditDialog_BTNs(item, textController, e.scontoValue, true, parentSetState!)).toList() //
                    : [builderXEditDialog_BTNs(item, textController, "+5", true, parentSetState!)]),
          ]))
    ])
  ]);
}