Code Monkey home page Code Monkey logo

Comments (4)

rid00z avatar rid00z commented on August 20, 2024

It's always worked well for me. Sounds like a user dialogs issue?

On Wednesday, 25 November 2015, MBrekhof [email protected] wrote:

I'm using Arc.Userdialogs together with FreshMvvm which works well with
one exception: the messages(toasts) appear and reappear as if there is an
additional refresh/repaint by FreshMvvm.

Did you ever use Arc.Userdialogs with FreshMvvm and are there any gotchas
or whatever?


Reply to this email directly or view it on GitHub
#23.

Michael Ridland | Technical Director | Xamarin MVP

XAM Consulting - Mobile Technology Specialists

www.xam-consulting.com

Blog: www.michaelridland.com

from freshmvvm.

MBrekhof avatar MBrekhof commented on August 20, 2024

I'll ask them also, just in case:

This works as expected:

[ImplementPropertyChanged]
public class GebruikerPageModel : FreshBasePageModel
{
    IDatabaseService _databaseService;
    private IUserDialogs _userDialogs;
    public Gebruiker gebruiker { get; set; }

    public GebruikerPageModel(IDatabaseService databaseService,IUserDialogs userDialogs)
    {
        _databaseService = databaseService;
        _userDialogs = userDialogs;
    }

    public override void Init(object initData)
    {

....
}

    public Command SaveGebruiker
    {
        get       {
            return new Command(() =>
            {
                if (!CrossConnectivity.Current.IsConnected)
                {
                    _userDialogs.ErrorToast("Probleem", "Geen werkende Wifi verbinding", 5000);
                }
                else
                {
                    List<Inbox> testboxes = _databaseService.GetInboxes();
                    if (testboxes?.Count == 0)
                        _userDialogs.ErrorToast("Probleem", "Geen inboxen gevonden, gegevens correct?", 5000);
                    else
                    {
                        _databaseService.SaveGebruiker(gebruiker);
                        App.CurrentUser = gebruiker;
                    }
                }
                CoreMethods.PopPageModel(gebruiker);
            });
        }
    }

}

This produces some red flashes:
[ImplementPropertyChanged]
public class InboxListPageModel : FreshBasePageModel
{
IDatabaseService _databaseService;
IUserDialogs _userDialogs;

    private string inboxesHeader = "Inboxen";

    public string InboxesHeader
    {
        get { return inboxesHeader; }
        set { inboxesHeader = value; }
    }

    public InboxListPageModel(IDatabaseService databaseService, IUserDialogs userDialogs)
    {
        _databaseService = databaseService;
        _userDialogs = userDialogs;
    }

    public ObservableCollection<Inbox> Inboxes { get; set; }

