Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
Clear All
new posts

  • SelectItem issue in mobile Safari and UIWebView

    Hi Isomorphic,

    i got a weird issue with a SelectItem in our mobile app. Since I switched to Xcode 10.0, developing for iOS 12, the following happens:

    Im in a DynamicForm that holds several FormItems see Picture 1. One FormItem is a SelectItem (blue highlighted in Picture 1) and gets its Data via optionDataSource, see Listing 1. If I click on the SelectItem, the PickListMenu should open, but it doesn't. It only appears for a fraction of a second and than disappears, and the display is frozen (Picture 1 was taken after click on the SelectItem "Abschlussdatum").
    Im using remote debugging, and got the following information from the developer console (see Picture 2: isc_AssignStatusMobileV2NewStatusTabSetVLayout_8_1_fillScreenContainer), you can see, the second value in the "Position"-Column is negative. I did then go to the"element"-tab within the safari developer tools and right-clicked the "isc_PickListMenu_0_body" and hit "visibility off" and then "visibility on" again, the SelectItems pickListMenu appeared than as usually and the output in the developer console looks like in Picture 3(isc_AssignStatusMobileV2NewStatusTabSetVLayout_8_1_fillScreenContainer). After that the pickListMenu is working fine as long as I don't close and reopen the app. Do you maybe have a clue, what could possibly going on there? Besides, in any other browser, except mobile safari and the UIWebView from Apple, everything is working fine, I testes it on android devices too, and there is no problem. I could not reproduce the problem in the BuildInDs yet, and I dont expect, that you can give me an precise solution, but maybe you have an idea, what possibly could cause that behaviour.


    Setup:

    SmartClient Version: v12.0p_2018-10-04/PowerEdition Development Only (built 2018-10-04)
    iPhone 6S Plus
    Phongap CLI v. 7.0.1
    WebView: UIWebView
    Safari on iPhone: 5.0 (iPhone; CPU iPhone OS 12_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.0 Mobile/15E148 Safari/604.1
    XCode 10.0: Deployment Target: iOS12 (Legacy-Build-System)





    Picture 1:

    Click image for larger version  Name:	mac1.png Views:	1 Size:	141.4 KB ID:	255413

    Listing 1:
    Code:
        statusAfterEstCloseDate = new SelectItem(DatasourceFieldEnum.V_LEAD_CURRENT__STATUS_ESTIMATEDCLOSINGDATE.getValue()) {
                {
    
                    setStyleName("customformTitle");
                    setPickListCellHeight(75);
                    setTitle(sc.getLeadStatusFieldSettingsMap().get(DatasourceFieldEnum.V_LEAD_CURRENT__STATUS_ESTIMATEDCLOSINGDATE.getValue())
                            .getComputedName());
                    setOptionDataSource(DataSource.get(DatasourceEnum.T_FORECAST_DATA.getValue()));
                    setValueField(DatasourceFieldEnum.T_FORECAST_DATA_MONTH_END.getValue());
                    setValueFormatter(new FormItemValueFormatter() {
                        @Override
                        public String formatValue(Object value, Record record, DynamicForm form, FormItem item) {
                            String timeLevels = sc.getStringSetting(SettingEnum.ESTIMATEDCLOSINGDATEREPORTINGGRANULARITY);
                            if (value == null)
                                return null;
                            else {
                                Date d = (Date) value;
                                DateTimeFormat dtf = null;
                                DateTimeFormatInfo ddtfi = LocaleInfo.getCurrentLocale().getDateTimeFormatInfo();
                                if (timeLevels.contains("M"))
                                    dtf = DateTimeFormat.getFormat(ddtfi.formatYearMonthAbbrev());
                                else if (timeLevels.contains("Q"))
                                    dtf = DateTimeFormat.getFormat(ddtfi.formatYearQuarterShort());
                                else if (timeLevels.contains("Y"))
                                    dtf = DateTimeFormat.getFormat(ddtfi.formatYear());
                                return dtf.format(d);
                            }
                        }
                    });
    CSS for Listing 1:
    Code:
    .customformTitle {
        font-size: 18px;
    }
    Picture 2:



    Click image for larger version  Name:	debug2.png Views:	1 Size:	122.2 KB ID:	255414

    Picture 3:

    Click image for larger version  Name:	debug3.png Views:	1 Size:	112.4 KB ID:	255415


    Thanks in advance,

    Kind Regards
    Last edited by Developer12145; 9th Oct 2018, 04:54.

  • #2
    The exact same thing happens in this showcase-sample in mobile Safari using iOS 12. The described problem occures not in iOS 11!
    Last edited by Developer12145; 9th Oct 2018, 05:00.

    Comment


    • #3
      We see this and are looking into the cause.

      Comment


      • #4
        We've made a change that should address this issue as referenced in post #2, in SC 10.1p/SGWT 5.1p and newer releases. It will be in the nightly builds dated 2018-10-12.

        However, the sample code from the initial post doesn't appear to runnable as standalone code, having several proprietary constants or variables. When you provide standalone repro code, please make sure we'll be able to run it to verify the problem. If you (the original poster) still have an issue when running with our fix, you'll have to re-submit a repro case.

        Comment

        Working...
        X