diff --git a/Vendoo.xcworkspace/xcuserdata/okechi.xcuserdatad/UserInterfaceState.xcuserstate b/Vendoo.xcworkspace/xcuserdata/okechi.xcuserdatad/UserInterfaceState.xcuserstate
index eaa9f3a..606fe83 100644
Binary files a/Vendoo.xcworkspace/xcuserdata/okechi.xcuserdatad/UserInterfaceState.xcuserstate and b/Vendoo.xcworkspace/xcuserdata/okechi.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/Vendoo.xcworkspace/xcuserdata/okechi.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/Vendoo.xcworkspace/xcuserdata/okechi.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
index bda5725..19781a5 100644
--- a/Vendoo.xcworkspace/xcuserdata/okechi.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
+++ b/Vendoo.xcworkspace/xcuserdata/okechi.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
@@ -280,7 +280,7 @@
moduleName = "Vendoo"
usesParentBreakpointCondition = "Yes"
urlString = "file:///Users/okechi/Documents/iOs%20Practice/Vendoo/Vendoo_bb/Vendoo/Vendoo/ExternalWebViewController.swift"
- timestampString = "504915510.522741"
+ timestampString = "505105059.906101"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "32"
@@ -295,7 +295,7 @@
moduleName = "Vendoo"
usesParentBreakpointCondition = "Yes"
urlString = "file:///Users/okechi/Documents/iOs%20Practice/Vendoo/Vendoo_bb/Vendoo/Vendoo/ExternalWebViewController.swift"
- timestampString = "504915510.522902"
+ timestampString = "505105059.906318"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "32"
@@ -310,7 +310,7 @@
moduleName = "Vendoo"
usesParentBreakpointCondition = "Yes"
urlString = "file:///Users/okechi/Documents/iOs%20Practice/Vendoo/Vendoo_bb/Vendoo/Vendoo/ExternalWebViewController.swift"
- timestampString = "504915510.523053"
+ timestampString = "505105059.906451"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "32"
@@ -325,7 +325,7 @@
moduleName = "Vendoo"
usesParentBreakpointCondition = "Yes"
urlString = "file:///Users/okechi/Documents/iOs%20Practice/Vendoo/Vendoo_bb/Vendoo/Vendoo/ExternalWebViewController.swift"
- timestampString = "504915510.523207"
+ timestampString = "505105059.906581"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "32"
@@ -399,5 +399,149 @@
landmarkType = "5">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Vendoo/HomeViewController.swift b/Vendoo/HomeViewController.swift
index 8c0ab74..32619c3 100644
--- a/Vendoo/HomeViewController.swift
+++ b/Vendoo/HomeViewController.swift
@@ -190,7 +190,10 @@ class HomeViewController: UITabBarController {
//once all listings have been retrieved and processed start retrieving possible notifications
if(notificationStartTracker == listingDict?.count){
- NSNotificationCenter.defaultCenter().postNotificationName("finished_fetching_listings", object: nil)
+ self.userListings.sortInPlace({$0.title > $1.title})
+ self.endedListings.sortInPlace({$0.title > $1.title})
+ self.soldListings.sortInPlace({$0.title > $1.title})
+ NSNotificationCenter.defaultCenter().postNotificationName("finished_fetching_listings", object: nil)
self.notificationsManager.setListings(self.userListings)
self.notificationsManager.startServicePolling()
diff --git a/Vendoo/ItemImagePickerViewController.swift b/Vendoo/ItemImagePickerViewController.swift
index 4e920ee..59f712b 100644
--- a/Vendoo/ItemImagePickerViewController.swift
+++ b/Vendoo/ItemImagePickerViewController.swift
@@ -47,6 +47,10 @@ class ItemImagePickerViewController: UIViewController {
private var imageIndex: Int!
private var isEditing: Bool = false
private var currentInformation: Dictionary!
+ var loadingView: UIView!
+ private var firManager: FirebaseManager! = nil
+
+
override func viewDidLoad() {
@@ -69,12 +73,24 @@ class ItemImagePickerViewController: UIViewController {
let tapGestureMain = UITapGestureRecognizer(target: self, action: #selector(ItemImagePickerViewController.takePicture))
self.view.addGestureRecognizer(tapGestureMain)
-
- //self.possibleItemImageMain.addGestureRecognizer(tapGestureMain)
- //self.possibleItemImage2.addGestureRecognizer(tapGesture2)
- //self.possibleItemImage3.addGestureRecognizer(tapGesture)
- //self.possibleItemImage4.addGestureRecognizer(tapGesture)
- //self.possibleItemImage5.addGestureRecognizer(tapGesture)
+ //hide all images and labels for picture slots 2 - 5
+ self.possibleItemImage2.hidden = true
+ self.possibleItemImage3.hidden = true
+ self.possibleItemImage4.hidden = true
+ self.possibleItemImage5.hidden = true
+ self.possibleItemImage2.userInteractionEnabled = false
+ self.possibleItemImage3.userInteractionEnabled = false
+ self.possibleItemImage4.userInteractionEnabled = false
+ self.possibleItemImage5.userInteractionEnabled = false
+ self.plus_label0.hidden = false
+ self.plus_label1.hidden = true
+ self.plus_label2.hidden = true
+ self.plus_label3.hidden = true
+ self.plus_label4.hidden = true
+ self.plus_label1.userInteractionEnabled = false
+ self.plus_label2.userInteractionEnabled = false
+ self.plus_label3.userInteractionEnabled = false
+ self.plus_label4.userInteractionEnabled = false
}
@@ -88,6 +104,7 @@ class ItemImagePickerViewController: UIViewController {
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
+ self.firManager = (self.tabBarController as! HomeViewController).firebaseManager
self.tabBarController?.tabBar.hidden = true
}
@@ -206,15 +223,36 @@ extension ItemImagePickerViewController: UIImagePickerControllerDelegate, UINavi
switch(self.imageIndex){
case 0:
self.plus_label0.hidden = true
+
+ //show slot 2
+ self.possibleItemImage2.hidden = false
+ self.possibleItemImage2.userInteractionEnabled = true
+ self.plus_label1.hidden = false
+ self.plus_label1.userInteractionEnabled = true
break
case 1:
self.plus_label1.hidden = true
+ //show slot 3
+ self.possibleItemImage3.hidden = false
+ self.possibleItemImage3.userInteractionEnabled = true
+ self.plus_label2.hidden = false
+ self.plus_label2.userInteractionEnabled = true
break
case 2:
self.plus_label2.hidden = true
+ //show slot 4
+ self.possibleItemImage4.hidden = false
+ self.possibleItemImage4.userInteractionEnabled = true
+ self.plus_label3.hidden = false
+ self.plus_label3.userInteractionEnabled = true
break
case 3:
self.plus_label3.hidden = true
+ //show slot 5
+ self.possibleItemImage5.hidden = false
+ self.possibleItemImage5.userInteractionEnabled = true
+ self.plus_label4.hidden = false
+ self.plus_label4.userInteractionEnabled = true
break
case 4:
self.plus_label4.hidden = true
@@ -247,7 +285,7 @@ extension ItemImagePickerViewController: UIImagePickerControllerDelegate, UINavi
if(self.itemImagesSelections[0]) {
self.imageIndex = 1
accessCam()
- } else {
+ } else if (!self.possibleItemImage2.hidden){
let alert = UIAlertController(title: "Main Image Needed", message: "You must have a main image before saving supporting images.", preferredStyle: .Alert)
alert.addAction(UIAlertAction(title: "OK", style: .Default, handler:{(action: UIAlertAction!) in alert.dismissViewControllerAnimated(true, completion: nil)}))
@@ -260,7 +298,7 @@ extension ItemImagePickerViewController: UIImagePickerControllerDelegate, UINavi
if(self.itemImagesSelections[0] && self.itemImagesSelections[1]) {
self.imageIndex = 2
accessCam()
- } else {
+ } else if (!self.possibleItemImage3.hidden){
let alert = UIAlertController(title: "Support Image 1 Missing", message: "You must save your first supporting image before saving more.", preferredStyle: .Alert)
alert.addAction(UIAlertAction(title: "OK", style: .Default, handler:{(action: UIAlertAction!) in alert.dismissViewControllerAnimated(true, completion: nil)}))
@@ -273,7 +311,7 @@ extension ItemImagePickerViewController: UIImagePickerControllerDelegate, UINavi
&& self.itemImagesSelections[2]) {
self.imageIndex = 3
accessCam()
- } else {
+ } else if (!self.possibleItemImage4.hidden){
let alert = UIAlertController(title: "Support Image 2 Missing", message: "You must save your first two supporting images before saving more.", preferredStyle: .Alert)
alert.addAction(UIAlertAction(title: "OK", style: .Default, handler:{(action: UIAlertAction!) in alert.dismissViewControllerAnimated(true, completion: nil)}))
@@ -286,7 +324,7 @@ extension ItemImagePickerViewController: UIImagePickerControllerDelegate, UINavi
&& self.itemImagesSelections[2] && self.itemImagesSelections[3]) {
self.imageIndex = 4
accessCam()
- } else {
+ } else if (!self.possibleItemImage5.hidden){
let alert = UIAlertController(title: "Support Image 3 Missing", message: "You must save your first three supporting images before saving more.", preferredStyle: .Alert)
alert.addAction(UIAlertAction(title: "OK", style: .Default, handler:{(action: UIAlertAction!) in alert.dismissViewControllerAnimated(true, completion: nil)}))
@@ -409,6 +447,15 @@ extension ItemImagePickerViewController {
}
@IBAction func draftItem(sender: AnyObject) {
+ self.loadingView = UIView(frame: self.view.frame)
+ self.loadingView.backgroundColor = UIColor.grayColor()
+ self.loadingView.alpha = 0.4
+
+ self.firManager.indicator.center = self.view.center
+
+ self.loadingView.addSubview(self.firManager.indicator)
+ self.view.addSubview(loadingView)
+ self.firManager.indicator.startAnimating()
if(self.possibleItemImageMain.image == nil){
let alert = UIAlertController(title: "Main Image Needed", message: "To proceed to save your listing as a draft, you must supply at least one picture for your listing.", preferredStyle: .Alert)
@@ -488,6 +535,9 @@ extension ItemImagePickerViewController {
{(metadata, error) -> Void in
newListingRef!.setValue(listing as? Dictionary)
+ self.firManager.indicator.stopAnimating()
+ self.loadingView.removeFromSuperview()
+ self.loadingView = nil
let alert = UIAlertController(title: "Item Saved", message: "Your listing has been saved by a draft", preferredStyle: .Alert)
alert.addAction(UIAlertAction(title: "OK", style: .Default, handler:{(action: UIAlertAction!) in alert.dismissViewControllerAnimated(true, completion: {
@@ -506,7 +556,7 @@ extension ItemImagePickerViewController {
}
@IBAction func cancelNewListing(sender: AnyObject) {
- //@FIXME: nil out all data user may have entered so that when they reopen new listing page it initialized to a fresh screen.
+ //nil out all data user may have entered so that when they reopen new listing page it initialized to a fresh screen.
if(!self.isEditing) {
self.tabBarController?.selectedIndex = 0
@@ -521,16 +571,29 @@ extension ItemImagePickerViewController {
self.possibleItemImage3.image = nil
self.possibleItemImage4.image = nil
self.possibleItemImage5.image = nil
+ self.possibleItemImage2.hidden = true
+ self.possibleItemImage3.hidden = true
+ self.possibleItemImage4.hidden = true
+ self.possibleItemImage5.hidden = true
+ self.possibleItemImage2.userInteractionEnabled = false
+ self.possibleItemImage3.userInteractionEnabled = false
+ self.possibleItemImage4.userInteractionEnabled = false
+ self.possibleItemImage5.userInteractionEnabled = false
self.itemImagesSelections[0] = false
self.itemImagesSelections[1] = false
self.itemImagesSelections[2] = false
self.itemImagesSelections[3] = false
self.itemImagesSelections[4] = false
self.plus_label0.hidden = false
- self.plus_label1.hidden = false
- self.plus_label2.hidden = false
- self.plus_label3.hidden = false
- self.plus_label4.hidden = false
+ self.plus_label1.hidden = true
+ self.plus_label2.hidden = true
+ self.plus_label3.hidden = true
+ self.plus_label4.hidden = true
+ self.plus_label1.userInteractionEnabled = false
+ self.plus_label2.userInteractionEnabled = false
+ self.plus_label3.userInteractionEnabled = false
+ self.plus_label4.userInteractionEnabled = false
+
}else{
self.presentingViewController?.dismissViewControllerAnimated(true, completion: nil)
diff --git a/Vendoo/Main.storyboard b/Vendoo/Main.storyboard
index ab1395e..5b3641c 100755
--- a/Vendoo/Main.storyboard
+++ b/Vendoo/Main.storyboard
@@ -1295,6 +1295,7 @@
+
diff --git a/Vendoo/NetworksTableViewController.swift b/Vendoo/NetworksTableViewController.swift
index 8f46013..3836d1f 100644
--- a/Vendoo/NetworksTableViewController.swift
+++ b/Vendoo/NetworksTableViewController.swift
@@ -37,6 +37,8 @@ class NetworksTableViewController: UIViewController {
private var shouldShowDictionary: Dictionary = ["ebay":false, "amazon":false,"etsy":false,"facebook":false]
private var networkOrderSelection: [String] = []
private var networkCount = 0
+ var loadingView: UIView!
+
@@ -334,6 +336,16 @@ extension NetworksTableViewController {
@IBAction func draftItem(sender: AnyObject) {
+ self.loadingView = UIView(frame: self.view.frame)
+ self.loadingView.backgroundColor = UIColor.grayColor()
+ self.loadingView.alpha = 0.4
+
+ self.firManager.indicator.center = self.view.center
+
+ self.loadingView.addSubview(self.firManager.indicator)
+ self.view.addSubview(loadingView)
+ self.firManager.indicator.startAnimating()
+
if((self.itemListingDictionary["pictures"]! as? [UIImageView])?[0].image == nil){
let alert = UIAlertController(title: "Image Needed", message: "To save the listing as a draft, you must supply at least one picture for your listing.", preferredStyle: .Alert)
@@ -352,6 +364,7 @@ extension NetworksTableViewController {
"listingTitle": self.itemListingDictionary["title"],
"listingPrice": self.itemListingDictionary["price"],
"listingCategory": self.itemListingDictionary["category"],
+ "listingQuantity": self.itemListingDictionary["quantity"],
"listingDescription": self.itemListingDictionary["description"],
"numberOfSupportingImages" : ((self.itemListingDictionary["pictures"] as? [UIImageView])?.count)! - 1,
"isListingDraft": true,
@@ -407,6 +420,9 @@ extension NetworksTableViewController {
{(metadata, error) -> Void in
newListingRef.setValue(listing as? Dictionary)
+ self.firManager.indicator.stopAnimating()
+ self.loadingView.removeFromSuperview()
+ self.loadingView = nil
let alert = UIAlertController(title: "Item Saved", message: "Your listing has been saved by a draft", preferredStyle: .Alert)
alert.addAction(UIAlertAction(title: "OK", style: .Default, handler:{(action: UIAlertAction!) in alert.dismissViewControllerAnimated(true, completion: {