Пример #1
0
        public AddEditPage(
            string cipherId       = null,
            CipherType?type       = null,
            string folderId       = null,
            string collectionId   = null,
            string name           = null,
            string uri            = null,
            bool fromAutofill     = false,
            AppOptions appOptions = null)
        {
            _appOptions           = appOptions;
            _fromAutofill         = fromAutofill;
            FromAutofillFramework = _appOptions?.FromAutofillFramework ?? false;
            InitializeComponent();
            _vm               = BindingContext as AddEditPageViewModel;
            _vm.Page          = this;
            _vm.CipherId      = cipherId;
            _vm.FolderId      = folderId;
            _vm.CollectionIds = collectionId != null ? new HashSet <string>(new List <string> {
                collectionId
            }) : null;
            _vm.Type        = type;
            _vm.DefaultName = name ?? appOptions?.SaveName;
            _vm.DefaultUri  = uri ?? appOptions?.Uri;
            _vm.Init();
            SetActivityIndicator();
            if (!_vm.EditMode)
            {
                ToolbarItems.Remove(_attachmentsItem);
                ToolbarItems.Remove(_deleteItem);
            }

            _typePicker.ItemDisplayBinding          = new Binding("Key");
            _cardBrandPicker.ItemDisplayBinding     = new Binding("Key");
            _cardExpMonthPicker.ItemDisplayBinding  = new Binding("Key");
            _identityTitlePicker.ItemDisplayBinding = new Binding("Key");
            _folderPicker.ItemDisplayBinding        = new Binding("Key");
            _ownershipPicker.ItemDisplayBinding     = new Binding("Key");
        }