    public override void Init(object initData)
    {

        Gebruiker gebr = App.CurrentUser;
        if (App.CurrentUser == null)
        {
            _userDialogs.ShowError("Geen Digidoc ID ingevuld.", 3000);
        }
        else
        {
            if (String.IsNullOrEmpty(App.CurrentUser.Naam))
                _userDialogs.ShowError("Geen correcte Digidoc ID ingevuld.", 3000);
        }
        if (!CrossConnectivity.Current.IsConnected)
        {
            _userDialogs.ErrorToast("Probleem","Er is geen Wifi beschikbaar", 3000);
        }
    }

....

from freshmvvm.

rid00z avatar rid00z commented on August 20, 2024

You should really be loading a dialog during the init method. Normally I
never have to do that, dialogs are shown in commands.

On Thursday, 26 November 2015, MBrekhof [email protected] wrote:

I'll ask them also, just in case:

This works as expected:

[ImplementPropertyChanged]
public class GebruikerPageModel : FreshBasePageModel
{
IDatabaseService _databaseService;
private IUserDialogs _userDialogs;
public Gebruiker gebruiker { get; set; }

public GebruikerPageModel(IDatabaseService databaseService,IUserDialogs userDialogs)
{
    _databaseService = databaseService;
    _userDialogs = userDialogs;
}

public override void Init(object initData)
{

....
}

public Command SaveGebruiker
{
    get       {
        return new Command(() =>
        {
            if (!CrossConnectivity.Current.IsConnected)
            {
                _userDialogs.ErrorToast("Probleem", "Geen werkende Wifi verbinding", 5000);
            }
            else
            {
                List<Inbox> testboxes = _databaseService.GetInboxes();
                if (testboxes?.Count == 0)
                    _userDialogs.ErrorToast("Probleem", "Geen inboxen gevonden, gegevens correct?", 5000);
                else
                {
                    _databaseService.SaveGebruiker(gebruiker);
                    App.CurrentUser = gebruiker;
                }
            }
            CoreMethods.PopPageModel(gebruiker);
        });
    }
}

}

This produces some red flashes:
[ImplementPropertyChanged]
public class InboxListPageModel : FreshBasePageModel
{
IDatabaseService _databaseService;
IUserDialogs _userDialogs;

private string inboxesHeader = "Inboxen";

public string InboxesHeader
{
    get { return inboxesHeader; }
    set { inboxesHeader = value; }
}

public InboxListPageModel(IDatabaseService databaseService, IUserDialogs userDialogs)
{
    _databaseService = databaseService;
    _userDialogs = userDialogs;
}

public ObservableCollection<Inbox> Inboxes { get; set; }

public override void Init(object initData)
{

    Gebruiker gebr = App.CurrentUser;
    if (App.CurrentUser == null)
    {
        _userDialogs.ShowError("Geen Digidoc ID ingevuld.", 3000);
    }
    else
    {
        if (String.IsNullOrEmpty(App.CurrentUser.Naam))
            _userDialogs.ShowError("Geen correcte Digidoc ID ingevuld.", 3000);
    }
    if (!CrossConnectivity.Current.IsConnected)
    {
        _userDialogs.ErrorToast("Probleem","Er is geen Wifi beschikbaar", 3000);
    }
}

....


Reply to this email directly or view it on GitHub
#23 (comment).

Michael Ridland | Technical Director | Xamarin MVP

XAM Consulting - Mobile Technology Specialists

www.xam-consulting.com

Blog: www.michaelridland.com

from freshmvvm.

rid00z avatar rid00z commented on August 20, 2024

Shouldn't

On Thursday, 26 November 2015, Michael Ridland [email protected] wrote:

You should really be loading a dialog during the init method. Normally I
never have to do that, dialogs are shown in commands.

On Thursday, 26 November 2015, MBrekhof <[email protected]
javascript:_e(%7B%7D,'cvml','[email protected]');> wrote:

I'll ask them also, just in case:

This works as expected:

[ImplementPropertyChanged]
public class GebruikerPageModel : FreshBasePageModel
{
IDatabaseService _databaseService;
private IUserDialogs _userDialogs;
public Gebruiker gebruiker { get; set; }

public GebruikerPageModel(IDatabaseService databaseService,IUserDialogs userDialogs)
{
    _databaseService = databaseService;
    _userDialogs = userDialogs;
}

public override void Init(object initData)
{

....
}

public Command SaveGebruiker
{
    get       {
        return new Command(() =>
        {
            if (!CrossConnectivity.Current.IsConnected)
            {
                _userDialogs.ErrorToast("Probleem", "Geen werkende Wifi verbinding", 5000);
            }
            else
            {
                List<Inbox> testboxes = _databaseService.GetInboxes();
                if (testboxes?.Count == 0)
                    _userDialogs.ErrorToast("Probleem", "Geen inboxen gevonden, gegevens correct?", 5000);
                else
                {
                    _databaseService.SaveGebruiker(gebruiker);
                    App.CurrentUser = gebruiker;
                }
            }
            CoreMethods.PopPageModel(gebruiker);
        });
    }
}

}

This produces some red flashes:
[ImplementPropertyChanged]
public class InboxListPageModel : FreshBasePageModel
{
IDatabaseService _databaseService;
IUserDialogs _userDialogs;

private string inboxesHeader = "Inboxen";

public string InboxesHeader
{
    get { return inboxesHeader; }
    set { inboxesHeader = value; }
}

public InboxListPageModel(IDatabaseService databaseService, IUserDialogs userDialogs)
{
    _databaseService = databaseService;
    _userDialogs = userDialogs;
}

public ObservableCollection<Inbox> Inboxes { get; set; }

public override void Init(object initData)
{

    Gebruiker gebr = App.CurrentUser;
    if (App.CurrentUser == null)
    {
        _userDialogs.ShowError("Geen Digidoc ID ingevuld.", 3000);
    }
    else
    {
        if (String.IsNullOrEmpty(App.CurrentUser.Naam))
            _userDialogs.ShowError("Geen correcte Digidoc ID ingevuld.", 3000);
    }
    if (!CrossConnectivity.Current.IsConnected)
    {
        _userDialogs.ErrorToast("Probleem","Er is geen Wifi beschikbaar", 3000);
    }
}

....


Reply to this email directly or view it on GitHub
#23 (comment).

Michael Ridland | Technical Director | Xamarin MVP

XAM Consulting - Mobile Technology Specialists

www.xam-consulting.com

Blog: www.michaelridland.com

Michael Ridland | Technical Director | Xamarin MVP

XAM Consulting - Mobile Technology Specialists

www.xam-consulting.com

Blog: www.michaelridland.com

from freshmvvm.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.