diff options
58 files changed, 447 insertions, 141 deletions
diff --git a/StoneIsland/platforms/android/AndroidManifest.xml b/StoneIsland/platforms/android/AndroidManifest.xml index 22019d7b..bcf48a32 100755 --- a/StoneIsland/platforms/android/AndroidManifest.xml +++ b/StoneIsland/platforms/android/AndroidManifest.xml @@ -35,6 +35,27 @@ </intent-filter> </service> <service android:exported="false" android:name="com.adobe.phonegap.push.RegistrationIntentService" /> + <service android:name="com.parse.PushService" /> + <receiver android:name="com.parse.ParseBroadcastReceiver"> + <intent-filter> + <action android:name="android.intent.action.BOOT_COMPLETED" /> + <action android:name="android.intent.action.USER_PRESENT" /> + </intent-filter> + </receiver> + <receiver android:exported="false" android:name="org.apache.cordova.core.ParsePluginReceiver"> + <intent-filter> + <action android:name="com.parse.push.intent.RECEIVE" /> + <action android:name="com.parse.push.intent.DELETE" /> + <action android:name="com.parse.push.intent.OPEN" /> + </intent-filter> + </receiver> + <receiver android:name="com.parse.GcmBroadcastReceiver" android:permission="com.google.android.c2dm.permission.SEND"> + <intent-filter> + <action android:name="com.google.android.c2dm.intent.RECEIVE" /> + <action android:name="com.google.android.c2dm.intent.REGISTRATION" /> + <category android:name="us.okfoc.stoneisland" /> + </intent-filter> + </receiver> </application> <uses-sdk android:minSdkVersion="14" android:targetSdkVersion="22" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> @@ -45,4 +66,6 @@ <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" /> <permission android:name="us.okfoc.stoneisland.permission.C2D_MESSAGE" android:protectionLevel="signature" /> <uses-permission android:name="us.okfoc.stoneisland.permission.C2D_MESSAGE" /> + <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> + <uses-permission android:name="android.permission.GET_ACCOUNTS" /> </manifest> diff --git a/StoneIsland/platforms/android/android.json b/StoneIsland/platforms/android/android.json index 23a02f95..62549cb8 100755 --- a/StoneIsland/platforms/android/android.json +++ b/StoneIsland/platforms/android/android.json @@ -47,6 +47,10 @@ { "xml": "<feature name=\"PushNotification\"><param name=\"android-package\" value=\"com.adobe.phonegap.push.PushPlugin\" /></feature>", "count": 1 + }, + { + "xml": "<feature name=\"ParsePlugin\"><param name=\"android-package\" value=\"org.apache.cordova.core.ParsePlugin\" /></feature>", + "count": 1 } ] } @@ -80,30 +84,38 @@ "/manifest": [ { "xml": "<uses-permission android:name=\"android.permission.INTERNET\" />", - "count": 1 + "count": 2 }, { "xml": "<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\" />", - "count": 1 + "count": 2 }, { "xml": "<uses-permission android:name=\"android.permission.WAKE_LOCK\" />", - "count": 1 + "count": 2 }, { "xml": "<uses-permission android:name=\"android.permission.VIBRATE\" />", - "count": 1 + "count": 2 }, { "xml": "<uses-permission android:name=\"com.google.android.c2dm.permission.RECEIVE\" />", - "count": 1 + "count": 2 }, { "xml": "<permission android:name=\"us.okfoc.stoneisland.permission.C2D_MESSAGE\" android:protectionLevel=\"signature\" />", - "count": 1 + "count": 2 }, { "xml": "<uses-permission android:name=\"us.okfoc.stoneisland.permission.C2D_MESSAGE\" />", + "count": 2 + }, + { + "xml": "<uses-permission android:name=\"android.permission.RECEIVE_BOOT_COMPLETED\" />", + "count": 1 + }, + { + "xml": "<uses-permission android:name=\"android.permission.GET_ACCOUNTS\" />", "count": 1 } ], @@ -127,6 +139,36 @@ { "xml": "<service android:exported=\"false\" android:name=\"com.adobe.phonegap.push.RegistrationIntentService\"></service>", "count": 1 + }, + { + "xml": "<service android:name=\"com.parse.PushService\" />", + "count": 1 + }, + { + "xml": "<receiver android:name=\"com.parse.ParseBroadcastReceiver\"><intent-filter><action android:name=\"android.intent.action.BOOT_COMPLETED\" /><action android:name=\"android.intent.action.USER_PRESENT\" /></intent-filter></receiver>", + "count": 1 + }, + { + "xml": "<receiver android:exported=\"false\" android:name=\"org.apache.cordova.core.ParsePluginReceiver\"><intent-filter><action android:name=\"com.parse.push.intent.RECEIVE\" /><action android:name=\"com.parse.push.intent.DELETE\" /><action android:name=\"com.parse.push.intent.OPEN\" /></intent-filter></receiver>", + "count": 1 + }, + { + "xml": "<receiver android:name=\"com.parse.GcmBroadcastReceiver\" android:permission=\"com.google.android.c2dm.permission.SEND\"><intent-filter><action android:name=\"com.google.android.c2dm.intent.RECEIVE\" /><action android:name=\"com.google.android.c2dm.intent.REGISTRATION\" /><category android:name=\"us.okfoc.stoneisland\" /></intent-filter></receiver>", + "count": 1 + } + ] + } + }, + "res/values/parseplugin.xml": { + "parents": { + "/*": [ + { + "xml": "<string name=\"parse_app_id\">GS82ZxpN8Mecpc53rsyu6aLLGK0W4CKi42J25DLB</string>", + "count": 1 + }, + { + "xml": "<string name=\"parse_client_key\">hQRtQfsgimYnX5PMivtcdXCG9eZhESeyTr0Rd8Sv</string>", + "count": 1 } ] } @@ -170,6 +212,11 @@ }, "phonegap-plugin-push": { "PACKAGE_NAME": "us.okfoc.stoneisland" + }, + "com.parse.cordova.core.pushplugin": { + "APP_ID": "GS82ZxpN8Mecpc53rsyu6aLLGK0W4CKi42J25DLB", + "CLIENT_KEY": "hQRtQfsgimYnX5PMivtcdXCG9eZhESeyTr0Rd8Sv", + "PACKAGE_NAME": "us.okfoc.stoneisland" } }, "dependent_plugins": {}, @@ -285,6 +332,14 @@ "clobbers": [ "PushNotification" ] + }, + { + "file": "plugins/com.parse.cordova.core.pushplugin/www/cdv-plugin-parse.js", + "id": "com.parse.cordova.core.pushplugin.ParsePlugin", + "pluginId": "com.parse.cordova.core.pushplugin", + "clobbers": [ + "window.parsePlugin" + ] } ], "plugin_metadata": { @@ -299,6 +354,7 @@ "cordova-plugin-splashscreen": "2.1.0", "cordova-plugin-whitelist": "1.0.0", "cordova-plugin-x-socialsharing": "5.0.7", - "phonegap-plugin-push": "1.4.4" + "phonegap-plugin-push": "1.4.4", + "com.parse.cordova.core.pushplugin": "0.1.0" } }
\ No newline at end of file diff --git a/StoneIsland/platforms/android/assets/www/cordova_plugins.js b/StoneIsland/platforms/android/assets/www/cordova_plugins.js index f3122075..eec97542 100755 --- a/StoneIsland/platforms/android/assets/www/cordova_plugins.js +++ b/StoneIsland/platforms/android/assets/www/cordova_plugins.js @@ -111,6 +111,14 @@ module.exports = [ "clobbers": [ "PushNotification" ] + }, + { + "file": "plugins/com.parse.cordova.core.pushplugin/www/cdv-plugin-parse.js", + "id": "com.parse.cordova.core.pushplugin.ParsePlugin", + "pluginId": "com.parse.cordova.core.pushplugin", + "clobbers": [ + "window.parsePlugin" + ] } ]; module.exports.metadata = @@ -127,7 +135,8 @@ module.exports.metadata = "cordova-plugin-splashscreen": "2.1.0", "cordova-plugin-whitelist": "1.0.0", "cordova-plugin-x-socialsharing": "5.0.7", - "phonegap-plugin-push": "1.4.4" + "phonegap-plugin-push": "1.4.4", + "com.parse.cordova.core.pushplugin": "0.1.0" } // BOTTOM OF METADATA });
\ No newline at end of file diff --git a/StoneIsland/platforms/android/assets/www/css/nav.css b/StoneIsland/platforms/android/assets/www/css/nav.css index 923dd85f..f76fb744 100755 --- a/StoneIsland/platforms/android/assets/www/css/nav.css +++ b/StoneIsland/platforms/android/assets/www/css/nav.css @@ -303,6 +303,7 @@ padding-bottom:0px; #selector { display: none; position: absolute; + bottom: 0; left: 0; background: #fff; z-index: 2; width:100%; diff --git a/StoneIsland/platforms/android/assets/www/js/index.js b/StoneIsland/platforms/android/assets/www/js/index.js index 0b3531dd..468c0d7e 100755 --- a/StoneIsland/platforms/android/assets/www/js/index.js +++ b/StoneIsland/platforms/android/assets/www/js/index.js @@ -3,7 +3,7 @@ var app = (function(){ app.init = function(){ - sdk.init({ env: "production" }) + sdk.init({ env: "test" }) app.bind() app.build() diff --git a/StoneIsland/platforms/android/assets/www/js/lib/account/OrdersView.js b/StoneIsland/platforms/android/assets/www/js/lib/account/OrdersView.js index e51676e0..a1b83767 100755 --- a/StoneIsland/platforms/android/assets/www/js/lib/account/OrdersView.js +++ b/StoneIsland/platforms/android/assets/www/js/lib/account/OrdersView.js @@ -8,8 +8,8 @@ var OrdersView = ScrollableView.extend({ item_template: $("#orders .item_template").html(), events: { - "touchstart .back": "back", - "touchstart .item": "load_single", + "click .back": "back", + "click .item": "load_single", }, initialize: function(){ diff --git a/StoneIsland/platforms/android/assets/www/js/lib/account/PaymentView.js b/StoneIsland/platforms/android/assets/www/js/lib/account/PaymentView.js index 03dc8cbf..8b49ed1d 100755 --- a/StoneIsland/platforms/android/assets/www/js/lib/account/PaymentView.js +++ b/StoneIsland/platforms/android/assets/www/js/lib/account/PaymentView.js @@ -34,7 +34,7 @@ var PaymentView = FormView.extend({ show: function(){ if (! auth.logged_in()) { return app.router.go("intro") } - app.footer.show("SAVE", "CANCEL") + app.footer.show("SAVE") document.body.className = "payment" this.deferScrollToTop() // this.preload() diff --git a/StoneIsland/platforms/android/assets/www/js/lib/account/ProfileView.js b/StoneIsland/platforms/android/assets/www/js/lib/account/ProfileView.js index ed2f3536..f370c055 100755 --- a/StoneIsland/platforms/android/assets/www/js/lib/account/ProfileView.js +++ b/StoneIsland/platforms/android/assets/www/js/lib/account/ProfileView.js @@ -15,7 +15,7 @@ var ProfileView = FormView.extend({ show: function(){ if (! auth.logged_in()) { return app.router.go("intro") } - app.footer.show("SAVE", "CANCEL") + app.footer.show("SAVE") document.body.className = "profile" this.preload(auth.user) this.deferScrollToTop() diff --git a/StoneIsland/platforms/android/assets/www/js/lib/account/SettingsView.js b/StoneIsland/platforms/android/assets/www/js/lib/account/SettingsView.js index 7f96bb88..0de80048 100755 --- a/StoneIsland/platforms/android/assets/www/js/lib/account/SettingsView.js +++ b/StoneIsland/platforms/android/assets/www/js/lib/account/SettingsView.js @@ -13,7 +13,7 @@ var SettingsView = FormView.extend({ show: function(){ if (! auth.logged_in()) { return app.router.go("intro") } - app.footer.show("SAVE", "CANCEL") + app.footer.show("SAVE") document.body.className = "settings" this.deferScrollToTop() }, diff --git a/StoneIsland/platforms/android/assets/www/js/lib/account/ShippingView.js b/StoneIsland/platforms/android/assets/www/js/lib/account/ShippingView.js index 39baf2aa..0bf88025 100755 --- a/StoneIsland/platforms/android/assets/www/js/lib/account/ShippingView.js +++ b/StoneIsland/platforms/android/assets/www/js/lib/account/ShippingView.js @@ -33,7 +33,7 @@ var ShippingView = FormView.extend({ show: function(){ if (! auth.logged_in()) { return app.router.go("intro") } // this.preload( this.data || this.test_data ) - app.footer.show("SAVE", "CANCEL") + app.footer.show("SAVE") document.body.className = "shipping" this.deferScrollToTop() }, diff --git a/StoneIsland/platforms/android/assets/www/js/lib/auth/LoginView.js b/StoneIsland/platforms/android/assets/www/js/lib/auth/LoginView.js index f96d1e44..8a002632 100755 --- a/StoneIsland/platforms/android/assets/www/js/lib/auth/LoginView.js +++ b/StoneIsland/platforms/android/assets/www/js/lib/auth/LoginView.js @@ -5,7 +5,7 @@ var LoginView = FormView.extend({ action: sdk.account.login, events: { - "touchstart .newuser": "new_user", + "click .newuser": "new_user", "submit form": "save", }, @@ -21,7 +21,7 @@ var LoginView = FormView.extend({ return } var msg = "* Your personal and payment<br>information will always remain private" - app.footer.show("SUBMIT", "CANCEL") + app.footer.show("SUBMIT") this.$form.get(0).reset() this.$msg.html(msg) document.body.className = "login" diff --git a/StoneIsland/platforms/android/assets/www/js/lib/auth/SignupView.js b/StoneIsland/platforms/android/assets/www/js/lib/auth/SignupView.js index 19c07c32..ff5fa6bb 100755 --- a/StoneIsland/platforms/android/assets/www/js/lib/auth/SignupView.js +++ b/StoneIsland/platforms/android/assets/www/js/lib/auth/SignupView.js @@ -20,7 +20,7 @@ var SignupView = FormView.extend({ */ events: { - "touchstart .privacy-msg": "privacy_link", + "click .privacy-msg": "privacy_link", "submit form": "save", }, @@ -36,7 +36,7 @@ var SignupView = FormView.extend({ return } var msg = "* Your personal and payment<br>information will always remain private" - app.footer.show("SUBMIT", "CANCEL") + app.footer.show("SUBMIT") this.$form.get(0).reset() this.$msg.html(msg) document.body.className = "signup" diff --git a/StoneIsland/platforms/android/assets/www/js/lib/blogs/ArchiveView.js b/StoneIsland/platforms/android/assets/www/js/lib/blogs/ArchiveView.js index 2802ab9e..254df6d1 100755 --- a/StoneIsland/platforms/android/assets/www/js/lib/blogs/ArchiveView.js +++ b/StoneIsland/platforms/android/assets/www/js/lib/blogs/ArchiveView.js @@ -5,7 +5,7 @@ var ArchiveView = ScrollableView.extend({ row_template: $("#archive .scroll .template").html(), events: { - "touchstart .item": "pick", + "click .item": "pick", "mousedown .row": "mousedown", "touchstart .row": "touchstart", "mousemove .row": "mousemove", diff --git a/StoneIsland/platforms/android/assets/www/js/lib/blogs/HubView.js b/StoneIsland/platforms/android/assets/www/js/lib/blogs/HubView.js index b2fb16db..49c05ff6 100755 --- a/StoneIsland/platforms/android/assets/www/js/lib/blogs/HubView.js +++ b/StoneIsland/platforms/android/assets/www/js/lib/blogs/HubView.js @@ -4,11 +4,11 @@ var HubView = ScrollableView.extend({ template: $("#hub .template").html(), events: { - "touchstart .share": "content-share", - "touchstart .store": "store_link", - "touchstart .gallery-left": "gallery_left", - "touchstart .gallery-right": "gallery_right", - "touchstart .play": "play_video", + "click .share": "content-share", + "click .store": "store_link", + "click .gallery-left": "gallery_left", + "click .gallery-right": "gallery_right", + "click .play": "play_video", }, initialize: function(){ diff --git a/StoneIsland/platforms/android/assets/www/js/lib/blogs/StoryView.js b/StoneIsland/platforms/android/assets/www/js/lib/blogs/StoryView.js index ee7193a6..a10c8351 100755 --- a/StoneIsland/platforms/android/assets/www/js/lib/blogs/StoryView.js +++ b/StoneIsland/platforms/android/assets/www/js/lib/blogs/StoryView.js @@ -6,7 +6,7 @@ var StoryView = ScrollableView.extend({ template: $("#story .template").html(), events: { - "touchstart .links li": "pick", + "click .links li": "pick", }, initialize: function(){ diff --git a/StoneIsland/platforms/android/assets/www/js/lib/cart/CartConfirm.js b/StoneIsland/platforms/android/assets/www/js/lib/cart/CartConfirm.js index f6c7f1f5..b7eb8828 100755 --- a/StoneIsland/platforms/android/assets/www/js/lib/cart/CartConfirm.js +++ b/StoneIsland/platforms/android/assets/www/js/lib/cart/CartConfirm.js @@ -28,7 +28,7 @@ var CartConfirm = FormView.extend({ show: function(){ document.body.className = "cart" app.cart.el.className = "confirm" - app.footer.show("PLACE ORDER", "CANCEL") + app.footer.show("PLACE ORDER") window.location.hash = "#/cart/confirm" this.deferScrollToTop() diff --git a/StoneIsland/platforms/android/assets/www/js/lib/cart/CartPayment.js b/StoneIsland/platforms/android/assets/www/js/lib/cart/CartPayment.js index 7dd4db7c..ab454246 100755 --- a/StoneIsland/platforms/android/assets/www/js/lib/cart/CartPayment.js +++ b/StoneIsland/platforms/android/assets/www/js/lib/cart/CartPayment.js @@ -13,8 +13,8 @@ var CartPayment = FormView.extend({ events: { "change [name=SameAsShipping]": "toggle_shipping", - "touchstart .address_dropdown": "toggle_address", - "touchstart .cc_dropdown": "toggle_cc", + "click .address_dropdown": "toggle_address", + "click .cc_dropdown": "toggle_cc", }, initialize: function(opt){ @@ -41,7 +41,7 @@ var CartPayment = FormView.extend({ show: function(){ document.body.className = "cart" app.cart.el.className = "payment" - app.footer.show("CONFIRM >", "CANCEL") + app.footer.show("CONFIRM >") window.location.hash = "#/cart/payment" this.populate() diff --git a/StoneIsland/platforms/android/assets/www/js/lib/cart/CartShipping.js b/StoneIsland/platforms/android/assets/www/js/lib/cart/CartShipping.js index 33b082c0..1f60307e 100755 --- a/StoneIsland/platforms/android/assets/www/js/lib/cart/CartShipping.js +++ b/StoneIsland/platforms/android/assets/www/js/lib/cart/CartShipping.js @@ -10,7 +10,7 @@ var CartShipping = FormView.extend({ template: $("#cart_shipping .template").html(), events: { - "touchstart .dropdown-wrapper": "toggle_dropdown", + "click .dropdown-wrapper": "toggle_dropdown", }, initialize: function(opt){ @@ -28,7 +28,7 @@ var CartShipping = FormView.extend({ show: function(){ document.body.className = "cart" app.cart.el.className = "shipping" - app.footer.show("PAYMENT >", "CANCEL") + app.footer.show("PAYMENT >") window.location.hash = "#/cart/shipping" this.populate() this.deferScrollToTop() diff --git a/StoneIsland/platforms/android/assets/www/js/lib/cart/CartSummary.js b/StoneIsland/platforms/android/assets/www/js/lib/cart/CartSummary.js index 51b9cb80..01887d95 100755 --- a/StoneIsland/platforms/android/assets/www/js/lib/cart/CartSummary.js +++ b/StoneIsland/platforms/android/assets/www/js/lib/cart/CartSummary.js @@ -5,7 +5,7 @@ var CartSummary = ScrollableView.extend({ template: $("#cart_summary .template").html(), events: { - "touchstart .remove": "remove_item", + "click .remove": "remove_item", }, data: null, @@ -38,7 +38,7 @@ var CartSummary = ScrollableView.extend({ load: function(){ this.el.className = "loading" - app.footer.show("SHIPPING >", "CANCEL") + app.footer.show("SHIPPING >") app.curtain.show("loading") sdk.cart.get_status({ success: this.populate.bind(this), diff --git a/StoneIsland/platforms/android/assets/www/js/lib/cart/CartView.js b/StoneIsland/platforms/android/assets/www/js/lib/cart/CartView.js index 0e04c025..1b08e418 100755 --- a/StoneIsland/platforms/android/assets/www/js/lib/cart/CartView.js +++ b/StoneIsland/platforms/android/assets/www/js/lib/cart/CartView.js @@ -3,9 +3,9 @@ var CartView = View.extend({ el: "#cart", events: { - "touchstart .summary_step": "show_summary", - "touchstart .shipping_step": "show_shipping", - "touchstart .payment_step": "show_payment", + "click .summary_step": "show_summary", + "click .shipping_step": "show_shipping", + "click .payment_step": "show_payment", }, initialize: function(){ diff --git a/StoneIsland/platforms/android/assets/www/js/lib/nav/SearchView.js b/StoneIsland/platforms/android/assets/www/js/lib/nav/SearchView.js index f21634a5..b477d72f 100755 --- a/StoneIsland/platforms/android/assets/www/js/lib/nav/SearchView.js +++ b/StoneIsland/platforms/android/assets/www/js/lib/nav/SearchView.js @@ -6,7 +6,7 @@ var SearchView = View.extend({ }, show: function(){ - app.footer.show("SEARCH", "CANCEL") + app.footer.show("SEARCH") document.body.className = "search" }, diff --git a/StoneIsland/platforms/android/assets/www/js/lib/products/ClosedStoreView.js b/StoneIsland/platforms/android/assets/www/js/lib/products/ClosedStoreView.js index c42e1828..5f8c1e84 100755 --- a/StoneIsland/platforms/android/assets/www/js/lib/products/ClosedStoreView.js +++ b/StoneIsland/platforms/android/assets/www/js/lib/products/ClosedStoreView.js @@ -5,7 +5,7 @@ var ClosedStoreView = View.extend({ storeIsClosed: false, events: { - "touchstart .website_link": "website_link", + "click .website_link": "website_link", }, delay: 8000, diff --git a/StoneIsland/platforms/android/assets/www/js/lib/products/CollectionView.js b/StoneIsland/platforms/android/assets/www/js/lib/products/CollectionView.js index 7a020798..798920d1 100755 --- a/StoneIsland/platforms/android/assets/www/js/lib/products/CollectionView.js +++ b/StoneIsland/platforms/android/assets/www/js/lib/products/CollectionView.js @@ -49,7 +49,7 @@ var CollectionView = ScrollableView.extend({ return } this.$loader.show() - sdk.product.collection({ + sdk.product.all({ gallery_id: app.gallery_id, success: this.populate.bind(this) }) diff --git a/StoneIsland/platforms/android/assets/www/js/lib/products/ProductView.js b/StoneIsland/platforms/android/assets/www/js/lib/products/ProductView.js index 9d518b11..285e551d 100755 --- a/StoneIsland/platforms/android/assets/www/js/lib/products/ProductView.js +++ b/StoneIsland/platforms/android/assets/www/js/lib/products/ProductView.js @@ -4,12 +4,12 @@ var ProductView = ScrollableView.extend({ el: "#product", events: { - "touchstart .fit": "scroll_to_bottom", - "touchstart .size": "select_size", - "touchstart .color": "select_color", - "touchstart .share": "share", - "touchstart .gallery-left": "gallery_left", - "touchstart .gallery-right": "gallery_right", + "click .fit": "scroll_to_bottom", + "click .size": "select_size", + "click .color": "select_color", + "click .share": "share", + "click .gallery-left": "gallery_left", + "click .gallery-right": "gallery_right", }, initialize: function(){ @@ -29,12 +29,21 @@ var ProductView = ScrollableView.extend({ }, show: function(){ - app.footer.show("ADD TO CART", "BUY NOW") + this.showFooter() document.body.className = "product" }, hide: function(){ }, + showFooter: function(){ + if (this.not_available) { + app.footer.show("SOLD OUT") + } + else { + app.footer.show("ADD TO CART", "BUY NOW") + } + }, + item: null, details: null, size: null, @@ -87,7 +96,6 @@ var ProductView = ScrollableView.extend({ } window.location.href = "#/store/" + code - console.log(data) if (data) { app.collection.items[code] = data } @@ -113,38 +121,46 @@ var ProductView = ScrollableView.extend({ var body = descriptions['EditorialDescription'].replace(/<br>/g, "<br><br>") var default_color_id = this.populate_selectors(data, details) - - var color = this.colors[default_color_id] - var color_label = color.label - var sizes = this.find_sizes_for_color(default_color_id) - var size = sizes[0] - var size_label = this.sizes[size].label - this.is_onesize = !! this.sizes[1] + if (this.not_available) { + this.$color.html("NOT AVAILABLE") + this.$size.hide() + } + else { + var color = this.colors[default_color_id] + var color_label = color.label + var sizes = this.find_sizes_for_color(default_color_id) + var size = sizes[0] + var size_label = this.sizes[size].label + + this.color = color + this.size = size + + this.is_onesize = !! this.sizes[1] + this.$size.show().html(size_label) + if (color_label) { + this.$color.html(color_label) + } + else { + this.$color.hide() + } + } + // console.log(color, color_label, size, size_label) this.item = data this.details = details['Item'] this.code = data['DefaultCode10'] - this.color = color - this.size = size - this.$num.html(num) this.$title.html(title) this.$type.html(type) this.$price.html(price) this.$body.html(body) - - this.$size.html(size_label) - if (color_label) { - this.$color.show().html(color_label) - } - else { - this.$color.hide() - } + this.showFooter() + this.deferScrollToTop() }, @@ -167,6 +183,15 @@ var ProductView = ScrollableView.extend({ populate_selectors: function(data, details){ var sizes = {}, colors = {}, size_lookup = {}, default_color + console.log(details['Item']['ModelColors'].length) + if (! details['Item']['ModelColors'].length) { + this.not_available = true + return + } + else { + this.not_available = false + } + details['Item']['ModelColors'].forEach(function(color, index){ if (! default_color || color['Code10'] == data['DefaultCode10']) { default_color = color['ColorId'] @@ -203,7 +228,7 @@ var ProductView = ScrollableView.extend({ }, select_size: function(){ - + if (this.not_available) { return } if (this.is_onesize) { return this.select_color() } if (this.item['Sizes'].length == 0) { return } var sizes = Object.keys(this.sizes).map(function(key){ @@ -217,6 +242,7 @@ var ProductView = ScrollableView.extend({ }, select_color: function(){ + if (this.not_available) { return } if (this.item['Colors'].length == 0) { return } var colors = Object.keys(this.colors).map(function(key){ return this.colors[key] @@ -224,15 +250,19 @@ var ProductView = ScrollableView.extend({ app.selector.select("style", colors, function(color){ this.code = color.code this.$color.html(color.label) + + // UPDATE GALLERY }.bind(this)) }, // ADD TO CART save: function(){ + if (this.not_available) { return } this.add_to_cart({ route: false }) }, // BUY NOW cancel: function(){ + if (this.not_available) { return } this.add_to_cart({ route: true }) }, diff --git a/StoneIsland/platforms/android/assets/www/js/lib/products/Selector.js b/StoneIsland/platforms/android/assets/www/js/lib/products/Selector.js index 1b91cf80..17278a06 100755 --- a/StoneIsland/platforms/android/assets/www/js/lib/products/Selector.js +++ b/StoneIsland/platforms/android/assets/www/js/lib/products/Selector.js @@ -4,7 +4,7 @@ var Selector = View.extend({ template: $("#selector .template").html(), events: { - "touchstart .close": "hide", + "click .close": "hide", "click .options div": "pick", }, @@ -27,17 +27,13 @@ var Selector = View.extend({ this.$el.show() app.curtain.show("white") this.visible = true - var selectionXY = $("." + origin).offset() - var selectionWidth = $("." + origin).width() - var selectorHeight = $('#selector').height() - console.log(selectionXY.left) - console.log(selectionXY.top) - - $("#selector").css({"top":(selectionXY.top - selectorHeight),"left":selectionXY.left}) - - - - +// var selectionXY = $("." + origin).offset() +// var selectionWidth = $("." + origin).width() +// var selectorHeight = $('#selector').height() +// console.log(selectionXY.left) +// console.log(selectionXY.top) +// +// $("#selector").css({"top":(selectionXY.top - selectorHeight),"left":selectionXY.left}) }, hide: function(){ diff --git a/StoneIsland/platforms/android/assets/www/js/lib/view/Serializable.js b/StoneIsland/platforms/android/assets/www/js/lib/view/Serializable.js index 921dc275..98aa8ce3 100755 --- a/StoneIsland/platforms/android/assets/www/js/lib/view/Serializable.js +++ b/StoneIsland/platforms/android/assets/www/js/lib/view/Serializable.js @@ -4,7 +4,7 @@ var SerializableView = View.extend({ "change select": "update_select", "change [type=date]": "update_date", "focus input": "focus_input", - "touchstart .date-wrapper": "focus_date", + "click .date-wrapper": "focus_date", "submit form": "save", }, diff --git a/StoneIsland/platforms/android/assets/www/js/lib/view/View.js b/StoneIsland/platforms/android/assets/www/js/lib/view/View.js index 70d2c7eb..fe145221 100755 --- a/StoneIsland/platforms/android/assets/www/js/lib/view/View.js +++ b/StoneIsland/platforms/android/assets/www/js/lib/view/View.js @@ -64,9 +64,9 @@ var View = (function($, _){ if (eventName === 'mouseenter' || eventName === 'mouseleave') { continue } - if (eventName === 'click') { - eventName = 'touchstart' - } + if (is_android && eventName === 'click') { + eventName = 'touchstart' + } } if (selector === '') { this.$el.on(eventName, method); diff --git a/StoneIsland/platforms/android/assets/www/js/sdk/_sdk.js b/StoneIsland/platforms/android/assets/www/js/sdk/_sdk.js index b7880e50..017df015 100755 --- a/StoneIsland/platforms/android/assets/www/js/sdk/_sdk.js +++ b/StoneIsland/platforms/android/assets/www/js/sdk/_sdk.js @@ -26,7 +26,7 @@ var sdk = (function(){ } sdk.image = function(code, size){ - return "http://cdn.yoox.biz/" + code.substr(0,2) + "/" + code.substr(0,8) + "_" + size + ".jpg" + return "http://cdn.yoox.biz/" + code.substr(0,2) + "/" + code + "_" + size + ".jpg" } $.ajaxSetup({ diff --git a/StoneIsland/platforms/android/assets/www/js/sdk/product.js b/StoneIsland/platforms/android/assets/www/js/sdk/product.js index 55f1940a..7c12e7d7 100755 --- a/StoneIsland/platforms/android/assets/www/js/sdk/product.js +++ b/StoneIsland/platforms/android/assets/www/js/sdk/product.js @@ -3,6 +3,16 @@ sdk.product = (function(){ var default_gallery = 31617 + product.all = function(opt){ + return $.ajax({ + method: "GET", + url: sdk.path("Search.API/1.2", "search.json"), + data: { format: "full", productsPerPage: 100 }, + success: opt.success, + error: opt.error, + }) + } + product.collection = function(opt){ return $.ajax({ method: "GET", diff --git a/StoneIsland/platforms/android/platform_www/cordova_plugins.js b/StoneIsland/platforms/android/platform_www/cordova_plugins.js index f3122075..eec97542 100755 --- a/StoneIsland/platforms/android/platform_www/cordova_plugins.js +++ b/StoneIsland/platforms/android/platform_www/cordova_plugins.js @@ -111,6 +111,14 @@ module.exports = [ "clobbers": [ "PushNotification" ] + }, + { + "file": "plugins/com.parse.cordova.core.pushplugin/www/cdv-plugin-parse.js", + "id": "com.parse.cordova.core.pushplugin.ParsePlugin", + "pluginId": "com.parse.cordova.core.pushplugin", + "clobbers": [ + "window.parsePlugin" + ] } ]; module.exports.metadata = @@ -127,7 +135,8 @@ module.exports.metadata = "cordova-plugin-splashscreen": "2.1.0", "cordova-plugin-whitelist": "1.0.0", "cordova-plugin-x-socialsharing": "5.0.7", - "phonegap-plugin-push": "1.4.4" + "phonegap-plugin-push": "1.4.4", + "com.parse.cordova.core.pushplugin": "0.1.0" } // BOTTOM OF METADATA });
\ No newline at end of file diff --git a/StoneIsland/platforms/android/res/xml/config.xml b/StoneIsland/platforms/android/res/xml/config.xml index 69078b96..177e57d5 100755 --- a/StoneIsland/platforms/android/res/xml/config.xml +++ b/StoneIsland/platforms/android/res/xml/config.xml @@ -34,6 +34,9 @@ <feature name="PushNotification"> <param name="android-package" value="com.adobe.phonegap.push.PushPlugin" /> </feature> + <feature name="ParsePlugin"> + <param name="android-package" value="org.apache.cordova.core.ParsePlugin" /> + </feature> <allow-intent href="market:*" /> <name>Stone Island</name> <description> diff --git a/StoneIsland/platforms/ios/Stone Island.xcodeproj/project.pbxproj b/StoneIsland/platforms/ios/Stone Island.xcodeproj/project.pbxproj index 18ba30a6..d6872ec7 100755 --- a/StoneIsland/platforms/ios/Stone Island.xcodeproj/project.pbxproj +++ b/StoneIsland/platforms/ios/Stone Island.xcodeproj/project.pbxproj @@ -5,7 +5,6 @@ }; objectVersion = 46; objects = { - /* Begin PBXBuildFile section */ 04679954946B416BAF5109F4 /* AppDelegate+notification.m in Sources */ = {isa = PBXBuildFile; fileRef = E281A1AF5CAC496486193F7D /* AppDelegate+notification.m */; }; 0D43DE7D3F4F4D2CA1143CCD /* CDVLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = 02EC23045EE24BFE9394BE84 /* CDVLogger.m */; }; @@ -60,6 +59,16 @@ E507737F3A0941E68A569F9B /* CDVViewController+SplashScreen.m in Sources */ = {isa = PBXBuildFile; fileRef = 4F1FF1ED80D34C91A03C18FD /* CDVViewController+SplashScreen.m */; }; E9AB3A7C5BC846C8877B780D /* CDVInAppBrowser.m in Sources */ = {isa = PBXBuildFile; fileRef = 9DA5A6FCAA884998901EF477 /* CDVInAppBrowser.m */; }; F7CC7E6030524635AC59C0A0 /* MessageUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 900B1AD106FC41E3BFA9FE3C /* MessageUI.framework */; settings = {ATTRIBUTES = (Weak, ); }; }; + CE2E2F6D58504A0EA2470AEE /* CDVParsePlugin.m in Sources */ = {isa = PBXBuildFile; fileRef = 3048B836F3BD467E83BFF217 /* CDVParsePlugin.m */; }; + 3102D8D9D718447EA83756B0 /* Accounts.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DBAC083B6EEF4FB38ED1C4B2 /* Accounts.framework */; }; + F15FEE33CBCA427DA2D787F4 /* CFNetwork.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 581F34F5A1784D4D9A99F383 /* CFNetwork.framework */; }; + A7F71F118E604F32AE765DFD /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 38EE2AA2E4DD46CEA0DA5F7C /* QuartzCore.framework */; }; + 68795A6B86504E52812A115C /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E164C253C9004A0898A7606E /* Security.framework */; }; + 93F9C9374ABA4745AF40DA08 /* StoreKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 983FEA48E6A049E8BAF9C572 /* StoreKit.framework */; }; + 12F814F101B54B69BBBCC136 /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 2A4EF415F441417C98D8794B /* libz.dylib */; }; + 5F8DBCF934714D4D8F58F78C /* libsqlite3.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 7084D4977636441A9FCB146A /* libsqlite3.dylib */; }; + 571B90B51E784D48BDAE8EB8 /* Bolts.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1045410447CE4A2EA0F38BDD /* Bolts.framework */; }; + 6E6F1C559C9840249E48D92E /* Parse.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = EDCE0392D0524C77B377854D /* Parse.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -157,6 +166,17 @@ EB87FDF41871DAF40020F90C /* config.xml */ = {isa = PBXFileReference; lastKnownFileType = text.xml; name = config.xml; path = ../../config.xml; sourceTree = "<group>"; }; F0AAFF41056245EFBF8D4D8F /* CDVLocation.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CDVLocation.m; path = "cordova-plugin-geolocation/CDVLocation.m"; sourceTree = "<group>"; }; F840E1F0165FE0F500CFE078 /* config.xml */ = {isa = PBXFileReference; lastKnownFileType = text.xml; name = config.xml; path = "Stone Island/config.xml"; sourceTree = "<group>"; }; + 3048B836F3BD467E83BFF217 /* CDVParsePlugin.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = "CDVParsePlugin.m"; path = "com.parse.cordova.core.pushplugin/CDVParsePlugin.m"; sourceTree = "<group>"; fileEncoding = 4; }; + 48C0A6981FEE47D091E9781C /* CDVParsePlugin.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "CDVParsePlugin.h"; path = "com.parse.cordova.core.pushplugin/CDVParsePlugin.h"; sourceTree = "<group>"; fileEncoding = 4; }; + DBAC083B6EEF4FB38ED1C4B2 /* Accounts.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = "Accounts.framework"; path = "System/Library/Frameworks/Accounts.framework"; sourceTree = SDKROOT; fileEncoding = 4; }; + 581F34F5A1784D4D9A99F383 /* CFNetwork.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = "CFNetwork.framework"; path = "System/Library/Frameworks/CFNetwork.framework"; sourceTree = SDKROOT; fileEncoding = 4; }; + 38EE2AA2E4DD46CEA0DA5F7C /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = "QuartzCore.framework"; path = "System/Library/Frameworks/QuartzCore.framework"; sourceTree = SDKROOT; fileEncoding = 4; }; + E164C253C9004A0898A7606E /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = "Security.framework"; path = "System/Library/Frameworks/Security.framework"; sourceTree = SDKROOT; fileEncoding = 4; }; + 983FEA48E6A049E8BAF9C572 /* StoreKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = "StoreKit.framework"; path = "System/Library/Frameworks/StoreKit.framework"; sourceTree = SDKROOT; fileEncoding = 4; }; + 2A4EF415F441417C98D8794B /* libz.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libz.dylib"; path = "usr/lib/libz.dylib"; sourceTree = SDKROOT; fileEncoding = 4; }; + 7084D4977636441A9FCB146A /* libsqlite3.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libsqlite3.dylib"; path = "usr/lib/libsqlite3.dylib"; sourceTree = SDKROOT; fileEncoding = 4; }; + 1045410447CE4A2EA0F38BDD /* Bolts.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = "Bolts.framework"; path = "Stone Island/Plugins/com.parse.cordova.core.pushplugin/Bolts.framework"; sourceTree = "<group>"; }; + EDCE0392D0524C77B377854D /* Parse.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = "Parse.framework"; path = "Stone Island/Plugins/com.parse.cordova.core.pushplugin/Parse.framework"; sourceTree = "<group>"; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -173,6 +193,15 @@ 32C7881E372548B8B10FCD81 /* SystemConfiguration.framework in Frameworks */, C520CB1888FA4F4E963A4605 /* Social.framework in Frameworks */, F7CC7E6030524635AC59C0A0 /* MessageUI.framework in Frameworks */, + 3102D8D9D718447EA83756B0 /* Accounts.framework in Frameworks */, + F15FEE33CBCA427DA2D787F4 /* CFNetwork.framework in Frameworks */, + A7F71F118E604F32AE765DFD /* QuartzCore.framework in Frameworks */, + 68795A6B86504E52812A115C /* Security.framework in Frameworks */, + 93F9C9374ABA4745AF40DA08 /* StoreKit.framework in Frameworks */, + 12F814F101B54B69BBBCC136 /* libz.dylib in Frameworks */, + 5F8DBCF934714D4D8F58F78C /* libsqlite3.dylib in Frameworks */, + 571B90B51E784D48BDAE8EB8 /* Bolts.framework in Frameworks */, + 6E6F1C559C9840249E48D92E /* Parse.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -251,6 +280,15 @@ C5E8712951F2426B9EC42E16 /* SystemConfiguration.framework */, 34ADAA286CAF455C830BBC5A /* Social.framework */, 900B1AD106FC41E3BFA9FE3C /* MessageUI.framework */, + DBAC083B6EEF4FB38ED1C4B2 /* Accounts.framework */, + 581F34F5A1784D4D9A99F383 /* CFNetwork.framework */, + 38EE2AA2E4DD46CEA0DA5F7C /* QuartzCore.framework */, + E164C253C9004A0898A7606E /* Security.framework */, + 983FEA48E6A049E8BAF9C572 /* StoreKit.framework */, + 2A4EF415F441417C98D8794B /* libz.dylib */, + 7084D4977636441A9FCB146A /* libsqlite3.dylib */, + 1045410447CE4A2EA0F38BDD /* Bolts.framework */, + EDCE0392D0524C77B377854D /* Parse.framework */, ); name = Frameworks; sourceTree = "<group>"; @@ -294,6 +332,8 @@ E0289321840940989600F684 /* PushPlugin.h */, 9DA5A6FCAA884998901EF477 /* CDVInAppBrowser.m */, B3F3C58C9BDE42978CEB4933 /* CDVInAppBrowser.h */, + 3048B836F3BD467E83BFF217 /* CDVParsePlugin.m */, + 48C0A6981FEE47D091E9781C /* CDVParsePlugin.h */, ); name = Plugins; path = "Stone Island/Plugins"; @@ -503,6 +543,7 @@ 04679954946B416BAF5109F4 /* AppDelegate+notification.m in Sources */, A51DA261CB3F4B89BC98FFDE /* PushPlugin.m in Sources */, E9AB3A7C5BC846C8877B780D /* CDVInAppBrowser.m in Sources */, + CE2E2F6D58504A0EA2470AEE /* CDVParsePlugin.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -548,6 +589,11 @@ PRODUCT_NAME = "Stone Island"; PROVISIONING_PROFILE = ""; TARGETED_DEVICE_FAMILY = 1; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "\"Stone Island/Plugins/com.parse.cordova.core.pushplugin\"", + "\"Stone Island/Plugins/com.parse.cordova.core.pushplugin\"", + ); }; name = Debug; }; @@ -580,6 +626,11 @@ PRODUCT_NAME = "Stone Island"; PROVISIONING_PROFILE = ""; TARGETED_DEVICE_FAMILY = 1; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "\"Stone Island/Plugins/com.parse.cordova.core.pushplugin\"", + "\"Stone Island/Plugins/com.parse.cordova.core.pushplugin\"", + ); }; name = Release; }; diff --git a/StoneIsland/platforms/ios/Stone Island/config.xml b/StoneIsland/platforms/ios/Stone Island/config.xml index 1114ca1f..e2b86e33 100755 --- a/StoneIsland/platforms/ios/Stone Island/config.xml +++ b/StoneIsland/platforms/ios/Stone Island/config.xml @@ -46,6 +46,9 @@ <feature name="InAppBrowser"> <param name="ios-package" value="CDVInAppBrowser" /> </feature> + <feature name="ParsePlugin"> + <param name="ios-package" value="CDVParsePlugin" /> + </feature> <allow-intent href="itms:*" /> <allow-intent href="itms-apps:*" /> <preference name="KeyboardDisplayRequiresUserAction" value="false" /> diff --git a/StoneIsland/platforms/ios/frameworks.json b/StoneIsland/platforms/ios/frameworks.json index 1b8fc309..615b5f0b 100755 --- a/StoneIsland/platforms/ios/frameworks.json +++ b/StoneIsland/platforms/ios/frameworks.json @@ -1,7 +1,14 @@ { - "AudioToolbox.framework": 1, - "CoreLocation.framework": 1, - "SystemConfiguration.framework": 1, - "Social.framework": 1, - "MessageUI.framework": 1 + "AudioToolbox.framework": 2, + "CoreLocation.framework": 2, + "SystemConfiguration.framework": 2, + "Social.framework": 2, + "MessageUI.framework": 1, + "Accounts.framework": 1, + "CFNetwork.framework": 1, + "QuartzCore.framework": 1, + "Security.framework": 1, + "StoreKit.framework": 1, + "libz.dylib": 1, + "libsqlite3.dylib": 1 }
\ No newline at end of file diff --git a/StoneIsland/platforms/ios/ios.json b/StoneIsland/platforms/ios/ios.json index 774d6f81..08b0488c 100755 --- a/StoneIsland/platforms/ios/ios.json +++ b/StoneIsland/platforms/ios/ios.json @@ -47,6 +47,10 @@ { "xml": "<feature name=\"InAppBrowser\"><param name=\"ios-package\" value=\"CDVInAppBrowser\" /></feature>", "count": 1 + }, + { + "xml": "<feature name=\"ParsePlugin\"><param name=\"ios-package\" value=\"CDVParsePlugin\" /></feature>", + "count": 1 } ] } @@ -112,6 +116,9 @@ }, "cordova-plugin-inappbrowser": { "PACKAGE_NAME": "us.okfoc.stoneisland" + }, + "com.parse.cordova.core.pushplugin": { + "PACKAGE_NAME": "us.okfoc.stoneisland" } }, "dependent_plugins": {}, @@ -245,6 +252,14 @@ "cordova.InAppBrowser.open", "window.open" ] + }, + { + "file": "plugins/com.parse.cordova.core.pushplugin/www/cdv-plugin-parse.js", + "id": "com.parse.cordova.core.pushplugin.ParsePlugin", + "pluginId": "com.parse.cordova.core.pushplugin", + "clobbers": [ + "window.parsePlugin" + ] } ], "plugin_metadata": { @@ -259,6 +274,7 @@ "cordova-plugin-whitelist": "1.0.0", "cordova-plugin-x-socialsharing": "5.0.7", "phonegap-plugin-push": "1.4.4", - "cordova-plugin-inappbrowser": "1.1.0" + "cordova-plugin-inappbrowser": "1.1.0", + "com.parse.cordova.core.pushplugin": "0.1.0" } }
\ No newline at end of file diff --git a/StoneIsland/platforms/ios/platform_www/cordova_plugins.js b/StoneIsland/platforms/ios/platform_www/cordova_plugins.js index fabd1474..ba2c072d 100755 --- a/StoneIsland/platforms/ios/platform_www/cordova_plugins.js +++ b/StoneIsland/platforms/ios/platform_www/cordova_plugins.js @@ -129,6 +129,14 @@ module.exports = [ "cordova.InAppBrowser.open", "window.open" ] + }, + { + "file": "plugins/com.parse.cordova.core.pushplugin/www/cdv-plugin-parse.js", + "id": "com.parse.cordova.core.pushplugin.ParsePlugin", + "pluginId": "com.parse.cordova.core.pushplugin", + "clobbers": [ + "window.parsePlugin" + ] } ]; module.exports.metadata = @@ -145,7 +153,8 @@ module.exports.metadata = "cordova-plugin-whitelist": "1.0.0", "cordova-plugin-x-socialsharing": "5.0.7", "phonegap-plugin-push": "1.4.4", - "cordova-plugin-inappbrowser": "1.1.0" + "cordova-plugin-inappbrowser": "1.1.0", + "com.parse.cordova.core.pushplugin": "0.1.0" } // BOTTOM OF METADATA });
\ No newline at end of file diff --git a/StoneIsland/platforms/ios/www/cordova_plugins.js b/StoneIsland/platforms/ios/www/cordova_plugins.js index fabd1474..ba2c072d 100755 --- a/StoneIsland/platforms/ios/www/cordova_plugins.js +++ b/StoneIsland/platforms/ios/www/cordova_plugins.js @@ -129,6 +129,14 @@ module.exports = [ "cordova.InAppBrowser.open", "window.open" ] + }, + { + "file": "plugins/com.parse.cordova.core.pushplugin/www/cdv-plugin-parse.js", + "id": "com.parse.cordova.core.pushplugin.ParsePlugin", + "pluginId": "com.parse.cordova.core.pushplugin", + "clobbers": [ + "window.parsePlugin" + ] } ]; module.exports.metadata = @@ -145,7 +153,8 @@ module.exports.metadata = "cordova-plugin-whitelist": "1.0.0", "cordova-plugin-x-socialsharing": "5.0.7", "phonegap-plugin-push": "1.4.4", - "cordova-plugin-inappbrowser": "1.1.0" + "cordova-plugin-inappbrowser": "1.1.0", + "com.parse.cordova.core.pushplugin": "0.1.0" } // BOTTOM OF METADATA });
\ No newline at end of file diff --git a/StoneIsland/platforms/ios/www/css/nav.css b/StoneIsland/platforms/ios/www/css/nav.css index 923dd85f..f76fb744 100755 --- a/StoneIsland/platforms/ios/www/css/nav.css +++ b/StoneIsland/platforms/ios/www/css/nav.css @@ -303,6 +303,7 @@ padding-bottom:0px; #selector { display: none; position: absolute; + bottom: 0; left: 0; background: #fff; z-index: 2; width:100%; diff --git a/StoneIsland/platforms/ios/www/js/lib/account/PaymentView.js b/StoneIsland/platforms/ios/www/js/lib/account/PaymentView.js index 03dc8cbf..8b49ed1d 100755 --- a/StoneIsland/platforms/ios/www/js/lib/account/PaymentView.js +++ b/StoneIsland/platforms/ios/www/js/lib/account/PaymentView.js @@ -34,7 +34,7 @@ var PaymentView = FormView.extend({ show: function(){ if (! auth.logged_in()) { return app.router.go("intro") } - app.footer.show("SAVE", "CANCEL") + app.footer.show("SAVE") document.body.className = "payment" this.deferScrollToTop() // this.preload() diff --git a/StoneIsland/platforms/ios/www/js/lib/account/ProfileView.js b/StoneIsland/platforms/ios/www/js/lib/account/ProfileView.js index ed2f3536..f370c055 100755 --- a/StoneIsland/platforms/ios/www/js/lib/account/ProfileView.js +++ b/StoneIsland/platforms/ios/www/js/lib/account/ProfileView.js @@ -15,7 +15,7 @@ var ProfileView = FormView.extend({ show: function(){ if (! auth.logged_in()) { return app.router.go("intro") } - app.footer.show("SAVE", "CANCEL") + app.footer.show("SAVE") document.body.className = "profile" this.preload(auth.user) this.deferScrollToTop() diff --git a/StoneIsland/platforms/ios/www/js/lib/account/SettingsView.js b/StoneIsland/platforms/ios/www/js/lib/account/SettingsView.js index 7f96bb88..0de80048 100755 --- a/StoneIsland/platforms/ios/www/js/lib/account/SettingsView.js +++ b/StoneIsland/platforms/ios/www/js/lib/account/SettingsView.js @@ -13,7 +13,7 @@ var SettingsView = FormView.extend({ show: function(){ if (! auth.logged_in()) { return app.router.go("intro") } - app.footer.show("SAVE", "CANCEL") + app.footer.show("SAVE") document.body.className = "settings" this.deferScrollToTop() }, diff --git a/StoneIsland/platforms/ios/www/js/lib/account/ShippingView.js b/StoneIsland/platforms/ios/www/js/lib/account/ShippingView.js index 39baf2aa..0bf88025 100755 --- a/StoneIsland/platforms/ios/www/js/lib/account/ShippingView.js +++ b/StoneIsland/platforms/ios/www/js/lib/account/ShippingView.js @@ -33,7 +33,7 @@ var ShippingView = FormView.extend({ show: function(){ if (! auth.logged_in()) { return app.router.go("intro") } // this.preload( this.data || this.test_data ) - app.footer.show("SAVE", "CANCEL") + app.footer.show("SAVE") document.body.className = "shipping" this.deferScrollToTop() }, diff --git a/StoneIsland/platforms/ios/www/js/lib/auth/LoginView.js b/StoneIsland/platforms/ios/www/js/lib/auth/LoginView.js index 1f7438cc..8a002632 100755 --- a/StoneIsland/platforms/ios/www/js/lib/auth/LoginView.js +++ b/StoneIsland/platforms/ios/www/js/lib/auth/LoginView.js @@ -21,7 +21,7 @@ var LoginView = FormView.extend({ return } var msg = "* Your personal and payment<br>information will always remain private" - app.footer.show("SUBMIT", "CANCEL") + app.footer.show("SUBMIT") this.$form.get(0).reset() this.$msg.html(msg) document.body.className = "login" diff --git a/StoneIsland/platforms/ios/www/js/lib/auth/SignupView.js b/StoneIsland/platforms/ios/www/js/lib/auth/SignupView.js index afbb8877..ff5fa6bb 100755 --- a/StoneIsland/platforms/ios/www/js/lib/auth/SignupView.js +++ b/StoneIsland/platforms/ios/www/js/lib/auth/SignupView.js @@ -36,7 +36,7 @@ var SignupView = FormView.extend({ return } var msg = "* Your personal and payment<br>information will always remain private" - app.footer.show("SUBMIT", "CANCEL") + app.footer.show("SUBMIT") this.$form.get(0).reset() this.$msg.html(msg) document.body.className = "signup" diff --git a/StoneIsland/platforms/ios/www/js/lib/cart/CartConfirm.js b/StoneIsland/platforms/ios/www/js/lib/cart/CartConfirm.js index f6c7f1f5..b7eb8828 100755 --- a/StoneIsland/platforms/ios/www/js/lib/cart/CartConfirm.js +++ b/StoneIsland/platforms/ios/www/js/lib/cart/CartConfirm.js @@ -28,7 +28,7 @@ var CartConfirm = FormView.extend({ show: function(){ document.body.className = "cart" app.cart.el.className = "confirm" - app.footer.show("PLACE ORDER", "CANCEL") + app.footer.show("PLACE ORDER") window.location.hash = "#/cart/confirm" this.deferScrollToTop() diff --git a/StoneIsland/platforms/ios/www/js/lib/cart/CartPayment.js b/StoneIsland/platforms/ios/www/js/lib/cart/CartPayment.js index f3c54d55..ab454246 100755 --- a/StoneIsland/platforms/ios/www/js/lib/cart/CartPayment.js +++ b/StoneIsland/platforms/ios/www/js/lib/cart/CartPayment.js @@ -41,7 +41,7 @@ var CartPayment = FormView.extend({ show: function(){ document.body.className = "cart" app.cart.el.className = "payment" - app.footer.show("CONFIRM >", "CANCEL") + app.footer.show("CONFIRM >") window.location.hash = "#/cart/payment" this.populate() diff --git a/StoneIsland/platforms/ios/www/js/lib/cart/CartShipping.js b/StoneIsland/platforms/ios/www/js/lib/cart/CartShipping.js index f17d42d2..1f60307e 100755 --- a/StoneIsland/platforms/ios/www/js/lib/cart/CartShipping.js +++ b/StoneIsland/platforms/ios/www/js/lib/cart/CartShipping.js @@ -28,7 +28,7 @@ var CartShipping = FormView.extend({ show: function(){ document.body.className = "cart" app.cart.el.className = "shipping" - app.footer.show("PAYMENT >", "CANCEL") + app.footer.show("PAYMENT >") window.location.hash = "#/cart/shipping" this.populate() this.deferScrollToTop() diff --git a/StoneIsland/platforms/ios/www/js/lib/cart/CartSummary.js b/StoneIsland/platforms/ios/www/js/lib/cart/CartSummary.js index 21fc27dc..01887d95 100755 --- a/StoneIsland/platforms/ios/www/js/lib/cart/CartSummary.js +++ b/StoneIsland/platforms/ios/www/js/lib/cart/CartSummary.js @@ -38,7 +38,7 @@ var CartSummary = ScrollableView.extend({ load: function(){ this.el.className = "loading" - app.footer.show("SHIPPING >", "CANCEL") + app.footer.show("SHIPPING >") app.curtain.show("loading") sdk.cart.get_status({ success: this.populate.bind(this), diff --git a/StoneIsland/platforms/ios/www/js/lib/nav/SearchView.js b/StoneIsland/platforms/ios/www/js/lib/nav/SearchView.js index f21634a5..b477d72f 100755 --- a/StoneIsland/platforms/ios/www/js/lib/nav/SearchView.js +++ b/StoneIsland/platforms/ios/www/js/lib/nav/SearchView.js @@ -6,7 +6,7 @@ var SearchView = View.extend({ }, show: function(){ - app.footer.show("SEARCH", "CANCEL") + app.footer.show("SEARCH") document.body.className = "search" }, diff --git a/StoneIsland/platforms/ios/www/js/lib/products/ProductView.js b/StoneIsland/platforms/ios/www/js/lib/products/ProductView.js index 6893f88c..285e551d 100755 --- a/StoneIsland/platforms/ios/www/js/lib/products/ProductView.js +++ b/StoneIsland/platforms/ios/www/js/lib/products/ProductView.js @@ -29,12 +29,21 @@ var ProductView = ScrollableView.extend({ }, show: function(){ - app.footer.show("ADD TO CART", "BUY NOW") + this.showFooter() document.body.className = "product" }, hide: function(){ }, + showFooter: function(){ + if (this.not_available) { + app.footer.show("SOLD OUT") + } + else { + app.footer.show("ADD TO CART", "BUY NOW") + } + }, + item: null, details: null, size: null, @@ -87,7 +96,6 @@ var ProductView = ScrollableView.extend({ } window.location.href = "#/store/" + code - console.log(data) if (data) { app.collection.items[code] = data } @@ -113,38 +121,46 @@ var ProductView = ScrollableView.extend({ var body = descriptions['EditorialDescription'].replace(/<br>/g, "<br><br>") var default_color_id = this.populate_selectors(data, details) - - var color = this.colors[default_color_id] - var color_label = color.label - var sizes = this.find_sizes_for_color(default_color_id) - var size = sizes[0] - var size_label = this.sizes[size].label - this.is_onesize = !! this.sizes[1] + if (this.not_available) { + this.$color.html("NOT AVAILABLE") + this.$size.hide() + } + else { + var color = this.colors[default_color_id] + var color_label = color.label + var sizes = this.find_sizes_for_color(default_color_id) + var size = sizes[0] + var size_label = this.sizes[size].label + + this.color = color + this.size = size + + this.is_onesize = !! this.sizes[1] + this.$size.show().html(size_label) + if (color_label) { + this.$color.html(color_label) + } + else { + this.$color.hide() + } + } + // console.log(color, color_label, size, size_label) this.item = data this.details = details['Item'] this.code = data['DefaultCode10'] - this.color = color - this.size = size - this.$num.html(num) this.$title.html(title) this.$type.html(type) this.$price.html(price) this.$body.html(body) - - this.$size.html(size_label) - if (color_label) { - this.$color.show().html(color_label) - } - else { - this.$color.hide() - } + this.showFooter() + this.deferScrollToTop() }, @@ -167,6 +183,15 @@ var ProductView = ScrollableView.extend({ populate_selectors: function(data, details){ var sizes = {}, colors = {}, size_lookup = {}, default_color + console.log(details['Item']['ModelColors'].length) + if (! details['Item']['ModelColors'].length) { + this.not_available = true + return + } + else { + this.not_available = false + } + details['Item']['ModelColors'].forEach(function(color, index){ if (! default_color || color['Code10'] == data['DefaultCode10']) { default_color = color['ColorId'] @@ -203,7 +228,7 @@ var ProductView = ScrollableView.extend({ }, select_size: function(){ - + if (this.not_available) { return } if (this.is_onesize) { return this.select_color() } if (this.item['Sizes'].length == 0) { return } var sizes = Object.keys(this.sizes).map(function(key){ @@ -217,6 +242,7 @@ var ProductView = ScrollableView.extend({ }, select_color: function(){ + if (this.not_available) { return } if (this.item['Colors'].length == 0) { return } var colors = Object.keys(this.colors).map(function(key){ return this.colors[key] @@ -224,15 +250,19 @@ var ProductView = ScrollableView.extend({ app.selector.select("style", colors, function(color){ this.code = color.code this.$color.html(color.label) + + // UPDATE GALLERY }.bind(this)) }, // ADD TO CART save: function(){ + if (this.not_available) { return } this.add_to_cart({ route: false }) }, // BUY NOW cancel: function(){ + if (this.not_available) { return } this.add_to_cart({ route: true }) }, diff --git a/StoneIsland/platforms/ios/www/js/lib/products/Selector.js b/StoneIsland/platforms/ios/www/js/lib/products/Selector.js index 69bb1186..17278a06 100755 --- a/StoneIsland/platforms/ios/www/js/lib/products/Selector.js +++ b/StoneIsland/platforms/ios/www/js/lib/products/Selector.js @@ -27,17 +27,13 @@ var Selector = View.extend({ this.$el.show() app.curtain.show("white") this.visible = true - var selectionXY = $("." + origin).offset() - var selectionWidth = $("." + origin).width() - var selectorHeight = $('#selector').height() - console.log(selectionXY.left) - console.log(selectionXY.top) - - $("#selector").css({"top":(selectionXY.top - selectorHeight),"left":selectionXY.left}) - - - - +// var selectionXY = $("." + origin).offset() +// var selectionWidth = $("." + origin).width() +// var selectorHeight = $('#selector').height() +// console.log(selectionXY.left) +// console.log(selectionXY.top) +// +// $("#selector").css({"top":(selectionXY.top - selectorHeight),"left":selectionXY.left}) }, hide: function(){ diff --git a/StoneIsland/platforms/ios/www/js/sdk/_sdk.js b/StoneIsland/platforms/ios/www/js/sdk/_sdk.js index b7880e50..017df015 100755 --- a/StoneIsland/platforms/ios/www/js/sdk/_sdk.js +++ b/StoneIsland/platforms/ios/www/js/sdk/_sdk.js @@ -26,7 +26,7 @@ var sdk = (function(){ } sdk.image = function(code, size){ - return "http://cdn.yoox.biz/" + code.substr(0,2) + "/" + code.substr(0,8) + "_" + size + ".jpg" + return "http://cdn.yoox.biz/" + code.substr(0,2) + "/" + code + "_" + size + ".jpg" } $.ajaxSetup({ diff --git a/StoneIsland/plugins/android.json b/StoneIsland/plugins/android.json index 2583c782..e9e9ecdb 100755 --- a/StoneIsland/plugins/android.json +++ b/StoneIsland/plugins/android.json @@ -43,6 +43,11 @@ }, "phonegap-plugin-push": { "PACKAGE_NAME": "us.okfoc.stoneisland" + }, + "com.parse.cordova.core.pushplugin": { + "APP_ID": "GS82ZxpN8Mecpc53rsyu6aLLGK0W4CKi42J25DLB", + "CLIENT_KEY": "hQRtQfsgimYnX5PMivtcdXCG9eZhESeyTr0Rd8Sv", + "PACKAGE_NAME": "us.okfoc.stoneisland" } }, "dependent_plugins": {} diff --git a/StoneIsland/plugins/fetch.json b/StoneIsland/plugins/fetch.json index 108c8360..cb0dbc6f 100755 --- a/StoneIsland/plugins/fetch.json +++ b/StoneIsland/plugins/fetch.json @@ -96,5 +96,17 @@ }, "is_top_level": true, "variables": {} + }, + "com.parse.cordova.core.pushplugin": { + "source": { + "type": "git", + "url": "https://github.com/grrrian/phonegap-parse-plugin", + "subdir": "." + }, + "is_top_level": true, + "variables": { + "APP_ID": "GS82ZxpN8Mecpc53rsyu6aLLGK0W4CKi42J25DLB", + "CLIENT_KEY": "hQRtQfsgimYnX5PMivtcdXCG9eZhESeyTr0Rd8Sv" + } } }
\ No newline at end of file diff --git a/StoneIsland/plugins/ios.json b/StoneIsland/plugins/ios.json index 5cb40d7a..7bb9ef16 100755 --- a/StoneIsland/plugins/ios.json +++ b/StoneIsland/plugins/ios.json @@ -43,6 +43,9 @@ }, "cordova-plugin-inappbrowser": { "PACKAGE_NAME": "us.okfoc.stoneisland" + }, + "com.parse.cordova.core.pushplugin": { + "PACKAGE_NAME": "us.okfoc.stoneisland" } }, "dependent_plugins": {} diff --git a/StoneIsland/www/js/lib/blogs/BlogView.js b/StoneIsland/www/js/lib/blogs/BlogView.js index 9b49abbd..59c0a192 100755 --- a/StoneIsland/www/js/lib/blogs/BlogView.js +++ b/StoneIsland/www/js/lib/blogs/BlogView.js @@ -30,10 +30,14 @@ var BlogView = View.extend({ }) this.loader.preloadImage(data.story[0].image.uri, function(img){ app.story.populate(data.story) + setTimeout(function(){ + this.loader.preloadImage(data.story[1].image.uri) + this.loader.preloadImage(data.story[2].image.uri) + }, 2000) }) + data.page.forEach(function(page){ app[page.tag].populate(page) - }) app.collection.setCollectionName( data.store[0].collection ) diff --git a/StoneIsland/www/js/lib/etc/push.js b/StoneIsland/www/js/lib/etc/push.js index ab0c0141..0db5c1a2 100755 --- a/StoneIsland/www/js/lib/etc/push.js +++ b/StoneIsland/www/js/lib/etc/push.js @@ -1 +1,24 @@ -//
\ No newline at end of file +var push = (function(){ + var appId + var clientKey + var push = {} + push.init = function(){ + parsePlugin.initialize(appId, clientKey, push.subscribe, push.error) + } + push.subscribe = function() { + parsePlugin.subscribe('SampleChannel', push.did_subscribe, push.error) + } + push.did_subscribe = function(){ + // parsePlugin.getInstallationId(function(id) { + // var install_data = { + // installation_id: id, + // channels: ['SampleChannel'] + // } + // }, push.error) + } + push.error = function(e){ + console.log("push error") + } + + return push +})()
\ No newline at end of file diff --git a/StoneIsland/www/js/lib/products/CollectionView.js b/StoneIsland/www/js/lib/products/CollectionView.js index 798920d1..d290e4b4 100755 --- a/StoneIsland/www/js/lib/products/CollectionView.js +++ b/StoneIsland/www/js/lib/products/CollectionView.js @@ -49,7 +49,7 @@ var CollectionView = ScrollableView.extend({ return } this.$loader.show() - sdk.product.all({ + sdk.collection.all({ gallery_id: app.gallery_id, success: this.populate.bind(this) }) |