Пример #2
0
        public AddEditPage(
            string cipherId       = null,
            CipherType?type       = null,
            string folderId       = null,
            string collectionId   = null,
            string name           = null,
            string uri            = null,
            bool fromAutofill     = false,
            AppOptions appOptions = null,
            bool cloneMode        = false,
            ViewPage viewPage     = null)
        {
            _storageService      = ServiceContainer.Resolve <IStorageService>("storageService");
            _deviceActionService = ServiceContainer.Resolve <IDeviceActionService>("deviceActionService");
            _vaultTimeoutService = ServiceContainer.Resolve <IVaultTimeoutService>("vaultTimeoutService");
            _keyConnectorService = ServiceContainer.Resolve <IKeyConnectorService>("keyConnectorService");

            _appOptions           = appOptions;
            _fromAutofill         = fromAutofill;
            FromAutofillFramework = _appOptions?.FromAutofillFramework ?? false;
            InitializeComponent();
            _vm               = BindingContext as AddEditPageViewModel;
            _vm.Page          = this;
            _vm.CipherId      = cipherId;
            _vm.FolderId      = folderId == "none" ? null : folderId;
            _vm.CollectionIds = collectionId != null ? new HashSet <string>(new List <string> {
                collectionId
            }) : null;
            _vm.CollectionsRepeaterView = _collectionsRepeaterView;
            _vm.Type        = type;
            _vm.DefaultName = name ?? appOptions?.SaveName;
            _vm.DefaultUri  = uri ?? appOptions?.Uri;
            _vm.CloneMode   = cloneMode;
            _vm.ViewPage    = viewPage;
            _vm.Init();
            SetActivityIndicator();
            if (_vm.EditMode && !_vm.CloneMode && Device.RuntimePlatform == Device.Android)
            {
                ToolbarItems.Add(_attachmentsItem);
                ToolbarItems.Add(_deleteItem);
            }
            if (Device.RuntimePlatform == Device.iOS)
            {
                ToolbarItems.Add(_closeItem);
                if (_vm.EditMode && !_vm.CloneMode)
                {
                    ToolbarItems.Add(_moreItem);
                }
                _vm.ShowNotesSeparator = true;

                _typePicker.On <iOS>().SetUpdateMode(UpdateMode.WhenFinished);
                _ownershipPicker.On <iOS>().SetUpdateMode(UpdateMode.WhenFinished);
            }

            _typePicker.ItemDisplayBinding          = new Binding("Key");
            _cardBrandPicker.ItemDisplayBinding     = new Binding("Key");
            _cardExpMonthPicker.ItemDisplayBinding  = new Binding("Key");
            _identityTitlePicker.ItemDisplayBinding = new Binding("Key");
            _folderPicker.ItemDisplayBinding        = new Binding("Key");
            _ownershipPicker.ItemDisplayBinding     = new Binding("Key");

            _loginPasswordEntry.Keyboard = Keyboard.Create(KeyboardFlags.None);

            _nameEntry.ReturnType    = ReturnType.Next;
            _nameEntry.ReturnCommand = new Command(() =>
            {
                if (_vm.Cipher.Type == CipherType.Login)
                {
                    _loginUsernameEntry.Focus();
                }
                else if (_vm.Cipher.Type == CipherType.Card)
                {
                    _cardholderNameEntry.Focus();
                }
            });

            _loginUsernameEntry.ReturnType    = ReturnType.Next;
            _loginUsernameEntry.ReturnCommand = new Command(() => _loginPasswordEntry.Focus());
            _loginPasswordEntry.ReturnType    = ReturnType.Next;
            _loginPasswordEntry.ReturnCommand = new Command(() => _loginTotpEntry.Focus());

            _cardholderNameEntry.ReturnType    = ReturnType.Next;
            _cardholderNameEntry.ReturnCommand = new Command(() => _cardNumberEntry.Focus());
            _cardExpYearEntry.ReturnType       = ReturnType.Next;
            _cardExpYearEntry.ReturnCommand    = new Command(() => _cardCodeEntry.Focus());

            _identityFirstNameEntry.ReturnType         = ReturnType.Next;
            _identityFirstNameEntry.ReturnCommand      = new Command(() => _identityMiddleNameEntry.Focus());
            _identityMiddleNameEntry.ReturnType        = ReturnType.Next;
            _identityMiddleNameEntry.ReturnCommand     = new Command(() => _identityLastNameEntry.Focus());
            _identityLastNameEntry.ReturnType          = ReturnType.Next;
            _identityLastNameEntry.ReturnCommand       = new Command(() => _identityUsernameEntry.Focus());
            _identityUsernameEntry.ReturnType          = ReturnType.Next;
            _identityUsernameEntry.ReturnCommand       = new Command(() => _identityCompanyEntry.Focus());
            _identityCompanyEntry.ReturnType           = ReturnType.Next;
            _identityCompanyEntry.ReturnCommand        = new Command(() => _identitySsnEntry.Focus());
            _identitySsnEntry.ReturnType               = ReturnType.Next;
            _identitySsnEntry.ReturnCommand            = new Command(() => _identityPassportNumberEntry.Focus());
            _identityPassportNumberEntry.ReturnType    = ReturnType.Next;
            _identityPassportNumberEntry.ReturnCommand = new Command(() => _identityLicenseNumberEntry.Focus());
            _identityLicenseNumberEntry.ReturnType     = ReturnType.Next;
            _identityLicenseNumberEntry.ReturnCommand  = new Command(() => _identityEmailEntry.Focus());
            _identityEmailEntry.ReturnType             = ReturnType.Next;
            _identityEmailEntry.ReturnCommand          = new Command(() => _identityPhoneEntry.Focus());
            _identityPhoneEntry.ReturnType             = ReturnType.Next;
            _identityPhoneEntry.ReturnCommand          = new Command(() => _identityAddress1Entry.Focus());
            _identityAddress1Entry.ReturnType          = ReturnType.Next;
            _identityAddress1Entry.ReturnCommand       = new Command(() => _identityAddress2Entry.Focus());
            _identityAddress2Entry.ReturnType          = ReturnType.Next;
            _identityAddress2Entry.ReturnCommand       = new Command(() => _identityAddress3Entry.Focus());
            _identityAddress3Entry.ReturnType          = ReturnType.Next;
            _identityAddress3Entry.ReturnCommand       = new Command(() => _identityCityEntry.Focus());
            _identityCityEntry.ReturnType              = ReturnType.Next;
            _identityCityEntry.ReturnCommand           = new Command(() => _identityStateEntry.Focus());
            _identityStateEntry.ReturnType             = ReturnType.Next;
            _identityStateEntry.ReturnCommand          = new Command(() => _identityPostalCodeEntry.Focus());
            _identityPostalCodeEntry.ReturnType        = ReturnType.Next;
            _identityPostalCodeEntry.ReturnCommand     = new Command(() => _identityCountryEntry.Focus());
        }
