xLayout_Sconto_EntryDialog method

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

Implementation

Widget xLayout_Sconto_EntryDialog(
  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) => builderEntryDialog_BTNs(textController, e.scontoValue, true, parentSetState!)).toList()
                      : [
                          builderEntryDialog_BTNs(textController, "+25", true, parentSetState!),
                          builderEntryDialog_BTNs(textController, "+40", true, parentSetState),
                          builderEntryDialog_BTNs(textController, "+48", true, parentSetState),
                        ]))
        ]),
        SizedBox(height: 10),
        Row(children: [
          calc
              ? Container()
              : Expanded(
                  child: XTextFormField(
                  height: null,
                  textAlign: TextAlign.end,
                  controller: sconto,
                  // autoFocus: true,
                  // initialValue: sconto.text,
                  contentPadding: EdgeInsets.all(7),
                  keyboardType: TextInputType.number,
                  inputFormatters: [FilteringTextInputFormatter.deny(RegExp("[- /,.\\\\]"))],
                  // onChanged: (value) {
                  //   sconto.text = value;
                  // },
                ))
        ]),
        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) => builderEntryDialog_BTNs(textController, e.scontoValue, true, parentSetState!)).toList()
                : [
                    builderEntryDialog_BTNs(textController, "+20", true, parentSetState!),
                    builderEntryDialog_BTNs(textController, "+15", true, parentSetState),
                    builderEntryDialog_BTNs(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) => builderEntryDialog_BTNs(textController, e.scontoValue, true, parentSetState!)).toList()
                  : [
                      builderEntryDialog_BTNs(textController, "+50", true, parentSetState!),
                    ]),
          SizedBox(height: 7),
          XBtnbase(
              icon: Icons.add,
              width: 50,
              height: 40,
              onPressed: () {
                parentSetState!(() {
                  if (sconto.text.length < 1) {
                  } else {
                    if (textController.text == "") {
                      textController.text += sconto.text;
                    } else {
                      textController.text += ("+" + sconto.text);
                    }
                    sconto.text = "";
                  }
                });
                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) => builderEntryDialog_BTNs(textController, e.scontoValue, true, parentSetState!)).toList()
                  : [
                      builderEntryDialog_BTNs(textController, "+5", true, parentSetState!),
                    ]),
        ]),
      )
    ]),
  ]);
}