EGL Development User Group

EGL Development User Group

EGL Development User Group

The EGL Development User Group is dedicated to sharing news, knowledge, and insights regarding the EGL language and Business Developer product. Consisting of IBMers, HCL, and users, this community collaborates to advance the EGL ecosystem.

 View Only

Dojo Mobile 'backView' doesn't work

  • 1.  Dojo Mobile 'backView' doesn't work

    Posted Mon April 13, 2015 06:32 AM

    Hi,

    i have a problem with the backView function of the DojoMobileView.

    If I do it this way the back function doesn't work (_MDE_Kommissionierung MDE_Kommissionierung{}; outside of the call back)

     

    package handlers;

    // RUI Handler MDE MDE_Kommissionierung

    import egl.ui.rui.Event;
    import egl.ui.rui.Widget;
    import dojo.mobile.widgets.DojoMobileLib;
    import dojo.mobile.widgets.DojoMobileList;
    import dojo.mobile.widgets.DojoMobileListCategory;
    import dojo.mobile.widgets.DojoMobileListItem;
    import dojo.mobile.widgets.DojoMobileView;
    import records.AUFTR_REC;
    import services.AUFTR_service;

    //erstellt: MD 13.04.2015
    //

    handler MDE_Start type RUIhandler{initialUI =[View_start
                ], onConstructionFunction = start, cssFile = "css/FrommClient.css", title = "MDE_Start"}

        //START
        View_start DojoMobileView{selected = true, headerTitle = "Start",
                /*backText = "Back", backView = */ children =[List_AUFTR]};

        List_AUFTR DojoMobileList{style = DojoMobileLib.LIST_STYLE_ROUNDED_RECTANGLE, children =[]};

        //Handler Kommisionierung
        _MDE_Kommissionierung MDE_Kommissionierung{};

        function start()
        //Überschrift
            listChild = new DojoMobileListCategory{title = "Aufträge", fontWeight = "bold"};
            listChildren.appendElement(listChild);

            dbservice AUFTR_service{@dedicatedService};
            call dbService.GET_AUFTR() returning to back_GET_AUFTR       //
                    onException serviceLib.serviceExceptionHandler;
        end

        listChild Widget;
        listChildren Widget[] =[];

        function back_GET_AUFTR(ret AUFTR_REC[] in)

        //Views
            for(i int from 1 to ret.getSize())
                
                //on Click show _MDE_Kommissionierung View
                listChild = new DojoMobileListItem{text = ret[1].AUFNR, actionView = _MDE_Kommissionierung.View_KOM, imagePath = "dojo/mobile/images/i-icon-1.png"};

                _MDE_Kommissionierung.View_KOM.headerTitle = "Kommissionierung  / Auftrag: " ::
                        ret[1].AUFNR;

                //Back View Kommisionierung
                _MDE_Kommissionierung.View_KOM.backView = View_start;
                _MDE_Kommissionierung.View_KOM.backText = "Zurück";

                listChildren.appendElement(listChild);
            end

            List_AUFTR.children = listChildren;

        end

    end

     

     

    If I do it this way the back function works, but the 2. view opens immediately...

    (_MDE_Kommissionierung MDE_Kommissionierung{}; inside of the call back)

     

    package handlers;

    // RUI Handler MDE MDE_Kommissionierung

    import egl.ui.rui.Event;
    import egl.ui.rui.Widget;
    import dojo.mobile.widgets.DojoMobileLib;
    import dojo.mobile.widgets.DojoMobileList;
    import dojo.mobile.widgets.DojoMobileListCategory;
    import dojo.mobile.widgets.DojoMobileListItem;
    import dojo.mobile.widgets.DojoMobileView;
    import records.AUFTR_REC;
    import services.AUFTR_service;

    //erstellt: MD 13.04.2015
    //

    handler MDE_Start type RUIhandler{initialUI =[View_start
                ], onConstructionFunction = start, cssFile = "css/FrommClient.css", title = "MDE_Start"}

        //START
        View_start DojoMobileView{selected = true, headerTitle = "Start",
                /*backText = "Back", backView = */ children =[List_AUFTR]};

        List_AUFTR DojoMobileList{style = DojoMobileLib.LIST_STYLE_ROUNDED_RECTANGLE, children =[]};

        function start()
        //Überschrift
            listChild = new DojoMobileListCategory{title = "Aufträge", fontWeight = "bold"};
            listChildren.appendElement(listChild);

            dbservice AUFTR_service{@dedicatedService};
            call dbService.GET_AUFTR() returning to back_GET_AUFTR       //
                    onException serviceLib.serviceExceptionHandler;
        end

        listChild Widget;
        listChildren Widget[] =[];

        function back_GET_AUFTR(ret AUFTR_REC[] in)
        //Handler Kommisionierung
            _MDE_Kommissionierung MDE_Kommissionierung{};

            //Views
            for(i int from 1 to ret.getSize())

                //on Click show _MDE_Kommissionierung View
                listChild = new DojoMobileListItem{text = ret[1].AUFNR, actionView = _MDE_Kommissionierung.View_KOM, imagePath = "dojo/mobile/images/i-icon-1.png"};

                _MDE_Kommissionierung.View_KOM.headerTitle = "Kommissionierung  / Auftrag: " ::
                        ret[1].AUFNR;

                //Back View Kommisionierung
                _MDE_Kommissionierung.View_KOM.backView = View_start;
                _MDE_Kommissionierung.View_KOM.backText = "Zurück";

                listChildren.appendElement(listChild);
            end

            List_AUFTR.children = listChildren;

        end

    end

     

     

    Kind regards

    Marcel-D