├── .gitignore ├── LICENSE ├── Preview ├── customer.png ├── item.png ├── order-input-01.png ├── order-input-02.png ├── order.png └── store.png ├── README.md ├── ShoB.xcodeproj ├── project.pbxproj ├── project.xcworkspace │ ├── contents.xcworkspacedata │ └── xcshareddata │ │ └── IDEWorkspaceChecks.plist └── xcshareddata │ └── xcschemes │ └── ShoB.xcscheme └── ShoB ├── AppDelegate.swift ├── Assets.xcassets ├── AppIcon.appiconset │ └── Contents.json ├── Contents.json └── primary-2.colorset │ └── Contents.json ├── Base.lproj └── LaunchScreen.storyboard ├── Constant └── Constant+Image.swift ├── Customer Scene ├── CustomerForm.swift ├── CustomerFormModel.swift ├── CustomerListView.swift ├── CustomerRow.swift └── CustomerRowContentView.swift ├── DataSource ├── CustomerDataSource.swift ├── ObjectDataSource.swift ├── ObjectValidatable.swift ├── OrderDataSource.swift ├── SaleItemDataSource.swift └── StoreDataSource.swift ├── Extension ├── Alert.swift ├── AnyView.swift ├── Color.swift ├── Date.swift ├── Font.swift ├── ManagedObjectContext.swift ├── NSPredicate.swift ├── String.swift └── Text.swift ├── Home.swift ├── Info.plist ├── Model ├── Contact.swift ├── Customer.swift ├── Order.swift ├── OrderItem.swift ├── SaleItem.swift └── Store.swift ├── Order Scene ├── OrderForm.swift ├── OrderFormModel.swift ├── OrderItemForm.swift ├── OrderItemRow.swift ├── OrderListView.swift ├── OrderListViewModel.swift ├── OrderRow.swift └── OrderRowContentView.swift ├── Preview Content └── Preview Assets.xcassets │ └── Contents.json ├── Property Wrapper ├── AlwaysLowercasedWrapper.swift └── CurrencyWrapper.swift ├── Protocol └── MultiPurposeForm.swift ├── Sale Item Scene ├── SaleItemForm+Model.swift ├── SaleItemForm+View.swift ├── SaleItemForm.swift ├── SaleItemFormModel.swift ├── SaleItemListView.swift └── SaleItemRow.swift ├── Sample Data ├── customer-sample-data.json └── sale-item-sample-data.json ├── SceneDelegate.swift ├── ShoB.entitlements ├── ShoB.xcdatamodeld └── ShoB.xcdatamodel │ └── contents ├── Store Scene ├── StoreForm.swift ├── StoreFormModel.swift ├── StoreListView.swift └── StoreRow.swift ├── Utility ├── AppCache.swift ├── CoreDataStack.swift ├── Currency.swift ├── Importer.swift ├── NavigationStateHandler.swift ├── NotificationObserver.swift ├── UserDefaultsValue.swift └── ViewForceReloader.swift ├── View Modifier └── DeleteAlertModifier.swift └── View ├── CurrencyTextField.swift ├── ModalInputField.swift ├── SearchTextField.swift ├── TextFieldWrapper.swift ├── TextViewWrapper.swift ├── UIRTextField.swift └── VerticalTextField.swift /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdaralan/ShoB/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdaralan/ShoB/HEAD/LICENSE -------------------------------------------------------------------------------- /Preview/customer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdaralan/ShoB/HEAD/Preview/customer.png -------------------------------------------------------------------------------- /Preview/item.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdaralan/ShoB/HEAD/Preview/item.png -------------------------------------------------------------------------------- /Preview/order-input-01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdaralan/ShoB/HEAD/Preview/order-input-01.png -------------------------------------------------------------------------------- /Preview/order-input-02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdaralan/ShoB/HEAD/Preview/order-input-02.png -------------------------------------------------------------------------------- /Preview/order.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdaralan/ShoB/HEAD/Preview/order.png -------------------------------------------------------------------------------- /Preview/store.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdaralan/ShoB/HEAD/Preview/store.png -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdaralan/ShoB/HEAD/README.md -------------------------------------------------------------------------------- /ShoB.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdaralan/ShoB/HEAD/ShoB.xcodeproj/project.pbxproj -------------------------------------------------------------------------------- /ShoB.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdaralan/ShoB/HEAD/ShoB.xcodeproj/project.xcworkspace/contents.xcworkspacedata -------------------------------------------------------------------------------- /ShoB.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdaralan/ShoB/HEAD/ShoB.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist -------------------------------------------------------------------------------- /ShoB.xcodeproj/xcshareddata/xcschemes/ShoB.xcscheme: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdaralan/ShoB/HEAD/ShoB.xcodeproj/xcshareddata/xcschemes/ShoB.xcscheme -------------------------------------------------------------------------------- /ShoB/AppDelegate.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdaralan/ShoB/HEAD/ShoB/AppDelegate.swift -------------------------------------------------------------------------------- /ShoB/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdaralan/ShoB/HEAD/ShoB/Assets.xcassets/AppIcon.appiconset/Contents.json -------------------------------------------------------------------------------- /ShoB/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdaralan/ShoB/HEAD/ShoB/Assets.xcassets/Contents.json -------------------------------------------------------------------------------- /ShoB/Assets.xcassets/primary-2.colorset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdaralan/ShoB/HEAD/ShoB/Assets.xcassets/primary-2.colorset/Contents.json -------------------------------------------------------------------------------- /ShoB/Base.lproj/LaunchScreen.storyboard: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdaralan/ShoB/HEAD/ShoB/Base.lproj/LaunchScreen.storyboard -------------------------------------------------------------------------------- /ShoB/Constant/Constant+Image.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdaralan/ShoB/HEAD/ShoB/Constant/Constant+Image.swift -------------------------------------------------------------------------------- /ShoB/Customer Scene/CustomerForm.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdaralan/ShoB/HEAD/ShoB/Customer Scene/CustomerForm.swift -------------------------------------------------------------------------------- /ShoB/Customer Scene/CustomerFormModel.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdaralan/ShoB/HEAD/ShoB/Customer Scene/CustomerFormModel.swift -------------------------------------------------------------------------------- /ShoB/Customer Scene/CustomerListView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdaralan/ShoB/HEAD/ShoB/Customer Scene/CustomerListView.swift -------------------------------------------------------------------------------- /ShoB/Customer Scene/CustomerRow.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdaralan/ShoB/HEAD/ShoB/Customer Scene/CustomerRow.swift -------------------------------------------------------------------------------- /ShoB/Customer Scene/CustomerRowContentView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdaralan/ShoB/HEAD/ShoB/Customer Scene/CustomerRowContentView.swift -------------------------------------------------------------------------------- /ShoB/DataSource/CustomerDataSource.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdaralan/ShoB/HEAD/ShoB/DataSource/CustomerDataSource.swift -------------------------------------------------------------------------------- /ShoB/DataSource/ObjectDataSource.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdaralan/ShoB/HEAD/ShoB/DataSource/ObjectDataSource.swift -------------------------------------------------------------------------------- /ShoB/DataSource/ObjectValidatable.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdaralan/ShoB/HEAD/ShoB/DataSource/ObjectValidatable.swift -------------------------------------------------------------------------------- /ShoB/DataSource/OrderDataSource.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdaralan/ShoB/HEAD/ShoB/DataSource/OrderDataSource.swift -------------------------------------------------------------------------------- /ShoB/DataSource/SaleItemDataSource.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdaralan/ShoB/HEAD/ShoB/DataSource/SaleItemDataSource.swift -------------------------------------------------------------------------------- /ShoB/DataSource/StoreDataSource.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdaralan/ShoB/HEAD/ShoB/DataSource/StoreDataSource.swift -------------------------------------------------------------------------------- /ShoB/Extension/Alert.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdaralan/ShoB/HEAD/ShoB/Extension/Alert.swift -------------------------------------------------------------------------------- /ShoB/Extension/AnyView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdaralan/ShoB/HEAD/ShoB/Extension/AnyView.swift -------------------------------------------------------------------------------- /ShoB/Extension/Color.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdaralan/ShoB/HEAD/ShoB/Extension/Color.swift -------------------------------------------------------------------------------- /ShoB/Extension/Date.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdaralan/ShoB/HEAD/ShoB/Extension/Date.swift -------------------------------------------------------------------------------- /ShoB/Extension/Font.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdaralan/ShoB/HEAD/ShoB/Extension/Font.swift -------------------------------------------------------------------------------- /ShoB/Extension/ManagedObjectContext.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdaralan/ShoB/HEAD/ShoB/Extension/ManagedObjectContext.swift -------------------------------------------------------------------------------- /ShoB/Extension/NSPredicate.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdaralan/ShoB/HEAD/ShoB/Extension/NSPredicate.swift -------------------------------------------------------------------------------- /ShoB/Extension/String.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdaralan/ShoB/HEAD/ShoB/Extension/String.swift -------------------------------------------------------------------------------- /ShoB/Extension/Text.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdaralan/ShoB/HEAD/ShoB/Extension/Text.swift -------------------------------------------------------------------------------- /ShoB/Home.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdaralan/ShoB/HEAD/ShoB/Home.swift -------------------------------------------------------------------------------- /ShoB/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdaralan/ShoB/HEAD/ShoB/Info.plist -------------------------------------------------------------------------------- /ShoB/Model/Contact.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdaralan/ShoB/HEAD/ShoB/Model/Contact.swift -------------------------------------------------------------------------------- /ShoB/Model/Customer.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdaralan/ShoB/HEAD/ShoB/Model/Customer.swift -------------------------------------------------------------------------------- /ShoB/Model/Order.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdaralan/ShoB/HEAD/ShoB/Model/Order.swift -------------------------------------------------------------------------------- /ShoB/Model/OrderItem.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdaralan/ShoB/HEAD/ShoB/Model/OrderItem.swift -------------------------------------------------------------------------------- /ShoB/Model/SaleItem.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdaralan/ShoB/HEAD/ShoB/Model/SaleItem.swift -------------------------------------------------------------------------------- /ShoB/Model/Store.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdaralan/ShoB/HEAD/ShoB/Model/Store.swift -------------------------------------------------------------------------------- /ShoB/Order Scene/OrderForm.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdaralan/ShoB/HEAD/ShoB/Order Scene/OrderForm.swift -------------------------------------------------------------------------------- /ShoB/Order Scene/OrderFormModel.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdaralan/ShoB/HEAD/ShoB/Order Scene/OrderFormModel.swift -------------------------------------------------------------------------------- /ShoB/Order Scene/OrderItemForm.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdaralan/ShoB/HEAD/ShoB/Order Scene/OrderItemForm.swift -------------------------------------------------------------------------------- /ShoB/Order Scene/OrderItemRow.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdaralan/ShoB/HEAD/ShoB/Order Scene/OrderItemRow.swift -------------------------------------------------------------------------------- /ShoB/Order Scene/OrderListView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdaralan/ShoB/HEAD/ShoB/Order Scene/OrderListView.swift -------------------------------------------------------------------------------- /ShoB/Order Scene/OrderListViewModel.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdaralan/ShoB/HEAD/ShoB/Order Scene/OrderListViewModel.swift -------------------------------------------------------------------------------- /ShoB/Order Scene/OrderRow.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdaralan/ShoB/HEAD/ShoB/Order Scene/OrderRow.swift -------------------------------------------------------------------------------- /ShoB/Order Scene/OrderRowContentView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdaralan/ShoB/HEAD/ShoB/Order Scene/OrderRowContentView.swift -------------------------------------------------------------------------------- /ShoB/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdaralan/ShoB/HEAD/ShoB/Preview Content/Preview Assets.xcassets/Contents.json -------------------------------------------------------------------------------- /ShoB/Property Wrapper/AlwaysLowercasedWrapper.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdaralan/ShoB/HEAD/ShoB/Property Wrapper/AlwaysLowercasedWrapper.swift -------------------------------------------------------------------------------- /ShoB/Property Wrapper/CurrencyWrapper.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdaralan/ShoB/HEAD/ShoB/Property Wrapper/CurrencyWrapper.swift -------------------------------------------------------------------------------- /ShoB/Protocol/MultiPurposeForm.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdaralan/ShoB/HEAD/ShoB/Protocol/MultiPurposeForm.swift -------------------------------------------------------------------------------- /ShoB/Sale Item Scene/SaleItemForm+Model.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdaralan/ShoB/HEAD/ShoB/Sale Item Scene/SaleItemForm+Model.swift -------------------------------------------------------------------------------- /ShoB/Sale Item Scene/SaleItemForm+View.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdaralan/ShoB/HEAD/ShoB/Sale Item Scene/SaleItemForm+View.swift -------------------------------------------------------------------------------- /ShoB/Sale Item Scene/SaleItemForm.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdaralan/ShoB/HEAD/ShoB/Sale Item Scene/SaleItemForm.swift -------------------------------------------------------------------------------- /ShoB/Sale Item Scene/SaleItemFormModel.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdaralan/ShoB/HEAD/ShoB/Sale Item Scene/SaleItemFormModel.swift -------------------------------------------------------------------------------- /ShoB/Sale Item Scene/SaleItemListView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdaralan/ShoB/HEAD/ShoB/Sale Item Scene/SaleItemListView.swift -------------------------------------------------------------------------------- /ShoB/Sale Item Scene/SaleItemRow.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdaralan/ShoB/HEAD/ShoB/Sale Item Scene/SaleItemRow.swift -------------------------------------------------------------------------------- /ShoB/Sample Data/customer-sample-data.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdaralan/ShoB/HEAD/ShoB/Sample Data/customer-sample-data.json -------------------------------------------------------------------------------- /ShoB/Sample Data/sale-item-sample-data.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdaralan/ShoB/HEAD/ShoB/Sample Data/sale-item-sample-data.json -------------------------------------------------------------------------------- /ShoB/SceneDelegate.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdaralan/ShoB/HEAD/ShoB/SceneDelegate.swift -------------------------------------------------------------------------------- /ShoB/ShoB.entitlements: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdaralan/ShoB/HEAD/ShoB/ShoB.entitlements -------------------------------------------------------------------------------- /ShoB/ShoB.xcdatamodeld/ShoB.xcdatamodel/contents: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdaralan/ShoB/HEAD/ShoB/ShoB.xcdatamodeld/ShoB.xcdatamodel/contents -------------------------------------------------------------------------------- /ShoB/Store Scene/StoreForm.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdaralan/ShoB/HEAD/ShoB/Store Scene/StoreForm.swift -------------------------------------------------------------------------------- /ShoB/Store Scene/StoreFormModel.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdaralan/ShoB/HEAD/ShoB/Store Scene/StoreFormModel.swift -------------------------------------------------------------------------------- /ShoB/Store Scene/StoreListView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdaralan/ShoB/HEAD/ShoB/Store Scene/StoreListView.swift -------------------------------------------------------------------------------- /ShoB/Store Scene/StoreRow.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdaralan/ShoB/HEAD/ShoB/Store Scene/StoreRow.swift -------------------------------------------------------------------------------- /ShoB/Utility/AppCache.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdaralan/ShoB/HEAD/ShoB/Utility/AppCache.swift -------------------------------------------------------------------------------- /ShoB/Utility/CoreDataStack.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdaralan/ShoB/HEAD/ShoB/Utility/CoreDataStack.swift -------------------------------------------------------------------------------- /ShoB/Utility/Currency.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdaralan/ShoB/HEAD/ShoB/Utility/Currency.swift -------------------------------------------------------------------------------- /ShoB/Utility/Importer.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdaralan/ShoB/HEAD/ShoB/Utility/Importer.swift -------------------------------------------------------------------------------- /ShoB/Utility/NavigationStateHandler.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdaralan/ShoB/HEAD/ShoB/Utility/NavigationStateHandler.swift -------------------------------------------------------------------------------- /ShoB/Utility/NotificationObserver.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdaralan/ShoB/HEAD/ShoB/Utility/NotificationObserver.swift -------------------------------------------------------------------------------- /ShoB/Utility/UserDefaultsValue.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdaralan/ShoB/HEAD/ShoB/Utility/UserDefaultsValue.swift -------------------------------------------------------------------------------- /ShoB/Utility/ViewForceReloader.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdaralan/ShoB/HEAD/ShoB/Utility/ViewForceReloader.swift -------------------------------------------------------------------------------- /ShoB/View Modifier/DeleteAlertModifier.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdaralan/ShoB/HEAD/ShoB/View Modifier/DeleteAlertModifier.swift -------------------------------------------------------------------------------- /ShoB/View/CurrencyTextField.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdaralan/ShoB/HEAD/ShoB/View/CurrencyTextField.swift -------------------------------------------------------------------------------- /ShoB/View/ModalInputField.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdaralan/ShoB/HEAD/ShoB/View/ModalInputField.swift -------------------------------------------------------------------------------- /ShoB/View/SearchTextField.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdaralan/ShoB/HEAD/ShoB/View/SearchTextField.swift -------------------------------------------------------------------------------- /ShoB/View/TextFieldWrapper.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdaralan/ShoB/HEAD/ShoB/View/TextFieldWrapper.swift -------------------------------------------------------------------------------- /ShoB/View/TextViewWrapper.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdaralan/ShoB/HEAD/ShoB/View/TextViewWrapper.swift -------------------------------------------------------------------------------- /ShoB/View/UIRTextField.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdaralan/ShoB/HEAD/ShoB/View/UIRTextField.swift -------------------------------------------------------------------------------- /ShoB/View/VerticalTextField.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdaralan/ShoB/HEAD/ShoB/View/VerticalTextField.swift --------------------------------------------------------------------------------