Пример #3
0
        public AddEditPage(
            string cipherId       = null,
            CipherType?type       = null,
            string folderId       = null,
            string collectionId   = null,
            string name           = null,
            string uri            = null,
            bool fromAutofill     = false,
            AppOptions appOptions = null)
        {
            _storageService       = ServiceContainer.Resolve <IStorageService>("storageService");
            _deviceActionService  = ServiceContainer.Resolve <IDeviceActionService>("deviceActionService");
            _appOptions           = appOptions;
            _fromAutofill         = fromAutofill;
            FromAutofillFramework = _appOptions?.FromAutofillFramework ?? false;
            InitializeComponent();
            _vm               = BindingContext as AddEditPageViewModel;
            _vm.Page          = this;
            _vm.CipherId      = cipherId;
            _vm.FolderId      = folderId;
            _vm.CollectionIds = collectionId != null ? new HashSet <string>(new List <string> {
                collectionId
            }) : null;
            _vm.Type        = type;
            _vm.DefaultName = name ?? appOptions?.SaveName;
            _vm.DefaultUri  = uri ?? appOptions?.Uri;
            _vm.Init();
            SetActivityIndicator();
            if (!_vm.EditMode)
            {
                ToolbarItems.Remove(_attachmentsItem);
                ToolbarItems.Remove(_deleteItem);
            }

            _typePicker.ItemDisplayBinding          = new Binding("Key");
            _cardBrandPicker.ItemDisplayBinding     = new Binding("Key");
            _cardExpMonthPicker.ItemDisplayBinding  = new Binding("Key");
            _identityTitlePicker.ItemDisplayBinding = new Binding("Key");
            _folderPicker.ItemDisplayBinding        = new Binding("Key");
            _ownershipPicker.ItemDisplayBinding     = new Binding("Key");

            _nameEntry.ReturnType    = ReturnType.Next;
            _nameEntry.ReturnCommand = new Command(() =>
            {
                if (_vm.Cipher.Type == CipherType.Login)
                {
                    _loginUsernameEntry.Focus();
                }
                else if (_vm.Cipher.Type == CipherType.Card)
                {
                    _cardholderNameEntry.Focus();
                }
            });

            _loginUsernameEntry.ReturnType    = ReturnType.Next;
            _loginUsernameEntry.ReturnCommand = new Command(() => _loginPasswordEntry.Focus());
            _loginPasswordEntry.ReturnType    = ReturnType.Next;
            _loginPasswordEntry.ReturnCommand = new Command(() => _loginTotpEntry.Focus());

            _cardholderNameEntry.ReturnType    = ReturnType.Next;
            _cardholderNameEntry.ReturnCommand = new Command(() => _cardNumberEntry.Focus());
            _cardExpYearEntry.ReturnType       = ReturnType.Next;
            _cardExpYearEntry.ReturnCommand    = new Command(() => _cardCodeEntry.Focus());

            _identityFirstNameEntry.ReturnType         = ReturnType.Next;
            _identityFirstNameEntry.ReturnCommand      = new Command(() => _identityMiddleNameEntry.Focus());
            _identityMiddleNameEntry.ReturnType        = ReturnType.Next;
            _identityMiddleNameEntry.ReturnCommand     = new Command(() => _identityLastNameEntry.Focus());
            _identityLastNameEntry.ReturnType          = ReturnType.Next;
            _identityLastNameEntry.ReturnCommand       = new Command(() => _identityUsernameEntry.Focus());
            _identityUsernameEntry.ReturnType          = ReturnType.Next;
            _identityUsernameEntry.ReturnCommand       = new Command(() => _identityCompanyEntry.Focus());
            _identityCompanyEntry.ReturnType           = ReturnType.Next;
            _identityCompanyEntry.ReturnCommand        = new Command(() => _identitySsnEntry.Focus());
            _identitySsnEntry.ReturnType               = ReturnType.Next;
            _identitySsnEntry.ReturnCommand            = new Command(() => _identityPassportNumberEntry.Focus());
            _identityPassportNumberEntry.ReturnType    = ReturnType.Next;
            _identityPassportNumberEntry.ReturnCommand = new Command(() => _identityLicenseNumberEntry.Focus());
            _identityLicenseNumberEntry.ReturnType     = ReturnType.Next;
            _identityLicenseNumberEntry.ReturnCommand  = new Command(() => _identityEmailEntry.Focus());
            _identityEmailEntry.ReturnType             = ReturnType.Next;
            _identityEmailEntry.ReturnCommand          = new Command(() => _identityPhoneEntry.Focus());
            _identityPhoneEntry.ReturnType             = ReturnType.Next;
            _identityPhoneEntry.ReturnCommand          = new Command(() => _identityAddress1Entry.Focus());
            _identityAddress1Entry.ReturnType          = ReturnType.Next;
            _identityAddress1Entry.ReturnCommand       = new Command(() => _identityAddress2Entry.Focus());
            _identityAddress2Entry.ReturnType          = ReturnType.Next;
            _identityAddress2Entry.ReturnCommand       = new Command(() => _identityAddress3Entry.Focus());
            _identityAddress3Entry.ReturnType          = ReturnType.Next;
            _identityAddress3Entry.ReturnCommand       = new Command(() => _identityCityEntry.Focus());
            _identityCityEntry.ReturnType              = ReturnType.Next;
            _identityCityEntry.ReturnCommand           = new Command(() => _identityStateEntry.Focus());
            _identityStateEntry.ReturnType             = ReturnType.Next;
            _identityStateEntry.ReturnCommand          = new Command(() => _identityPostalCodeEntry.Focus());
            _identityPostalCodeEntry.ReturnType        = ReturnType.Next;
            _identityPostalCodeEntry.ReturnCommand     = new Command(() => _identityCountryEntry.Focus());
        }