Check all the ARGOS stores in one click, and get and find the stock levels fast!
Argos Stock Checker has found for Techlink 35mm To 2 RCA Phono Plugs 447/5600 - 9 have the item available for reservation.
|
| Item Number | 4475600 |
ENLARGE
|
Description | Techlink 35mm To 2 RCA Phono Plugs |
Price (at last stock search) | £9.99 (when checked last) |
Was (as listed on Argos site) | £11.99 |
|
All price changes within our database | 19/12/2017 | £11.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 |
Cable length 1 m. Compatible with iPhone, iPod, iPad or any mac desktop/macbook. Use to connect your iPhone, iPad or Mac to a sound bar or home sound system for an epic movie night or house party. Connect to an amplifier or external audio device with left and right RCA/phono inputs from 3. 5mm ports. Use to connect all devices with a 3. 5mm headphone or audio out connection. Cable has flexible and rugged casing to keep it safe from harm. EAN: 5026252602101. Questions & answersBe the first to ask a question!Ask a questionBoring but important info*Prices correct as displayed but are subject to change. var br_related_rid = R8tc6kyurfpbmfhimy67g-uf,r1,m1;var br_iuid = aHR0cDovL3d3dy5hcmdvcy5jby51ay9yZXMvc3RhdGljL1Byb2R1Y3QvcGFydE51bWJlci80NDc1NjAwLmh0bQ==;Related Products
Buy Techlink 3. 5mm Optical To Toslink Optical
Optical cable. Cable length 2 m. Compatible with . . .
More details. . .
Buy iWires Cable Toslink Plug to Toslink Plug
Your iWires Toslink fibre optic cable provides precise . . .
More details. . .
Buy Techlink Lighting Connector 2m Cable - Black
Power cable. Cable length 2 m. Compatible with . . .
More details. . .
Related Searches. . . customers also searched for
Related Searches
black cable
apple lightning cable
lightning cable 2m
cable connecting plug
tomtom microphone cable
black power cable
view productEssential 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 2017. All Rights Reserved. Store LocatorCustomer ServicesArgos CardPrivacy PolicyCookie PolicyTerms & ConditionsSainsbury'sMy Account© Argos Limited 2017. All Rights Reserved. window. App={context:{dispatcher:{stores:{RouteStore:{currentUrl:u002Fproductu002F4475600,currentNavigate:{transactionId:2994078903769910,url:u002Fproductu002F4475600},currentNavigateError:null,isNavigateComplete:true,routes:null},ProductStore:{name:Techlink 3. 5mm To 2 RCA Phono Plugs. ,attributes:{fastTrack:false,catentryId:1416434,freeDelivery:false,description:u003Culu003Eu003Cliu003ECable length 1 m. u003Cu002Fliu003Eu003Cliu003ECompatible with iPhone, iPod, iPad or any mac desktopu002Fmacbook. u003Cu002Fliu003Eu003Cu002Fulu003Eu003Cpu003EUse to connect your iPhone, iPad or Mac to a sound bar or home sound system for an epic movie night or house party. Connect to an amplifier or external audio device with left and right RCAu002Fphono inputs from 3. 5mm ports. Use to connect all devices with a 3. 5mm headphone or audio out connection. Cable has flexible and rugged casing to keep it safe from harm. u003Cbr \u003Eu003Cbr \u003Eu003Cu002Fpu003Eu003Culu003Eu003Cliu003EEAN: 5026252602101. u003Cu002Fliu003Eu003Cu002Fulu003E,deliverable:true,excludedFromMoneyBack:false,deliveryPrice:3. 95,variableDeliveryPrice:false,name:Techlink 3. 5mm To 2 RCA Phono Plugs. ,collectable:true,partNumber:4475600,brand:Techlink,maximumQuantity:10,price:{flashText:Save £2. 00,now:9. 99,was:11. 99}},relationships:{legalText:{links:{self:http:u002Fu002Fpro-eben-1va7ylod6drde. phuqpfkunw. eu-west-1. elasticbeanstalk. comu002Fproductu002F4475600u002Frelationshipsu002FlegalText,related:http:u002Fu002Fpro-eben-1va7ylod6drde. phuqpfkunw. eu-west-1. elasticbeanstalk. comu002Fproductu002F4475600u002FlegalText},data:{type:legalTexts,id:4475600}},breadcrumb:{links:{self:http:u002Fu002Fpro-eben-1va7ylod6drde. phuqpfkunw. eu-west-1. elasticbeanstalk. comu002Fproductu002F4475600u002Frelationshipsu002Fbreadcrumb,related:http:u002Fu002Fpro-eben-1va7ylod6drde. phuqpfkunw. eu-west-1. elasticbeanstalk. comu002Fproductu002F4475600u002Fbreadcrumb},data:{type:breadcrumb,id:4475600}},variants:{links:{self:http:u002Fu002Fpro-eben-1va7ylod6drde. phuqpfkunw. eu-west-1. elasticbeanstalk. comu002Fproductu002F4475600u002Frelationshipsu002Fvariants,related:http:u002Fu002Fpro-eben-1va7ylod6drde. phuqpfkunw. eu-west-1. elasticbeanstalk. comu002Fproductu002F4475600u002Fvariants},data:{type:variants,id:4475600}},price:{links:{self:http:u002Fu002Fpro-eben-1va7ylod6drde. phuqpfkunw. eu-west-1. elasticbeanstalk. comu002Fproductu002F4475600u002Frelationshipsu002Fprice,related:http:u002Fu002Fpro-eben-1va7ylod6drde. phuqpfkunw. eu-west-1. elasticbeanstalk. comu002Fproductu002F4475600u002Fprice},data:{type:prices,id:4475600}},media:{links:{self:http:u002Fu002Fpro-eben-1va7ylod6drde. phuqpfkunw. eu-west-1. elasticbeanstalk. comu002Fproductu002F4475600u002Frelationshipsu002Fmedia,related:http:u002Fu002Fpro-eben-1va7ylod6drde. phuqpfkunw. eu-west-1. elasticbeanstalk. comu002Fproductu002F4475600u002Fmedia},data:{type:media,id:4475600}}},err:null,productId:4475600,pricing:{type:prices,id:4475600,attributes:{flashText:Save £2. 00,now:9. 99,was:11. 99},relationships:{},links:{self:http:u002Fu002Fpro-eben-1va7ylod6drde. phuqpfkunw. eu-west-1. elasticbeanstalk. comu002Fpricesu002F4475600}},productNotFound:false,variants:{type:variants,id:4475600,attributes:{variants:[]},relationships:{},links:{self:http:u002Fu002Fpro-eben-1va7ylod6drde. phuqpfkunw. eu-west-1. elasticbeanstalk. comu002Fvariantsu002F4475600}},breadcrumb:[{attributes:{name:Technology,path:u002Fu002Fwww. argos. co. uku002Fstaticu002FBrowseu002FID72u002F33016251u002Fc_1u002F1|category_root|Technology|33006169. htm,id:33006169}},{attributes:{name:Cameras and camcorders,path:u002Fu002Fwww. argos. co. uku002Fstaticu002FBrowseu002FID72u002F33016251u002Fc_1u002F1|category_root|Technology|33006169u002Fc_2u002F2|33006169|Cameras+and+camcorders|33008331. htm,id:33008331}},{attributes:{name:Photographic accessories and editing software,path:u002Fu002Fwww. argos. co. uku002Fstaticu002FBrowseu002FID72u002F33016251u002Fc_1u002F1|category_root|Technology|33006169u002Fc_2u002F2|33006169|Cameras+and+camcorders|33008331u002Fc_3u002F3|33008331|Photographic+accessories+and+editing+software|33012497. htm,id:33012497}},{attributes:{name:Camera cables,path:u002Fu002Fwww. argos. co. uku002Fstaticu002FBrowseu002FID72u002F33016251u002Fc_1u002F1|category_root|Technology|33006169u002Fc_2u002F2|33006169|Cameras+and+camcorders|33008331u002Fc_3u002F3|33008331|Photographic+accessories+and+editing+software|33012497u002Fc_4u002F4|33012497|Camera+cables|33400485. htm,id:33400485}}],legalText:{displaySwatchMessage:false},altView:false,media:{images:[http:u002Fu002Fargos. scene7. comu002Fisu002Fimageu002FArgosu002F4475600_R_Z001A],pdfs:[],threesixty:[],meta:{http:u002Fu002Fargos. scene7. comu002Fisu002Fimageu002FArgosu002F4475600_R_Z001A:{height:1510,width:3009}},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:Techlink 3. 5mm To 2 RCA Phono Plugs. },BazaarVoiceReviewStore:{reviews:[],stats:{}},BazaarVoiceQuestionAnswerStore:{questions:[],stats:{attributes:{questionCount:0,answerCount:0}}},AlternativeProductStore:{products:[],bloomReachData:{alsoSearchedFor:u003Cdiv class=r-sf-widget\u003Eu003Cdiv class=r-sf-widget-merchant-cont\u003Eu003Cdiv id=r1 class=item\u003E
u003Cdiv class=r-sf-widget-merchant-img\u003E
u003Ca href=http:u002Fu002Fwww. argos. co. uku002Fproductu002F3386855\u003Eu003Cimg src=http:u002Fu002Fargos. scene7. comu002Fisu002Fimageu002FArgosu002F3386855_R_SET?$Listers$\u003Eu003Cu002Fau003E
u003Cu002Fdivu003E
u003Cdiv class=r-sf-widget-merchant-title\u003E
u003Ca href=http:u002Fu002Fwww. argos. co. uku002Fproductu002F3386855\u003EBuy Techlink 3. 5mm Optical To Toslink Opticalu003Cu002Fau003E
u003Cu002Fdivu003E
u003Cdiv class=r-sf-widget-merchant-desc\u003E
Optical cable. Cable length 2 m. Compatible with . . .
u003Cu002Fdivu003E
u003Cdiv class=r-sf-widget-merchant-qv\u003E
u003Ca href=javascript:void(0); u003EMore details. . . u003Cu002Fau003E
u003Cu002Fdivu003E
u003Cu002Fdivu003Eu003Cu002Fdivu003Eu003Cu002Fdivu003Eu003Cdiv class=r-sf-widget\u003Eu003Cdiv class=r-sf-widget-merchant-cont\u003Eu003Cdiv id=r2 class=item\u003E
u003Cdiv class=r-sf-widget-merchant-img\u003E
u003Ca href=http:u002Fu002Fwww. argos. co. uku002Fproductu002F5429088\u003Eu003Cimg src=http:u002Fu002Fargos. scene7. comu002Fisu002Fimageu002FArgosu002F5429088_R_SET?$Listers$\u003Eu003Cu002Fau003E
u003Cu002Fdivu003E
u003Cdiv class=r-sf-widget-merchant-title\u003E
u003Ca href=http:u002Fu002Fwww. argos. co. uku002Fproductu002F5429088\u003EBuy iWires Cable Toslink Plug to Toslink Plugu003Cu002Fau003E
u003Cu002Fdivu003E
u003Cdiv class=r-sf-widget-merchant-desc\u003E
Your iWires Toslink fibre optic cable provides precise . . .
u003Cu002Fdivu003E
u003Cdiv class=r-sf-widget-merchant-qv\u003E
u003Ca href=javascript:void(0); u003EMore details. . . u003Cu002Fau003E
u003Cu002Fdivu003E
u003Cu002Fdivu003Eu003Cu002Fdivu003Eu003Cu002Fdivu003Eu003Cdiv class=r-sf-widget\u003Eu003Cdiv class=r-sf-widget-merchant-cont\u003Eu003Cdiv id=r3 class=item\u003E
u003Cdiv class=r-sf-widget-merchant-img\u003E
u003Ca href=http:u002Fu002Fwww. argos. co. uku002Fproductu002F5768378\u003Eu003Cimg src=http:u002Fu002Fargos. scene7. comu002Fisu002Fimageu002FArgosu002F5768378_R_SET?$Listers$\u003Eu003Cu002Fau003E
u003Cu002Fdivu003E
u003Cdiv class=r-sf-widget-merchant-title\u003E
u003Ca href=http:u002Fu002Fwww. argos. co. uku002Fproductu002F5768378\u003EBuy Techlink Lighting Connector 2m Cable - Blacku003Cu002Fau003E
u003Cu002Fdivu003E
u003Cdiv class=r-sf-widget-merchant-desc\u003E
Power cable. Cable length 2 m. Compatible with . . .
u003Cu002Fdivu003E
u003Cdiv class=r-sf-widget-merchant-qv\u003E
u003Ca href=javascript:void(0); u003EMore details. . . u003Cu002Fau003E
u003Cu002Fdivu003E
u003Cu002Fdivu003Eu003Cu002Fdivu003Eu003Cu002Fdivu003E,relatedSearches:
u003Cdiv class=r-related-heading\u003ERelated Searchesu003Cu002Fdivu003E
u003Cdiv class=r-related-query\u003E
u003Ca class=r-related-query-link href=\u002Fproductu002F5761337\u003Eblack cableu003Cu002Fau003E
u003Cu002Fdivu003E
u003Cdiv class=r-related-query\u003E
u003Ca class=r-related-query-link href=\u002Fproductu002F5764011\u003Eapple lightning cableu003Cu002Fau003E
u003Cu002Fdivu003E
u003Cdiv class=r-related-query\u003E
u003Ca class=r-related-query-link href=\u002Fproductu002F4459255\u003Elightning cable 2mu003Cu002Fau003E
u003Cu002Fdivu003E
u003Cdiv class=r-related-query\u003E
u003Ca class=r-related-query-link href=\u002Fproductu002F5429088\u003Ecable connecting plugu003Cu002Fau003E
u003Cu002Fdivu003E
u003Cdiv class=r-related-query\u003E
u003Ca class=r-related-query-link href=\u002Fproductu002F4551627\u003Etomtom microphone cableu003Cu002Fau003E
u003Cu002Fdivu003E
u003Cdiv class=r-related-query\u003E
u003Ca class=r-related-query-link href=\u002Fproductu002F5768378\u003Eblack power cableu003Cu002Fau003E
u003Cu002Fdivu003E
,scripts:[var br_related_rid = R8tc6kyurfpbmfhimy67g-uf,r1,m1;,var br_iuid = aHR0cDovL3d3dy5hcmdvcy5jby51ay9yZXMvc3RhdGljL1Byb2R1Y3QvcGFydE51bWJlci80NDc1NjAwLmh0bQ==;]}}}},plugins:{FetchrPlugin:{xhrPath:u002Fproduct-api,xhrTimeout:3000,corsPath:null}}},plugins:{}}_satellite. pageBottom()window. _bvapiq = window. _bvapiq || []
*Prices correct as displayed but are subject to change. |
|
|