Check all the ARGOS stores in one click, and get and find the stock levels fast!
Argos Stock Checker has found for Fisher-Price Smart Stages Counting Colours Clock 609/7763 - 66 have the item available for reservation.
|
| Item Number | 6097763 |
ENLARGE
|
Description | Fisher-Price Smart Stages Counting Colours Clock |
Price (at last stock search) | £14.99 (when checked last) |
|
All price changes within our database | 19/12/2017 | £19.99 | |
|
Last Price Update: | over 1 week ago |
Please look at each store individually to see when it was updated. If the store isn't below it hasn't been checked To update, sort by distance of your postcode, then select the radius to search. By clicking "update now" next to any store, it will update that store and the ones very local to that store. |
Description view/hide |
Size H24, W19, D9cm. Batteries required: 2 x . WARNING(S):Only for domestic use. EAN: 0887961043075. 2 reviewsOverall rating (4. 5)4. 5CloseCustomer ReviewsReview breakdown4. 5/5 from 2 reviews5 stars (1)4 stars (1)3 stars (0)2 stars (0)1 stars (0)CloseQualityEntertainment valueDevelopmentFeatures100% would recommend to a friend14 June 20165 / 5QualityEntertainment valueDevelopmentFeaturesBrilliant toy, gets used a lotQuality product that you'd expect from Fisher-Price, robust and well made. Pleasantly surprised by how many phrases there are, the buttons on top, the numbers and when the hands are turned all produce sound. Teaches shapes, colours, numbers as well as being fun, you can even switch it to French, so it counts in French. Yes, I recommend this productHelpful?Yes (0)No (0)yorkmumxxLocation:North Yorkshire, UKAge:45 to 54Gender:Female19 January 20164 / 5QualityEntertainment valueDevelopmentFeaturesGreat clock for little handsBought this for my 1 year old son. It's a great size for him to pick up and throw about, and is therefore robust also.
It keeps him entertained as he loves pushing the buttons and turning the hands.
Each number has a function either stating the number, the shape, the colour and shape, or playing a little tune. There is a separate function to allow the numbers to be said in English followed by French, which will be great for development later on. Yes, I recommend this productHelpful?Yes (0)No (0)Elizabeth31Location:London, UKAge:25 to 34Gender:FemaleRead reviews2 reviewsNewestOldestMost HelpfulHighest RatingLowest RatingBack to ProductQuestions & answersBe the first to ask a question!Ask a questionBoring but important info*Prices correct as displayed but are subject to change. Essential InformationCustomer ServicesPrivacy policyCookie policyTerms & conditionsSite mapSecure online shoppingEmail sign upShopping at ArgosHelp getting onlineArgos gift cardHome deliveryCheck & ReserveOrder trackingReturns & refundsQuick shopStore locatorProduct informationBuying guidesProduct careArgos CardArgos Credit & InsuranceA – Z indexFeatures & articlesProduct RecallProduct SupportAbout ArgosAbout usAffiliate programArgos for BusinessPress enquiriesOther sitesSainsbury'sArgos CareersArgos. ieArgos SparesArgos app for:iPhone |iPad |Android© Argos Limited 2016. All Rights Reserved. Store LocatorCustomer ServicesArgos CardPrivacy PolicyCookie PolicyTerms & ConditionsSainsbury'sMy Account© Argos Limited 2016. All Rights Reserved. window. App={context:{dispatcher:{stores:{RouteStore:{currentUrl:u002Fproductu002F6097763,currentNavigate:{transactionId:1897191362782912,url:u002Fproductu002F6097763},currentNavigateError:null,isNavigateComplete:true,routes:null},ProductStore:{name:Fisher-Price Smart Stages Counting Colours Clock,attributes:{fastTrack:false,catentryId:1500216,freeDelivery:false,description:u003Culu003Eu003Cliu003ESize H24, W19, D9cm. u003Cu002Fliu003Eu003Cliu003EBatteries required: 2 x . u003Cu002Fliu003Eu003Cu002Fulu003Eu003Cpu003EWARNING(S):u003Cu002Fpu003Eu003Culu003Eu003Cliu003EOnly for domestic use. u003Cu002Fliu003Eu003Cliu003EEAN: 0887961043075. u003Cu002Fliu003Eu003Cu002Fulu003E,deliverable:true,excludedFromMoneyBack:false,deliveryPrice:3. 95,variableDeliveryPrice:false,name:Fisher-Price Smart Stages Counting Colours Clock,collectable:true,partNumber:6097763,brand:Fisher-Price,maximumQuantity:10,price:{flashText:,now:14. 99}},relationships:{legalText:{links:{self:http:u002Fu002Fpro-eben-1va7ylod6drde. phuqpfkunw. eu-west-1. elasticbeanstalk. comu002Fproductu002F6097763u002Frelationshipsu002FlegalText,related:http:u002Fu002Fpro-eben-1va7ylod6drde. phuqpfkunw. eu-west-1. elasticbeanstalk. comu002Fproductu002F6097763u002FlegalText},data:{type:legalTexts,id:6097763}},breadcrumb:{links:{self:http:u002Fu002Fpro-eben-1va7ylod6drde. phuqpfkunw. eu-west-1. elasticbeanstalk. comu002Fproductu002F6097763u002Frelationshipsu002Fbreadcrumb,related:http:u002Fu002Fpro-eben-1va7ylod6drde. phuqpfkunw. eu-west-1. elasticbeanstalk. comu002Fproductu002F6097763u002Fbreadcrumb},data:{type:breadcrumb,id:6097763}},variants:{links:{self:http:u002Fu002Fpro-eben-1va7ylod6drde. phuqpfkunw. eu-west-1. elasticbeanstalk. comu002Fproductu002F6097763u002Frelationshipsu002Fvariants,related:http:u002Fu002Fpro-eben-1va7ylod6drde. phuqpfkunw. eu-west-1. elasticbeanstalk. comu002Fproductu002F6097763u002Fvariants},data:{type:variants,id:6097763}},price:{links:{self:http:u002Fu002Fpro-eben-1va7ylod6drde. phuqpfkunw. eu-west-1. elasticbeanstalk. comu002Fproductu002F6097763u002Frelationshipsu002Fprice,related:http:u002Fu002Fpro-eben-1va7ylod6drde. phuqpfkunw. eu-west-1. elasticbeanstalk. comu002Fproductu002F6097763u002Fprice},data:{type:prices,id:6097763}},media:{links:{self:http:u002Fu002Fpro-eben-1va7ylod6drde. phuqpfkunw. eu-west-1. elasticbeanstalk. comu002Fproductu002F6097763u002Frelationshipsu002Fmedia,related:http:u002Fu002Fpro-eben-1va7ylod6drde. phuqpfkunw. eu-west-1. elasticbeanstalk. comu002Fproductu002F6097763u002Fmedia},data:{type:media,id:6097763}}},err:null,productId:6097763,pricing:{type:prices,id:6097763,attributes:{flashText:,now:14. 99},relationships:{},links:{self:http:u002Fu002Fpro-eben-1va7ylod6drde. phuqpfkunw. eu-west-1. elasticbeanstalk. comu002Fpricesu002F6097763}},productNotFound:false,variants:{type:variants,id:6097763,attributes:{variants:[]},relationships:{},links:{self:http:u002Fu002Fpro-eben-1va7ylod6drde. phuqpfkunw. eu-west-1. elasticbeanstalk. comu002Fvariantsu002F6097763}},breadcrumb:[{attributes:{name:Baby and nursery,path:u002Fu002Fwww. argos. co. uku002Fstaticu002FBrowseu002FID72u002F33016251u002Fc_1u002F1|category_root|Baby+and+nursery|33005732. htm,id:33005732}},{attributes:{name:Baby toys,path:u002Fu002Fwww. argos. co. uku002Fstaticu002FBrowseu002FID72u002F33016251u002Fc_1u002F1|category_root|Baby+and+nursery|33005732u002Fc_2u002F2|33005732|Baby+toys|33006629. htm,id:33006629}},{attributes:{name:Baby activity toys,path:u002Fu002Fwww. argos. co. uku002Fstaticu002FBrowseu002FID72u002F33016251u002Fc_1u002F1|category_root|Baby+and+nursery|33005732u002Fc_2u002F2|33005732|Baby+toys|33006629u002Fc_3u002F3|33006629|Baby+activity+toys|33009927. htm,id:33009927}}],legalText:{displaySwatchMessage:false},altView:false,media:{images:[http:u002Fu002Fargos. scene7. comu002Fisu002Fimageu002FArgosu002F6097763_R_Z001A,http:u002Fu002Fargos. scene7. comu002Fisu002Fimageu002FArgosu002F6097763_R_Z002A,http:u002Fu002Fargos. scene7. comu002Fisu002Fimageu002FArgosu002F6097763_R_Z003A],pdfs:[],threesixty:[],meta:{http:u002Fu002Fargos. scene7. comu002Fisu002Fimageu002FArgosu002F6097763_R_Z002A:{width:2803,height:2882},http:u002Fu002Fargos. scene7. comu002Fisu002Fimageu002FArgosu002F6097763_R_Z001A:{width:2514,height:3224},http:u002Fu002Fargos. scene7. comu002Fisu002Fimageu002FArgosu002F6097763_R_Z003A:{width:2470,height:3188}},videos:[]},offers:[]},ApplicationStore:{currentPageName:null,currentPage:null,pages:{pdp_0:{path:u002Fstaticu002FProductu002FpartNumberu002F:partNumber. htm,method:get,page:pdp,title:PDP,handler:function StoreConnector(props, context) {
React. Component. apply(this, arguments);
this. state = this. getStateFromStores();
this. _onStoreChange = null;
this. _isMounted = false;
},action:function (context, payload, done) {
var _arguments = arguments;
var partNumber = payload. params. partNumber || payload. query. partNumber;
var start = Date. now();
if (payload. query. alt === true) {
context. dispatch(PDP_ALT_VIEW, true);
}
debug(Executing productPageAction, partNumber);
context. service. read(pdp-service, { partNumber: partNumber }, context. config, function (err, response) {
var end = Date. now();
logger. debug(apiLogger, { params: payload. params, responseTime: end - start, partNumber: partNumber }, productPageAction read);
if (err || response && response. status !== 200) {
if (!err) {
err = {};
}
if (err && err. message === Not Found || response && response. status === 404) {
err. status = 404;
}
if (err. code === ECONNREFUSED || err. code === ECONNABORTED) {
err. status = 503;
}
switch (err. status) {
case 404:
context. dispatch(PDP_PRODUCT_NOT_FOUND, {});
logger. error(apiLogger, { arguments: _arguments, responseTime: end - start, error: 404 }, productPageAction 404 Error);
break;
default:
context. dispatch(PDP_PRODUCT_SERVICE_ERR, { status: err. status || 500 });
logger. error(apiLogger, { arguments: _arguments, responseTime: end - start, error: err. status || 500 }, productPageAction + err. status || 500 + Error);
break;
}
done();
return;
}
response. data = JSON. parse(response. text). data;
response. data. included = JSON. parse(response. text). included;
context. dispatch(QUANTIY_CHANGE, 1);
context. dispatch(PDP_PRODUCT, response. data);
var getReviews = new Promise(function (resolve, reject) {
context. executeAction(_bazaarvoiceAction2. default, {
partNumber: partNumber. toString()
}, function (err) {
if (err) {
reject(err);
throw new Error(err);
}
if (global. window) {
(0, _taggingSerializer2. default)(context. getStore, null, a variant was selected);
(0, _taggingSerializer. doTrack)(pdp_variant);
}
resolve();
});
});
var getSpecialOffers = new Promise(function (resolve, reject) {
context. executeAction(_fetchSpecialOffersAction2. default, partNumber, function (err) {
if (err) {
reject(err);
throw new Error(err);
}
resolve();
});
});
var getBloomReach = new Promise(function (resolve, reject) {
context. executeAction(_fetchBloomReachAction2. default, { partNumber: partNumber. toString() }, function (err) {
if (err) {
reject(err);
throw new Error(err);
}
resolve();
});
});
Promise. all([getReviews, getSpecialOffers, getBloomReach]). then(function () {
debug(Execution complete of productPageAction, partNumber);
done();
}, function (reason) {
logger. error(apiLogger, { arguments: _arguments, responseTime: end - start, error: reason }, Non-handled rejection error in pdpAction meaning we will never repsond);
done();
});
});
}},pdp_1:{path:u002Fresu002Fstaticu002FProductu002FpartNumberu002F:partNumber. htm,method:get,page:pdp,title:PDP,handler:function StoreConnector(props, context) {
React. Component. apply(this, arguments);
this. state = this. getStateFromStores();
this. _onStoreChange = null;
this. _isMounted = false;
},action:function (context, payload, done) {
var _arguments = arguments;
var partNumber = payload. params. partNumber || payload. query. partNumber;
var start = Date. now();
if (payload. query. alt === true) {
context. dispatch(PDP_ALT_VIEW, true);
}
debug(Executing productPageAction, partNumber);
context. service. read(pdp-service, { partNumber: partNumber }, context. config, function (err, response) {
var end = Date. now();
logger. debug(apiLogger, { params: payload. params, responseTime: end - start, partNumber: partNumber }, productPageAction read);
if (err || response && response. status !== 200) {
if (!err) {
err = {};
}
if (err && err. message === Not Found || response && response. status === 404) {
err. status = 404;
}
if (err. code === ECONNREFUSED || err. code === ECONNABORTED) {
err. status = 503;
}
switch (err. status) {
case 404:
context. dispatch(PDP_PRODUCT_NOT_FOUND, {});
logger. error(apiLogger, { arguments: _arguments, responseTime: end - start, error: 404 }, productPageAction 404 Error);
break;
default:
context. dispatch(PDP_PRODUCT_SERVICE_ERR, { status: err. status || 500 });
logger. error(apiLogger, { arguments: _arguments, responseTime: end - start, error: err. status || 500 }, productPageAction + err. status || 500 + Error);
break;
}
done();
return;
}
response. data = JSON. parse(response. text). data;
response. data. included = JSON. parse(response. text). included;
context. dispatch(QUANTIY_CHANGE, 1);
context. dispatch(PDP_PRODUCT, response. data);
var getReviews = new Promise(function (resolve, reject) {
context. executeAction(_bazaarvoiceAction2. default, {
partNumber: partNumber. toString()
}, function (err) {
if (err) {
reject(err);
throw new Error(err);
}
if (global. window) {
(0, _taggingSerializer2. default)(context. getStore, null, a variant was selected);
(0, _taggingSerializer. doTrack)(pdp_variant);
}
resolve();
});
});
var getSpecialOffers = new Promise(function (resolve, reject) {
context. executeAction(_fetchSpecialOffersAction2. default, partNumber, function (err) {
if (err) {
reject(err);
throw new Error(err);
}
resolve();
});
});
var getBloomReach = new Promise(function (resolve, reject) {
context. executeAction(_fetchBloomReachAction2. default, { partNumber: partNumber. toString() }, function (err) {
if (err) {
reject(err);
throw new Error(err);
}
resolve();
});
});
Promise. all([getReviews, getSpecialOffers, getBloomReach]). then(function () {
debug(Execution complete of productPageAction, partNumber);
done();
}, function (reason) {
logger. error(apiLogger, { arguments: _arguments, responseTime: end - start, error: reason }, Non-handled rejection error in pdpAction meaning we will never repsond);
done();
});
});
}},pdp_2:{path:u002Fmu002Fstaticu002FProductu002FpartNumberu002F:partNumber. htm,method:get,page:pdp,title:PDP,handler:function StoreConnector(props, context) {
React. Component. apply(this, arguments);
this. state = this. getStateFromStores();
this. _onStoreChange = null;
this. _isMounted = false;
},action:function (context, payload, done) {
var _arguments = arguments;
var partNumber = payload. params. partNumber || payload. query. partNumber;
var start = Date. now();
if (payload. query. alt === true) {
context. dispatch(PDP_ALT_VIEW, true);
}
debug(Executing productPageAction, partNumber);
context. service. read(pdp-service, { partNumber: partNumber }, context. config, function (err, response) {
var end = Date. now();
logger. debug(apiLogger, { params: payload. params, responseTime: end - start, partNumber: partNumber }, productPageAction read);
if (err || response && response. status !== 200) {
if (!err) {
err = {};
}
if (err && err. message === Not Found || response && response. status === 404) {
err. status = 404;
}
if (err. code === ECONNREFUSED || err. code === ECONNABORTED) {
err. status = 503;
}
switch (err. status) {
case 404:
context. dispatch(PDP_PRODUCT_NOT_FOUND, {});
logger. error(apiLogger, { arguments: _arguments, responseTime: end - start, error: 404 }, productPageAction 404 Error);
break;
default:
context. dispatch(PDP_PRODUCT_SERVICE_ERR, { status: err. status || 500 });
logger. error(apiLogger, { arguments: _arguments, responseTime: end - start, error: err. status || 500 }, productPageAction + err. status || 500 + Error);
break;
}
done();
return;
}
response. data = JSON. parse(response. text). data;
response. data. included = JSON. parse(response. text). included;
context. dispatch(QUANTIY_CHANGE, 1);
context. dispatch(PDP_PRODUCT, response. data);
var getReviews = new Promise(function (resolve, reject) {
context. executeAction(_bazaarvoiceAction2. default, {
partNumber: partNumber. toString()
}, function (err) {
if (err) {
reject(err);
throw new Error(err);
}
if (global. window) {
(0, _taggingSerializer2. default)(context. getStore, null, a variant was selected);
(0, _taggingSerializer. doTrack)(pdp_variant);
}
resolve();
});
});
var getSpecialOffers = new Promise(function (resolve, reject) {
context. executeAction(_fetchSpecialOffersAction2. default, partNumber, function (err) {
if (err) {
reject(err);
throw new Error(err);
}
resolve();
});
});
var getBloomReach = new Promise(function (resolve, reject) {
context. executeAction(_fetchBloomReachAction2. default, { partNumber: partNumber. toString() }, function (err) {
if (err) {
reject(err);
throw new Error(err);
}
resolve();
});
});
Promise. all([getReviews, getSpecialOffers, getBloomReach]). then(function () {
debug(Execution complete of productPageAction, partNumber);
done();
}, function (reason) {
logger. error(apiLogger, { arguments: _arguments, responseTime: end - start, error: reason }, Non-handled rejection error in pdpAction meaning we will never repsond);
done();
});
});
}},pdp_3:{path:u002Fresu002Fmu002Fstaticu002FProductu002FpartNumberu002F:partNumber. htm,method:get,page:pdp,title:PDP,handler:function StoreConnector(props, context) {
React. Component. apply(this, arguments);
this. state = this. getStateFromStores();
this. _onStoreChange = null;
this. _isMounted = false;
},action:function (context, payload, done) {
var _arguments = arguments;
var partNumber = payload. params. partNumber || payload. query. partNumber;
var start = Date. now();
if (payload. query. alt === true) {
context. dispatch(PDP_ALT_VIEW, true);
}
debug(Executing productPageAction, partNumber);
context. service. read(pdp-service, { partNumber: partNumber }, context. config, function (err, response) {
var end = Date. now();
logger. debug(apiLogger, { params: payload. params, responseTime: end - start, partNumber: partNumber }, productPageAction read);
if (err || response && response. status !== 200) {
if (!err) {
err = {};
}
if (err && err. message === Not Found || response && response. status === 404) {
err. status = 404;
}
if (err. code === ECONNREFUSED || err. code === ECONNABORTED) {
err. status = 503;
}
switch (err. status) {
case 404:
context. dispatch(PDP_PRODUCT_NOT_FOUND, {});
logger. error(apiLogger, { arguments: _arguments, responseTime: end - start, error: 404 }, productPageAction 404 Error);
break;
default:
context. dispatch(PDP_PRODUCT_SERVICE_ERR, { status: err. status || 500 });
logger. error(apiLogger, { arguments: _arguments, responseTime: end - start, error: err. status || 500 }, productPageAction + err. status || 500 + Error);
break;
}
done();
return;
}
response. data = JSON. parse(response. text). data;
response. data. included = JSON. parse(response. text). included;
context. dispatch(QUANTIY_CHANGE, 1);
context. dispatch(PDP_PRODUCT, response. data);
var getReviews = new Promise(function (resolve, reject) {
context. executeAction(_bazaarvoiceAction2. default, {
partNumber: partNumber. toString()
}, function (err) {
if (err) {
reject(err);
throw new Error(err);
}
if (global. window) {
(0, _taggingSerializer2. default)(context. getStore, null, a variant was selected);
(0, _taggingSerializer. doTrack)(pdp_variant);
}
resolve();
});
});
var getSpecialOffers = new Promise(function (resolve, reject) {
context. executeAction(_fetchSpecialOffersAction2. default, partNumber, function (err) {
if (err) {
reject(err);
throw new Error(err);
}
resolve();
});
});
var getBloomReach = new Promise(function (resolve, reject) {
context. executeAction(_fetchBloomReachAction2. default, { partNumber: partNumber. toString() }, function (err) {
if (err) {
reject(err);
throw new Error(err);
}
resolve();
});
});
Promise. all([getReviews, getSpecialOffers, getBloomReach]). then(function () {
debug(Execution complete of productPageAction, partNumber);
done();
}, function (reason) {
logger. error(apiLogger, { arguments: _arguments, responseTime: end - start, error: reason }, Non-handled rejection error in pdpAction meaning we will never repsond);
done();
});
});
}},pdp_4:{path:u002Fstaticu002FSearchu002FsearchTermu002F:partNumber([0-9]+). htm,method:get,page:pdp,title:PDP,handler:function StoreConnector(props, context) {
React. Component. apply(this, arguments);
this. state = this. getStateFromStores();
this. _onStoreChange = null;
this. _isMounted = false;
},action:function (context, payload, done) {
var _arguments = arguments;
var partNumber = payload. params. partNumber || payload. query. partNumber;
var start = Date. now();
if (payload. query. alt === true) {
context. dispatch(PDP_ALT_VIEW, true);
}
debug(Executing productPageAction, partNumber);
context. service. read(pdp-service, { partNumber: partNumber }, context. config, function (err, response) {
var end = Date. now();
logger. debug(apiLogger, { params: payload. params, responseTime: end - start, partNumber: partNumber }, productPageAction read);
if (err || response && response. status !== 200) {
if (!err) {
err = {};
}
if (err && err. message === Not Found || response && response. status === 404) {
err. status = 404;
}
if (err. code === ECONNREFUSED || err. code === ECONNABORTED) {
err. status = 503;
}
switch (err. status) {
case 404:
context. dispatch(PDP_PRODUCT_NOT_FOUND, {});
logger. error(apiLogger, { arguments: _arguments, responseTime: end - start, error: 404 }, productPageAction 404 Error);
break;
default:
context. dispatch(PDP_PRODUCT_SERVICE_ERR, { status: err. status || 500 });
logger. error(apiLogger, { arguments: _arguments, responseTime: end - start, error: err. status || 500 }, productPageAction + err. status || 500 + Error);
break;
}
done();
return;
}
response. data = JSON. parse(response. text). data;
response. data. included = JSON. parse(response. text). included;
context. dispatch(QUANTIY_CHANGE, 1);
context. dispatch(PDP_PRODUCT, response. data);
var getReviews = new Promise(function (resolve, reject) {
context. executeAction(_bazaarvoiceAction2. default, {
partNumber: partNumber. toString()
}, function (err) {
if (err) {
reject(err);
throw new Error(err);
}
if (global. window) {
(0, _taggingSerializer2. default)(context. getStore, null, a variant was selected);
(0, _taggingSerializer. doTrack)(pdp_variant);
}
resolve();
});
});
var getSpecialOffers = new Promise(function (resolve, reject) {
context. executeAction(_fetchSpecialOffersAction2. default, partNumber, function (err) {
if (err) {
reject(err);
throw new Error(err);
}
resolve();
});
});
var getBloomReach = new Promise(function (resolve, reject) {
context. executeAction(_fetchBloomReachAction2. default, { partNumber: partNumber. toString() }, function (err) {
if (err) {
reject(err);
throw new Error(err);
}
resolve();
});
});
Promise. all([getReviews, getSpecialOffers, getBloomReach]). then(function () {
debug(Execution complete of productPageAction, partNumber);
done();
}, function (reason) {
logger. error(apiLogger, { arguments: _arguments, responseTime: end - start, error: reason }, Non-handled rejection error in pdpAction meaning we will never repsond);
done();
});
});
}},pdp_5:{path:u002Fresu002Fstaticu002FSearchu002FsearchTermu002F:partNumber([0-9]+). htm,method:get,page:pdp,title:PDP,handler:function StoreConnector(props, context) {
React. Component. apply(this, arguments);
this. state = this. getStateFromStores();
this. _onStoreChange = null;
this. _isMounted = false;
},action:function (context, payload, done) {
var _arguments = arguments;
var partNumber = payload. params. partNumber || payload. query. partNumber;
var start = Date. now();
if (payload. query. alt === true) {
context. dispatch(PDP_ALT_VIEW, true);
}
debug(Executing productPageAction, partNumber);
context. service. read(pdp-service, { partNumber: partNumber }, context. config, function (err, response) {
var end = Date. now();
logger. debug(apiLogger, { params: payload. params, responseTime: end - start, partNumber: partNumber }, productPageAction read);
if (err || response && response. status !== 200) {
if (!err) {
err = {};
}
if (err && err. message === Not Found || response && response. status === 404) {
err. status = 404;
}
if (err. code === ECONNREFUSED || err. code === ECONNABORTED) {
err. status = 503;
}
switch (err. status) {
case 404:
context. dispatch(PDP_PRODUCT_NOT_FOUND, {});
logger. error(apiLogger, { arguments: _arguments, responseTime: end - start, error: 404 }, productPageAction 404 Error);
break;
default:
context. dispatch(PDP_PRODUCT_SERVICE_ERR, { status: err. status || 500 });
logger. error(apiLogger, { arguments: _arguments, responseTime: end - start, error: err. status || 500 }, productPageAction + err. status || 500 + Error);
break;
}
done();
return;
}
response. data = JSON. parse(response. text). data;
response. data. included = JSON. parse(response. text). included;
context. dispatch(QUANTIY_CHANGE, 1);
context. dispatch(PDP_PRODUCT, response. data);
var getReviews = new Promise(function (resolve, reject) {
context. executeAction(_bazaarvoiceAction2. default, {
partNumber: partNumber. toString()
}, function (err) {
if (err) {
reject(err);
throw new Error(err);
}
if (global. window) {
(0, _taggingSerializer2. default)(context. getStore, null, a variant was selected);
(0, _taggingSerializer. doTrack)(pdp_variant);
}
resolve();
});
});
var getSpecialOffers = new Promise(function (resolve, reject) {
context. executeAction(_fetchSpecialOffersAction2. default, partNumber, function (err) {
if (err) {
reject(err);
throw new Error(err);
}
resolve();
});
});
var getBloomReach = new Promise(function (resolve, reject) {
context. executeAction(_fetchBloomReachAction2. default, { partNumber: partNumber. toString() }, function (err) {
if (err) {
reject(err);
throw new Error(err);
}
resolve();
});
});
Promise. all([getReviews, getSpecialOffers, getBloomReach]). then(function () {
debug(Execution complete of productPageAction, partNumber);
done();
}, function (reason) {
logger. error(apiLogger, { arguments: _arguments, responseTime: end - start, error: reason }, Non-handled rejection error in pdpAction meaning we will never repsond);
done();
});
});
}},pdp_6:{path:u002Fmu002Fstaticu002FSearchu002FsearchTermu002F:partNumber([0-9]+). htm,method:get,page:pdp,title:PDP,handler:function StoreConnector(props, context) {
React. Component. apply(this, arguments);
this. state = this. getStateFromStores();
this. _onStoreChange = null;
this. _isMounted = false;
},action:function (context, payload, done) {
var _arguments = arguments;
var partNumber = payload. params. partNumber || payload. query. partNumber;
var start = Date. now();
if (payload. query. alt === true) {
context. dispatch(PDP_ALT_VIEW, true);
}
debug(Executing productPageAction, partNumber);
context. service. read(pdp-service, { partNumber: partNumber }, context. config, function (err, response) {
var end = Date. now();
logger. debug(apiLogger, { params: payload. params, responseTime: end - start, partNumber: partNumber }, productPageAction read);
if (err || response && response. status !== 200) {
if (!err) {
err = {};
}
if (err && err. message === Not Found || response && response. status === 404) {
err. status = 404;
}
if (err. code === ECONNREFUSED || err. code === ECONNABORTED) {
err. status = 503;
}
switch (err. status) {
case 404:
context. dispatch(PDP_PRODUCT_NOT_FOUND, {});
logger. error(apiLogger, { arguments: _arguments, responseTime: end - start, error: 404 }, productPageAction 404 Error);
break;
default:
context. dispatch(PDP_PRODUCT_SERVICE_ERR, { status: err. status || 500 });
logger. error(apiLogger, { arguments: _arguments, responseTime: end - start, error: err. status || 500 }, productPageAction + err. status || 500 + Error);
break;
}
done();
return;
}
response. data = JSON. parse(response. text). data;
response. data. included = JSON. parse(response. text). included;
context. dispatch(QUANTIY_CHANGE, 1);
context. dispatch(PDP_PRODUCT, response. data);
var getReviews = new Promise(function (resolve, reject) {
context. executeAction(_bazaarvoiceAction2. default, {
partNumber: partNumber. toString()
}, function (err) {
if (err) {
reject(err);
throw new Error(err);
}
if (global. window) {
(0, _taggingSerializer2. default)(context. getStore, null, a variant was selected);
(0, _taggingSerializer. doTrack)(pdp_variant);
}
resolve();
});
});
var getSpecialOffers = new Promise(function (resolve, reject) {
context. executeAction(_fetchSpecialOffersAction2. default, partNumber, function (err) {
if (err) {
reject(err);
throw new Error(err);
}
resolve();
});
});
var getBloomReach = new Promise(function (resolve, reject) {
context. executeAction(_fetchBloomReachAction2. default, { partNumber: partNumber. toString() }, function (err) {
if (err) {
reject(err);
throw new Error(err);
}
resolve();
});
});
Promise. all([getReviews, getSpecialOffers, getBloomReach]). then(function () {
debug(Execution complete of productPageAction, partNumber);
done();
}, function (reason) {
logger. error(apiLogger, { arguments: _arguments, responseTime: end - start, error: reason }, Non-handled rejection error in pdpAction meaning we will never repsond);
done();
});
});
}},pdp_7:{path:u002Fresu002Fmu002Fstaticu002FSearchu002FsearchTermu002F:partNumber([0-9]+). htm,method:get,page:pdp,title:PDP,handler:function StoreConnector(props, context) {
React. Component. apply(this, arguments);
this. state = this. getStateFromStores();
this. _onStoreChange = null;
this. _isMounted = false;
},action:function (context, payload, done) {
var _arguments = arguments;
var partNumber = payload. params. partNumber || payload. query. partNumber;
var start = Date. now();
if (payload. query. alt === true) {
context. dispatch(PDP_ALT_VIEW, true);
}
debug(Executing productPageAction, partNumber);
context. service. read(pdp-service, { partNumber: partNumber }, context. config, function (err, response) {
var end = Date. now();
logger. debug(apiLogger, { params: payload. params, responseTime: end - start, partNumber: partNumber }, productPageAction read);
if (err || response && response. status !== 200) {
if (!err) {
err = {};
}
if (err && err. message === Not Found || response && response. status === 404) {
err. status = 404;
}
if (err. code === ECONNREFUSED || err. code === ECONNABORTED) {
err. status = 503;
}
switch (err. status) {
case 404:
context. dispatch(PDP_PRODUCT_NOT_FOUND, {});
logger. error(apiLogger, { arguments: _arguments, responseTime: end - start, error: 404 }, productPageAction 404 Error);
break;
default:
context. dispatch(PDP_PRODUCT_SERVICE_ERR, { status: err. status || 500 });
logger. error(apiLogger, { arguments: _arguments, responseTime: end - start, error: err. status || 500 }, productPageAction + err. status || 500 + Error);
break;
}
done();
return;
}
response. data = JSON. parse(response. text). data;
response. data. included = JSON. parse(response. text). included;
context. dispatch(QUANTIY_CHANGE, 1);
context. dispatch(PDP_PRODUCT, response. data);
var getReviews = new Promise(function (resolve, reject) {
context. executeAction(_bazaarvoiceAction2. default, {
partNumber: partNumber. toString()
}, function (err) {
if (err) {
reject(err);
throw new Error(err);
}
if (global. window) {
(0, _taggingSerializer2. default)(context. getStore, null, a variant was selected);
(0, _taggingSerializer. doTrack)(pdp_variant);
}
resolve();
});
});
var getSpecialOffers = new Promise(function (resolve, reject) {
context. executeAction(_fetchSpecialOffersAction2. default, partNumber, function (err) {
if (err) {
reject(err);
throw new Error(err);
}
resolve();
});
});
var getBloomReach = new Promise(function (resolve, reject) {
context. executeAction(_fetchBloomReachAction2. default, { partNumber: partNumber. toString() }, function (err) {
if (err) {
reject(err);
throw new Error(err);
}
resolve();
});
});
Promise. all([getReviews, getSpecialOffers, getBloomReach]). then(function () {
debug(Execution complete of productPageAction, partNumber);
done();
}, function (reason) {
logger. error(apiLogger, { arguments: _arguments, responseTime: end - start, error: reason }, Non-handled rejection error in pdpAction meaning we will never repsond);
done();
});
});
}},pdp_8:{path:u002Fwebappu002Fwcsu002Fstoresu002Fservletu002FProductDisplay,method:get,page:pdp,title:PDP,handler:function StoreConnector(props, context) {
React. Component. apply(this, arguments);
this. state = this. getStateFromStores();
this. _onStoreChange = null;
this. _isMounted = false;
},action:function (context, payload, done) {
var _arguments = arguments;
var partNumber = payload. params. partNumber || payload. query. partNumber;
var start = Date. now();
if (payload. query. alt === true) {
context. dispatch(PDP_ALT_VIEW, true);
}
debug(Executing productPageAction, partNumber);
context. service. read(pdp-service, { partNumber: partNumber }, context. config, function (err, response) {
var end = Date. now();
logger. debug(apiLogger, { params: payload. params, responseTime: end - start, partNumber: partNumber }, productPageAction read);
if (err || response && response. status !== 200) {
if (!err) {
err = {};
}
if (err && err. message === Not Found || response && response. status === 404) {
err. status = 404;
}
if (err. code === ECONNREFUSED || err. code === ECONNABORTED) {
err. status = 503;
}
switch (err. status) {
case 404:
context. dispatch(PDP_PRODUCT_NOT_FOUND, {});
logger. error(apiLogger, { arguments: _arguments, responseTime: end - start, error: 404 }, productPageAction 404 Error);
break;
default:
context. dispatch(PDP_PRODUCT_SERVICE_ERR, { status: err. status || 500 });
logger. error(apiLogger, { arguments: _arguments, responseTime: end - start, error: err. status || 500 }, productPageAction + err. status || 500 + Error);
break;
}
done();
return;
}
response. data = JSON. parse(response. text). data;
response. data. included = JSON. parse(response. text). included;
context. dispatch(QUANTIY_CHANGE, 1);
context. dispatch(PDP_PRODUCT, response. data);
var getReviews = new Promise(function (resolve, reject) {
context. executeAction(_bazaarvoiceAction2. default, {
partNumber: partNumber. toString()
}, function (err) {
if (err) {
reject(err);
throw new Error(err);
}
if (global. window) {
(0, _taggingSerializer2. default)(context. getStore, null, a variant was selected);
(0, _taggingSerializer. doTrack)(pdp_variant);
}
resolve();
});
});
var getSpecialOffers = new Promise(function (resolve, reject) {
context. executeAction(_fetchSpecialOffersAction2. default, partNumber, function (err) {
if (err) {
reject(err);
throw new Error(err);
}
resolve();
});
});
var getBloomReach = new Promise(function (resolve, reject) {
context. executeAction(_fetchBloomReachAction2. default, { partNumber: partNumber. toString() }, function (err) {
if (err) {
reject(err);
throw new Error(err);
}
resolve();
});
});
Promise. all([getReviews, getSpecialOffers, getBloomReach]). then(function () {
debug(Execution complete of productPageAction, partNumber);
done();
}, function (reason) {
logger. error(apiLogger, { arguments: _arguments, responseTime: end - start, error: reason }, Non-handled rejection error in pdpAction meaning we will never repsond);
done();
});
});
}},pdp_9:{path:u002Fwebappu002Fwcsu002Fstoresu002Fservletu002FProductDisplayMobileView,method:get,page:pdp,title:PDP,handler:function StoreConnector(props, context) {
React. Component. apply(this, arguments);
this. state = this. getStateFromStores();
this. _onStoreChange = null;
this. _isMounted = false;
},action:function (context, payload, done) {
var _arguments = arguments;
var partNumber = payload. params. partNumber || payload. query. partNumber;
var start = Date. now();
if (payload. query. alt === true) {
context. dispatch(PDP_ALT_VIEW, true);
}
debug(Executing productPageAction, partNumber);
context. service. read(pdp-service, { partNumber: partNumber }, context. config, function (err, response) {
var end = Date. now();
logger. debug(apiLogger, { params: payload. params, responseTime: end - start, partNumber: partNumber }, productPageAction read);
if (err || response && response. status !== 200) {
if (!err) {
err = {};
}
if (err && err. message === Not Found || response && response. status === 404) {
err. status = 404;
}
if (err. code === ECONNREFUSED || err. code === ECONNABORTED) {
err. status = 503;
}
switch (err. status) {
case 404:
context. dispatch(PDP_PRODUCT_NOT_FOUND, {});
logger. error(apiLogger, { arguments: _arguments, responseTime: end - start, error: 404 }, productPageAction 404 Error);
break;
default:
context. dispatch(PDP_PRODUCT_SERVICE_ERR, { status: err. status || 500 });
logger. error(apiLogger, { arguments: _arguments, responseTime: end - start, error: err. status || 500 }, productPageAction + err. status || 500 + Error);
break;
}
done();
return;
}
response. data = JSON. parse(response. text). data;
response. data. included = JSON. parse(response. text). included;
context. dispatch(QUANTIY_CHANGE, 1);
context. dispatch(PDP_PRODUCT, response. data);
var getReviews = new Promise(function (resolve, reject) {
context. executeAction(_bazaarvoiceAction2. default, {
partNumber: partNumber. toString()
}, function (err) {
if (err) {
reject(err);
throw new Error(err);
}
if (global. window) {
(0, _taggingSerializer2. default)(context. getStore, null, a variant was selected);
(0, _taggingSerializer. doTrack)(pdp_variant);
}
resolve();
});
});
var getSpecialOffers = new Promise(function (resolve, reject) {
context. executeAction(_fetchSpecialOffersAction2. default, partNumber, function (err) {
if (err) {
reject(err);
throw new Error(err);
}
resolve();
});
});
var getBloomReach = new Promise(function (resolve, reject) {
context. executeAction(_fetchBloomReachAction2. default, { partNumber: partNumber. toString() }, function (err) {
if (err) {
reject(err);
throw new Error(err);
}
resolve();
});
});
Promise. all([getReviews, getSpecialOffers, getBloomReach]). then(function () {
debug(Execution complete of productPageAction, partNumber);
done();
}, function (reason) {
logger. error(apiLogger, { arguments: _arguments, responseTime: end - start, error: reason }, Non-handled rejection error in pdpAction meaning we will never repsond);
done();
});
});
}},pdp_10:{path:u002Fresu002Fwebappu002Fwcsu002Fstoresu002Fservletu002FProductDisplay,method:get,page:pdp,title:PDP,handler:function StoreConnector(props, context) {
React. Component. apply(this, arguments);
this. state = this. getStateFromStores();
this. _onStoreChange = null;
this. _isMounted = false;
},action:function (context, payload, done) {
var _arguments = arguments;
var partNumber = payload. params. partNumber || payload. query. partNumber;
var start = Date. now();
if (payload. query. alt === true) {
context. dispatch(PDP_ALT_VIEW, true);
}
debug(Executing productPageAction, partNumber);
context. service. read(pdp-service, { partNumber: partNumber }, context. config, function (err, response) {
var end = Date. now();
logger. debug(apiLogger, { params: payload. params, responseTime: end - start, partNumber: partNumber }, productPageAction read);
if (err || response && response. status !== 200) {
if (!err) {
err = {};
}
if (err && err. message === Not Found || response && response. status === 404) {
err. status = 404;
}
if (err. code === ECONNREFUSED || err. code === ECONNABORTED) {
err. status = 503;
}
switch (err. status) {
case 404:
context. dispatch(PDP_PRODUCT_NOT_FOUND, {});
logger. error(apiLogger, { arguments: _arguments, responseTime: end - start, error: 404 }, productPageAction 404 Error);
break;
default:
context. dispatch(PDP_PRODUCT_SERVICE_ERR, { status: err. status || 500 });
logger. error(apiLogger, { arguments: _arguments, responseTime: end - start, error: err. status || 500 }, productPageAction + err. status || 500 + Error);
break;
}
done();
return;
}
response. data = JSON. parse(response. text). data;
response. data. included = JSON. parse(response. text). included;
context. dispatch(QUANTIY_CHANGE, 1);
context. dispatch(PDP_PRODUCT, response. data);
var getReviews = new Promise(function (resolve, reject) {
context. executeAction(_bazaarvoiceAction2. default, {
partNumber: partNumber. toString()
}, function (err) {
if (err) {
reject(err);
throw new Error(err);
}
if (global. window) {
(0, _taggingSerializer2. default)(context. getStore, null, a variant was selected);
(0, _taggingSerializer. doTrack)(pdp_variant);
}
resolve();
});
});
var getSpecialOffers = new Promise(function (resolve, reject) {
context. executeAction(_fetchSpecialOffersAction2. default, partNumber, function (err) {
if (err) {
reject(err);
throw new Error(err);
}
resolve();
});
});
var getBloomReach = new Promise(function (resolve, reject) {
context. executeAction(_fetchBloomReachAction2. default, { partNumber: partNumber. toString() }, function (err) {
if (err) {
reject(err);
throw new Error(err);
}
resolve();
});
});
Promise. all([getReviews, getSpecialOffers, getBloomReach]). then(function () {
debug(Execution complete of productPageAction, partNumber);
done();
}, function (reason) {
logger. error(apiLogger, { arguments: _arguments, responseTime: end - start, error: reason }, Non-handled rejection error in pdpAction meaning we will never repsond);
done();
});
});
}},pdp_11:{path:u002Fresu002Fwebappu002Fwcsu002Fstoresu002Fservletu002FProductDisplayMobileView,method:get,page:pdp,title:PDP,handler:function StoreConnector(props, context) {
React. Component. apply(this, arguments);
this. state = this. getStateFromStores();
this. _onStoreChange = null;
this. _isMounted = false;
},action:function (context, payload, done) {
var _arguments = arguments;
var partNumber = payload. params. partNumber || payload. query. partNumber;
var start = Date. now();
if (payload. query. alt === true) {
context. dispatch(PDP_ALT_VIEW, true);
}
debug(Executing productPageAction, partNumber);
context. service. read(pdp-service, { partNumber: partNumber }, context. config, function (err, response) {
var end = Date. now();
logger. debug(apiLogger, { params: payload. params, responseTime: end - start, partNumber: partNumber }, productPageAction read);
if (err || response && response. status !== 200) {
if (!err) {
err = {};
}
if (err && err. message === Not Found || response && response. status === 404) {
err. status = 404;
}
if (err. code === ECONNREFUSED || err. code === ECONNABORTED) {
err. status = 503;
}
switch (err. status) {
case 404:
context. dispatch(PDP_PRODUCT_NOT_FOUND, {});
logger. error(apiLogger, { arguments: _arguments, responseTime: end - start, error: 404 }, productPageAction 404 Error);
break;
default:
context. dispatch(PDP_PRODUCT_SERVICE_ERR, { status: err. status || 500 });
logger. error(apiLogger, { arguments: _arguments, responseTime: end - start, error: err. status || 500 }, productPageAction + err. status || 500 + Error);
break;
}
done();
return;
}
response. data = JSON. parse(response. text). data;
response. data. included = JSON. parse(response. text). included;
context. dispatch(QUANTIY_CHANGE, 1);
context. dispatch(PDP_PRODUCT, response. data);
var getReviews = new Promise(function (resolve, reject) {
context. executeAction(_bazaarvoiceAction2. default, {
partNumber: partNumber. toString()
}, function (err) {
if (err) {
reject(err);
throw new Error(err);
}
if (global. window) {
(0, _taggingSerializer2. default)(context. getStore, null, a variant was selected);
(0, _taggingSerializer. doTrack)(pdp_variant);
}
resolve();
});
});
var getSpecialOffers = new Promise(function (resolve, reject) {
context. executeAction(_fetchSpecialOffersAction2. default, partNumber, function (err) {
if (err) {
reject(err);
throw new Error(err);
}
resolve();
});
});
var getBloomReach = new Promise(function (resolve, reject) {
context. executeAction(_fetchBloomReachAction2. default, { partNumber: partNumber. toString() }, function (err) {
if (err) {
reject(err);
throw new Error(err);
}
resolve();
});
});
Promise. all([getReviews, getSpecialOffers, getBloomReach]). then(function () {
debug(Execution complete of productPageAction, partNumber);
done();
}, function (reason) {
logger. error(apiLogger, { arguments: _arguments, responseTime: end - start, error: reason }, Non-handled rejection error in pdpAction meaning we will never repsond);
done();
});
});
}},pdp_12:{path:u002Fresu002Fmu002Fstaticu002FProductu002FpartNumberu002F:partNumberu002FsearchTermu002F:searchTerm. htm,method:get,page:pdp,title:PDP,handler:function StoreConnector(props, context) {
React. Component. apply(this, arguments);
this. state = this. getStateFromStores();
this. _onStoreChange = null;
this. _isMounted = false;
},action:function (context, payload, done) {
var _arguments = arguments;
var partNumber = payload. params. partNumber || payload. query. partNumber;
var start = Date. now();
if (payload. query. alt === true) {
context. dispatch(PDP_ALT_VIEW, true);
}
debug(Executing productPageAction, partNumber);
context. service. read(pdp-service, { partNumber: partNumber }, context. config, function (err, response) {
var end = Date. now();
logger. debug(apiLogger, { params: payload. params, responseTime: end - start, partNumber: partNumber }, productPageAction read);
if (err || response && response. status !== 200) {
if (!err) {
err = {};
}
if (err && err. message === Not Found || response && response. status === 404) {
err. status = 404;
}
if (err. code === ECONNREFUSED || err. code === ECONNABORTED) {
err. status = 503;
}
switch (err. status) {
case 404:
context. dispatch(PDP_PRODUCT_NOT_FOUND, {});
logger. error(apiLogger, { arguments: _arguments, responseTime: end - start, error: 404 }, productPageAction 404 Error);
break;
default:
context. dispatch(PDP_PRODUCT_SERVICE_ERR, { status: err. status || 500 });
logger. error(apiLogger, { arguments: _arguments, responseTime: end - start, error: err. status || 500 }, productPageAction + err. status || 500 + Error);
break;
}
done();
return;
}
response. data = JSON. parse(response. text). data;
response. data. included = JSON. parse(response. text). included;
context. dispatch(QUANTIY_CHANGE, 1);
context. dispatch(PDP_PRODUCT, response. data);
var getReviews = new Promise(function (resolve, reject) {
context. executeAction(_bazaarvoiceAction2. default, {
partNumber: partNumber. toString()
}, function (err) {
if (err) {
reject(err);
throw new Error(err);
}
if (global. window) {
(0, _taggingSerializer2. default)(context. getStore, null, a variant was selected);
(0, _taggingSerializer. doTrack)(pdp_variant);
}
resolve();
});
});
var getSpecialOffers = new Promise(function (resolve, reject) {
context. executeAction(_fetchSpecialOffersAction2. default, partNumber, function (err) {
if (err) {
reject(err);
throw new Error(err);
}
resolve();
});
});
var getBloomReach = new Promise(function (resolve, reject) {
context. executeAction(_fetchBloomReachAction2. default, { partNumber: partNumber. toString() }, function (err) {
if (err) {
reject(err);
throw new Error(err);
}
resolve();
});
});
Promise. all([getReviews, getSpecialOffers, getBloomReach]). then(function () {
debug(Execution complete of productPageAction, partNumber);
done();
}, function (reason) {
logger. error(apiLogger, { arguments: _arguments, responseTime: end - start, error: reason }, Non-handled rejection error in pdpAction meaning we will never repsond);
done();
});
});
}},pdp_13:{path:u002Fmu002Fstaticu002FProductu002FpartNumberu002F:partNumberu002FsearchTermu002F:searchTerm. htm,method:get,page:pdp,title:PDP,handler:function StoreConnector(props, context) {
React. Component. apply(this, arguments);
this. state = this. getStateFromStores();
this. _onStoreChange = null;
this. _isMounted = false;
},action:function (context, payload, done) {
var _arguments = arguments;
var partNumber = payload. params. partNumber || payload. query. partNumber;
var start = Date. now();
if (payload. query. alt === true) {
context. dispatch(PDP_ALT_VIEW, true);
}
debug(Executing productPageAction, partNumber);
context. service. read(pdp-service, { partNumber: partNumber }, context. config, function (err, response) {
var end = Date. now();
logger. debug(apiLogger, { params: payload. params, responseTime: end - start, partNumber: partNumber }, productPageAction read);
if (err || response && response. status !== 200) {
if (!err) {
err = {};
}
if (err && err. message === Not Found || response && response. status === 404) {
err. status = 404;
}
if (err. code === ECONNREFUSED || err. code === ECONNABORTED) {
err. status = 503;
}
switch (err. status) {
case 404:
context. dispatch(PDP_PRODUCT_NOT_FOUND, {});
logger. error(apiLogger, { arguments: _arguments, responseTime: end - start, error: 404 }, productPageAction 404 Error);
break;
default:
context. dispatch(PDP_PRODUCT_SERVICE_ERR, { status: err. status || 500 });
logger. error(apiLogger, { arguments: _arguments, responseTime: end - start, error: err. status || 500 }, productPageAction + err. status || 500 + Error);
break;
}
done();
return;
}
response. data = JSON. parse(response. text). data;
response. data. included = JSON. parse(response. text). included;
context. dispatch(QUANTIY_CHANGE, 1);
context. dispatch(PDP_PRODUCT, response. data);
var getReviews = new Promise(function (resolve, reject) {
context. executeAction(_bazaarvoiceAction2. default, {
partNumber: partNumber. toString()
}, function (err) {
if (err) {
reject(err);
throw new Error(err);
}
if (global. window) {
(0, _taggingSerializer2. default)(context. getStore, null, a variant was selected);
(0, _taggingSerializer. doTrack)(pdp_variant);
}
resolve();
});
});
var getSpecialOffers = new Promise(function (resolve, reject) {
context. executeAction(_fetchSpecialOffersAction2. default, partNumber, function (err) {
if (err) {
reject(err);
throw new Error(err);
}
resolve();
});
});
var getBloomReach = new Promise(function (resolve, reject) {
context. executeAction(_fetchBloomReachAction2. default, { partNumber: partNumber. toString() }, function (err) {
if (err) {
reject(err);
throw new Error(err);
}
resolve();
});
});
Promise. all([getReviews, getSpecialOffers, getBloomReach]). then(function () {
debug(Execution complete of productPageAction, partNumber);
done();
}, function (reason) {
logger. error(apiLogger, { arguments: _arguments, responseTime: end - start, error: reason }, Non-handled rejection error in pdpAction meaning we will never repsond);
done();
});
});
}},pdp_14:{path:u002Fresu002Fstaticu002FProductu002FpartNumberu002F:partNumberu002FsearchTermu002F:searchTerm. htm,method:get,page:pdp,title:PDP,handler:function StoreConnector(props, context) {
React. Component. apply(this, arguments);
this. state = this. getStateFromStores();
this. _onStoreChange = null;
this. _isMounted = false;
},action:function (context, payload, done) {
var _arguments = arguments;
var partNumber = payload. params. partNumber || payload. query. partNumber;
var start = Date. now();
if (payload. query. alt === true) {
context. dispatch(PDP_ALT_VIEW, true);
}
debug(Executing productPageAction, partNumber);
context. service. read(pdp-service, { partNumber: partNumber }, context. config, function (err, response) {
var end = Date. now();
logger. debug(apiLogger, { params: payload. params, responseTime: end - start, partNumber: partNumber }, productPageAction read);
if (err || response && response. status !== 200) {
if (!err) {
err = {};
}
if (err && err. message === Not Found || response && response. status === 404) {
err. status = 404;
}
if (err. code === ECONNREFUSED || err. code === ECONNABORTED) {
err. status = 503;
}
switch (err. status) {
case 404:
context. dispatch(PDP_PRODUCT_NOT_FOUND, {});
logger. error(apiLogger, { arguments: _arguments, responseTime: end - start, error: 404 }, productPageAction 404 Error);
break;
default:
context. dispatch(PDP_PRODUCT_SERVICE_ERR, { status: err. status || 500 });
logger. error(apiLogger, { arguments: _arguments, responseTime: end - start, error: err. status || 500 }, productPageAction + err. status || 500 + Error);
break;
}
done();
return;
}
response. data = JSON. parse(response. text). data;
response. data. included = JSON. parse(response. text). included;
context. dispatch(QUANTIY_CHANGE, 1);
context. dispatch(PDP_PRODUCT, response. data);
var getReviews = new Promise(function (resolve, reject) {
context. executeAction(_bazaarvoiceAction2. default, {
partNumber: partNumber. toString()
}, function (err) {
if (err) {
reject(err);
throw new Error(err);
}
if (global. window) {
(0, _taggingSerializer2. default)(context. getStore, null, a variant was selected);
(0, _taggingSerializer. doTrack)(pdp_variant);
}
resolve();
});
});
var getSpecialOffers = new Promise(function (resolve, reject) {
context. executeAction(_fetchSpecialOffersAction2. default, partNumber, function (err) {
if (err) {
reject(err);
throw new Error(err);
}
resolve();
});
});
var getBloomReach = new Promise(function (resolve, reject) {
context. executeAction(_fetchBloomReachAction2. default, { partNumber: partNumber. toString() }, function (err) {
if (err) {
reject(err);
throw new Error(err);
}
resolve();
});
});
Promise. all([getReviews, getSpecialOffers, getBloomReach]). then(function () {
debug(Execution complete of productPageAction, partNumber);
done();
}, function (reason) {
logger. error(apiLogger, { arguments: _arguments, responseTime: end - start, error: reason }, Non-handled rejection error in pdpAction meaning we will never repsond);
done();
});
});
}},pdp_15:{path:u002Fstaticu002FProductu002FpartNumberu002F:partNumberu002FsearchTermu002F:searchTerm. htm,method:get,page:pdp,title:PDP,handler:function StoreConnector(props, context) {
React. Component. apply(this, arguments);
this. state = this. getStateFromStores();
this. _onStoreChange = null;
this. _isMounted = false;
},action:function (context, payload, done) {
var _arguments = arguments;
var partNumber = payload. params. partNumber || payload. query. partNumber;
var start = Date. now();
if (payload. query. alt === true) {
context. dispatch(PDP_ALT_VIEW, true);
}
debug(Executing productPageAction, partNumber);
context. service. read(pdp-service, { partNumber: partNumber }, context. config, function (err, response) {
var end = Date. now();
logger. debug(apiLogger, { params: payload. params, responseTime: end - start, partNumber: partNumber }, productPageAction read);
if (err || response && response. status !== 200) {
if (!err) {
err = {};
}
if (err && err. message === Not Found || response && response. status === 404) {
err. status = 404;
}
if (err. code === ECONNREFUSED || err. code === ECONNABORTED) {
err. status = 503;
}
switch (err. status) {
case 404:
context. dispatch(PDP_PRODUCT_NOT_FOUND, {});
logger. error(apiLogger, { arguments: _arguments, responseTime: end - start, error: 404 }, productPageAction 404 Error);
break;
default:
context. dispatch(PDP_PRODUCT_SERVICE_ERR, { status: err. status || 500 });
logger. error(apiLogger, { arguments: _arguments, responseTime: end - start, error: err. status || 500 }, productPageAction + err. status || 500 + Error);
break;
}
done();
return;
}
response. data = JSON. parse(response. text). data;
response. data. included = JSON. parse(response. text). included;
context. dispatch(QUANTIY_CHANGE, 1);
context. dispatch(PDP_PRODUCT, response. data);
var getReviews = new Promise(function (resolve, reject) {
context. executeAction(_bazaarvoiceAction2. default, {
partNumber: partNumber. toString()
}, function (err) {
if (err) {
reject(err);
throw new Error(err);
}
if (global. window) {
(0, _taggingSerializer2. default)(context. getStore, null, a variant was selected);
(0, _taggingSerializer. doTrack)(pdp_variant);
}
resolve();
});
});
var getSpecialOffers = new Promise(function (resolve, reject) {
context. executeAction(_fetchSpecialOffersAction2. default, partNumber, function (err) {
if (err) {
reject(err);
throw new Error(err);
}
resolve();
});
});
var getBloomReach = new Promise(function (resolve, reject) {
context. executeAction(_fetchBloomReachAction2. default, { partNumber: partNumber. toString() }, function (err) {
if (err) {
reject(err);
throw new Error(err);
}
resolve();
});
});
Promise. all([getReviews, getSpecialOffers, getBloomReach]). then(function () {
debug(Execution complete of productPageAction, partNumber);
done();
}, function (reason) {
logger. error(apiLogger, { arguments: _arguments, responseTime: end - start, error: reason }, Non-handled rejection error in pdpAction meaning we will never repsond);
done();
});
});
}},pdp_16:{path:u002Fresu002Fmu002Fstaticu002FProductu002FpartNumberu002F:partNumberu002FfromPageu002FSpecialOfferBuilder. htm,method:get,page:pdp,title:PDP,handler:function StoreConnector(props, context) {
React. Component. apply(this, arguments);
this. state = this. getStateFromStores();
this. _onStoreChange = null;
this. _isMounted = false;
},action:function (context, payload, done) {
var _arguments = arguments;
var partNumber = payload. params. partNumber || payload. query. partNumber;
var start = Date. now();
if (payload. query. alt === true) {
context. dispatch(PDP_ALT_VIEW, true);
}
debug(Executing productPageAction, partNumber);
context. service. read(pdp-service, { partNumber: partNumber }, context. config, function (err, response) {
var end = Date. now();
logger. debug(apiLogger, { params: payload. params, responseTime: end - start, partNumber: partNumber }, productPageAction read);
if (err || response && response. status !== 200) {
if (!err) {
err = {};
}
if (err && err. message === Not Found || response && response. status === 404) {
err. status = 404;
}
if (err. code === ECONNREFUSED || err. code === ECONNABORTED) {
err. status = 503;
}
switch (err. status) {
case 404:
context. dispatch(PDP_PRODUCT_NOT_FOUND, {});
logger. error(apiLogger, { arguments: _arguments, responseTime: end - start, error: 404 }, productPageAction 404 Error);
break;
default:
context. dispatch(PDP_PRODUCT_SERVICE_ERR, { status: err. status || 500 });
logger. error(apiLogger, { arguments: _arguments, responseTime: end - start, error: err. status || 500 }, productPageAction + err. status || 500 + Error);
break;
}
done();
return;
}
response. data = JSON. parse(response. text). data;
response. data. included = JSON. parse(response. text). included;
context. dispatch(QUANTIY_CHANGE, 1);
context. dispatch(PDP_PRODUCT, response. data);
var getReviews = new Promise(function (resolve, reject) {
context. executeAction(_bazaarvoiceAction2. default, {
partNumber: partNumber. toString()
}, function (err) {
if (err) {
reject(err);
throw new Error(err);
}
if (global. window) {
(0, _taggingSerializer2. default)(context. getStore, null, a variant was selected);
(0, _taggingSerializer. doTrack)(pdp_variant);
}
resolve();
});
});
var getSpecialOffers = new Promise(function (resolve, reject) {
context. executeAction(_fetchSpecialOffersAction2. default, partNumber, function (err) {
if (err) {
reject(err);
throw new Error(err);
}
resolve();
});
});
var getBloomReach = new Promise(function (resolve, reject) {
context. executeAction(_fetchBloomReachAction2. default, { partNumber: partNumber. toString() }, function (err) {
if (err) {
reject(err);
throw new Error(err);
}
resolve();
});
});
Promise. all([getReviews, getSpecialOffers, getBloomReach]). then(function () {
debug(Execution complete of productPageAction, partNumber);
done();
}, function (reason) {
logger. error(apiLogger, { arguments: _arguments, responseTime: end - start, error: reason }, Non-handled rejection error in pdpAction meaning we will never repsond);
done();
});
});
}},pdp_17:{path:u002Fmu002Fstaticu002FProductu002FpartNumberu002F:partNumberu002FfromPageu002FSpecialOfferBuilder. htm,method:get,page:pdp,title:PDP,handler:function StoreConnector(props, context) {
React. Component. apply(this, arguments);
this. state = this. getStateFromStores();
this. _onStoreChange = null;
this. _isMounted = false;
},action:function (context, payload, done) {
var _arguments = arguments;
var partNumber = payload. params. partNumber || payload. query. partNumber;
var start = Date. now();
if (payload. query. alt === true) {
context. dispatch(PDP_ALT_VIEW, true);
}
debug(Executing productPageAction, partNumber);
context. service. read(pdp-service, { partNumber: partNumber }, context. config, function (err, response) {
var end = Date. now();
logger. debug(apiLogger, { params: payload. params, responseTime: end - start, partNumber: partNumber }, productPageAction read);
if (err || response && response. status !== 200) {
if (!err) {
err = {};
}
if (err && err. message === Not Found || response && response. status === 404) {
err. status = 404;
}
if (err. code === ECONNREFUSED || err. code === ECONNABORTED) {
err. status = 503;
}
switch (err. status) {
case 404:
context. dispatch(PDP_PRODUCT_NOT_FOUND, {});
logger. error(apiLogger, { arguments: _arguments, responseTime: end - start, error: 404 }, productPageAction 404 Error);
break;
default:
context. dispatch(PDP_PRODUCT_SERVICE_ERR, { status: err. status || 500 });
logger. error(apiLogger, { arguments: _arguments, responseTime: end - start, error: err. status || 500 }, productPageAction + err. status || 500 + Error);
break;
}
done();
return;
}
response. data = JSON. parse(response. text). data;
response. data. included = JSON. parse(response. text). included;
context. dispatch(QUANTIY_CHANGE, 1);
context. dispatch(PDP_PRODUCT, response. data);
var getReviews = new Promise(function (resolve, reject) {
context. executeAction(_bazaarvoiceAction2. default, {
partNumber: partNumber. toString()
}, function (err) {
if (err) {
reject(err);
throw new Error(err);
}
if (global. window) {
(0, _taggingSerializer2. default)(context. getStore, null, a variant was selected);
(0, _taggingSerializer. doTrack)(pdp_variant);
}
resolve();
});
});
var getSpecialOffers = new Promise(function (resolve, reject) {
context. executeAction(_fetchSpecialOffersAction2. default, partNumber, function (err) {
if (err) {
reject(err);
throw new Error(err);
}
resolve();
});
});
var getBloomReach = new Promise(function (resolve, reject) {
context. executeAction(_fetchBloomReachAction2. default, { partNumber: partNumber. toString() }, function (err) {
if (err) {
reject(err);
throw new Error(err);
}
resolve();
});
});
Promise. all([getReviews, getSpecialOffers, getBloomReach]). then(function () {
debug(Execution complete of productPageAction, partNumber);
done();
}, function (reason) {
logger. error(apiLogger, { arguments: _arguments, responseTime: end - start, error: reason }, Non-handled rejection error in pdpAction meaning we will never repsond);
done();
});
});
}},pdp_18:{path:u002Fproductu002F:partNumber,method:get,page:pdp,title:PDP,handler:function StoreConnector(props, context) {
React. Component. apply(this, arguments);
this. state = this. getStateFromStores();
this. _onStoreChange = null;
this. _isMounted = false;
},action:function (context, payload, done) {
var _arguments = arguments;
var partNumber = payload. params. partNumber || payload. query. partNumber;
var start = Date. now();
if (payload. query. alt === true) {
context. dispatch(PDP_ALT_VIEW, true);
}
debug(Executing productPageAction, partNumber);
context. service. read(pdp-service, { partNumber: partNumber }, context. config, function (err, response) {
var end = Date. now();
logger. debug(apiLogger, { params: payload. params, responseTime: end - start, partNumber: partNumber }, productPageAction read);
if (err || response && response. status !== 200) {
if (!err) {
err = {};
}
if (err && err. message === Not Found || response && response. status === 404) {
err. status = 404;
}
if (err. code === ECONNREFUSED || err. code === ECONNABORTED) {
err. status = 503;
}
switch (err. status) {
case 404:
context. dispatch(PDP_PRODUCT_NOT_FOUND, {});
logger. error(apiLogger, { arguments: _arguments, responseTime: end - start, error: 404 }, productPageAction 404 Error);
break;
default:
context. dispatch(PDP_PRODUCT_SERVICE_ERR, { status: err. status || 500 });
logger. error(apiLogger, { arguments: _arguments, responseTime: end - start, error: err. status || 500 }, productPageAction + err. status || 500 + Error);
break;
}
done();
return;
}
response. data = JSON. parse(response. text). data;
response. data. included = JSON. parse(response. text). included;
context. dispatch(QUANTIY_CHANGE, 1);
context. dispatch(PDP_PRODUCT, response. data);
var getReviews = new Promise(function (resolve, reject) {
context. executeAction(_bazaarvoiceAction2. default, {
partNumber: partNumber. toString()
}, function (err) {
if (err) {
reject(err);
throw new Error(err);
}
if (global. window) {
(0, _taggingSerializer2. default)(context. getStore, null, a variant was selected);
(0, _taggingSerializer. doTrack)(pdp_variant);
}
resolve();
});
});
var getSpecialOffers = new Promise(function (resolve, reject) {
context. executeAction(_fetchSpecialOffersAction2. default, partNumber, function (err) {
if (err) {
reject(err);
throw new Error(err);
}
resolve();
});
});
var getBloomReach = new Promise(function (resolve, reject) {
context. executeAction(_fetchBloomReachAction2. default, { partNumber: partNumber. toString() }, function (err) {
if (err) {
reject(err);
throw new Error(err);
}
resolve();
});
});
Promise. all([getReviews, getSpecialOffers, getBloomReach]). then(function () {
debug(Execution complete of productPageAction, partNumber);
done();
}, function (reason) {
logger. error(apiLogger, { arguments: _arguments, responseTime: end - start, error: reason }, Non-handled rejection error in pdpAction meaning we will never repsond);
done();
});
});
}},specialoffers:{path:u002Fproductu002F:partNumberu002Fspecialoffersu002F:promotionId,method:get,page:specialoffers,title:PDP Special Offers Bundle Creator,handler:function StoreConnector(props, context) {
React. Component. apply(this, arguments);
this. state = this. getStateFromStores();
this. _onStoreChange = null;
this. _isMounted = false;
},action:function (context, payload, done) {
var _arguments = arguments;
var partNumber = payload. params. partNumber;
var promotionId = payload. params. promotionId;
var start = Date. now();
debug(Executing specialOffersCreatorAction, partNumber);
var getProductInformation = new Promise(function (resolve, reject) {
context. service. read(pdp-service, { partNumber: partNumber }, context. config, function (err, response) {
response. data = JSON. parse(response. text). data;
response. data. included = JSON. parse(response. text). included;
context. dispatch(SPECIAL_OFFERS_SET_BREADCRUMB, response. data);
resolve();
});
});
context. service. read(pdp-special-offers-service, { partNumber: partNumber, promotionId: promotionId }, context. config, function (err, response) {
var end = Date. now();
logger. debug(apiLogger, { params: payload. params, responseTime: end - start, partNumber: partNumber }, specialOffersCreatorAction read);
if (err) {
if (err. message === Not Found) {
err. status = 404;
}
if (err. code === ECONNREFUSED || err. code === ECONNABORTED) {
err. status = 503;
}
switch (err. status) {
case 404:
context. dispatch(PDP_PROMOTION_NOT_FOUND, {});
logger. error(apiLogger, { arguments: _arguments, responseTime: end - start, error: 404 }, specialOffersCreatorAction 404 Error);
break;
default:
context. dispatch(PDP_PROMOTION_SERVICE_ERR, { status: err. status || 500 });
logger. error(apiLogger, { arguments: _arguments, responseTime: end - start, error: err. status || 500 }, specialOffersCreatorAction + err. status || 500 + Error);
break;
}
done();
return;
}
response. data = (typeof response === undefined ? undefined : _typeof(response)) === object ? response. data : JSON. parse(response. text). data;
response. data. attributes. targetPartNumber = partNumber;
context. dispatch(PDP_PROMOTION, response. data);
getProductInformation. then(function () {
return done();
});
});
}},error:{path:*,method:get,page:error,title:404 Not Found,handler:function ErrorPage() {
_classCallCheck(this, ErrorPage);
return _possibleConstructorReturn(this, (ErrorPage. __proto__ || Object. getPrototypeOf(ErrorPage)). apply(this, arguments));
}}},pageTitle:Fisher-Price Smart Stages Counting Colours Clock},BazaarVoiceReviewStore:{reviews:[{id:67578672,type:review,attributes:{secondaryRatings:{Quality:5,Entertainment value:5,Development:5,Features:5},productReviewed:{name:Fisher-Price Smart Stages Counting Colours Clock,id:6097763},profile:{name:yorkmumxx,location:North Yorkshire, UK,contextAttributes:{Age:45 to 54,Gender:Female},badges:[]},overallRating:5,text:Quality product that you'd expect from Fisher-Price, robust and well made. Pleasantly surprised by how many phrases there are, the buttons on top, the numbers and when the hands are turned all produce sound. Teaches shapes, colours, numbers as well as being fun, you can even switch it to French, so it counts in French. ,helpfulness:{helpful:0,unhelpful:0},title:Brilliant toy, gets used a lot,submitted:14 June 2016,recommended:true,recommendedProducts:[],syndication:null}},{id:60145853,type:review,attributes:{secondaryRatings:{Quality:4,Entertainment value:4,Development:4,Features:4},productReviewed:{name:Fisher-Price Smart Stages Counting Colours Clock,id:6097763},profile:{name:Elizabeth31,location:London, UK,contextAttributes:{Age:25 to 34,Gender:Female},badges:[]},overallRating:4,text:Bought this for my 1 year old son. It's a great size for him to pick up and throw about, and is therefore robust also.
It keeps him entertained as he loves pushing the buttons and turning the hands.
Each number has a function either stating the number, the shape, the colour and shape, or playing a little tune. There is a separate function to allow the numbers to be said in English followed by French, which will be great for development later on. ,helpfulness:{helpful:0,unhelpful:0},title:Great clock for little hands,submitted:19 January 2016,recommended:true,recommendedProducts:[],syndication:null}}],stats:{id:6097763,type:reviewStatistics,attributes:{overallRating:4. 5,reviewCount:2,secondaryRatings:{Quality:4. 5,Entertainment value:4. 5,Development:4. 5,Features:4. 5},recommendationPercentage:100,ratingDistribution:[{Count:1,RatingValue:4},{Count:1,RatingValue:5}]}}},BazaarVoiceQuestionAnswerStore:{questions:[],stats:{attributes:{questionCount:0,answerCount:0}}},AlternativeProductStore:{products:[],bloomReachData:{alsoSearchedFor:,relatedSearches:null,scripts:[var br_related_rid = Ri5yeirw4odlxn8jcwnm5-uf,r0,m0;,var br_iuid = aHR0cDovL3d3dy5hcmdvcy5jby51ay9yZXMvc3RhdGljL1Byb2R1Y3QvcGFydE51bWJlci82MDk3NzYzLmh0bQ==;]}}}},plugins:{FetchrPlugin:{xhrPath:u002Fproduct-api,xhrTimeout:3000,corsPath:null}}},plugins:{}}_satellite. pageBottom()
*Prices correct as displayed but are subject to change. |
|
|