iticket-seatingplan-dev 1.2.8 → 1.2.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -24,7 +24,7 @@ const SeatingPlan = _ref => {
24
24
  sessionId,
25
25
  showingId,
26
26
  areaId,
27
- priceSectionId,
27
+ priceSectionIds,
28
28
  price,
29
29
  quantity,
30
30
  callbackFunction,
@@ -61,13 +61,13 @@ const SeatingPlan = _ref => {
61
61
  fillOpacity: s.loading ? 0 : 1
62
62
  };
63
63
  };
64
- const addTicketToCart = (s, priceAgeId, cs) => {
64
+ const addTicketToCart = (s, priceage, cs) => {
65
65
  map.target.closePopup();
66
66
  setProcessing(true);
67
67
  fetch("".concat(baseUrl, "/legacy/").concat(countryCode, "/shop/events/").concat(eventId, "/").concat(eventVenueId, "/showings/").concat(showingId, "/tickets/allocated/").concat(areaId), {
68
68
  method: 'POST',
69
69
  body: JSON.stringify({
70
- priceAgeId: priceAgeId,
70
+ priceAgeId: priceage.paId,
71
71
  seatId: s.ssId,
72
72
  connectedShowings: connectedShowings
73
73
  }),
@@ -82,7 +82,6 @@ const SeatingPlan = _ref => {
82
82
  fillColor: statusColors.sold
83
83
  });
84
84
  cs ? cs.seat.s = 2 : chosenSeat.seat.s = 2;
85
- console.log(cs.seat, chosenSeat);
86
85
  const event = {
87
86
  type: 'error',
88
87
  details: {
@@ -141,9 +140,23 @@ const SeatingPlan = _ref => {
141
140
  r: s.r,
142
141
  c: s.c,
143
142
  showingId: showingId,
144
- p: price || s.defaultPrice,
143
+ pId: priceage.paId,
144
+ p: priceage.p,
145
145
  paName: s.priceAgeName
146
146
  }]);
147
+ const event = {
148
+ type: 'cart-change-add',
149
+ details: [...bookedSeats, {
150
+ ssId: s.ssId,
151
+ r: s.r,
152
+ c: s.c,
153
+ showingId: showingId,
154
+ pId: priceage.paId,
155
+ p: priceage.p,
156
+ paName: s.priceAgeName
157
+ }]
158
+ };
159
+ callbackFunction(event);
147
160
  }
148
161
  }).catch(error => {
149
162
  s.loading = false;
@@ -184,6 +197,11 @@ const SeatingPlan = _ref => {
184
197
  });
185
198
  setBookedSeats(bookedSeats.filter(bs => bs.ssId !== s.ssId));
186
199
  setProcessing(false);
200
+ const event = {
201
+ type: 'cart-change-remove',
202
+ details: bookedSeats.filter(bs => bs.ssId !== s.ssId)
203
+ };
204
+ callbackFunction(event);
187
205
  }).catch(error => {
188
206
  e.target.setStyle({
189
207
  fillColor: statusColors.booked
@@ -219,10 +237,10 @@ const SeatingPlan = _ref => {
219
237
  seat: s
220
238
  });
221
239
  if (s.s === 1) {
222
- const availablePrices = seats.pricing.filter(price => price.psId === priceSectionId);
240
+ const availablePrices = seats.pricing.filter(price => (!priceSectionIds || priceSectionIds.includes(price.psId)) && s.psId === price.psId);
223
241
  if (availablePrices.length === 1) {
224
242
  s.loading = true;
225
- addTicketToCart(s, availablePrices[0].paId, {
243
+ addTicketToCart(s, availablePrices[0], {
226
244
  circle: e,
227
245
  seat: s
228
246
  });
@@ -291,25 +309,24 @@ const SeatingPlan = _ref => {
291
309
  setPosition(null);
292
310
  }
293
311
  }, [areaId]);
294
- (0, _react.useEffect)(() => {
295
- if (bookedSeats && position && chosenSeat) {
296
- const event = {
297
- type: 'cart-change',
298
- details: bookedSeats
299
- };
300
- callbackFunction(event);
301
- }
302
- }, [bookedSeats]);
312
+
313
+ // useEffect(() => {
314
+ // if (bookedSeats && position && chosenSeat) {
315
+ // const event = { type: 'cart-change', details: bookedSeats }
316
+ // callbackFunction(event)
317
+ // }
318
+ // }, [bookedSeats])
319
+
303
320
  (0, _react.useEffect)(() => {
304
321
  if (processing) {
305
- const availablePrices = seats.pricing.filter(price => price.psId === priceSectionId);
322
+ const availablePrices = seats.pricing.filter(price => !priceSectionIds || priceSectionIds.includes(price.psId));
306
323
  availablePrices.length === 1 && (chosenSeat === null || chosenSeat === void 0 ? void 0 : chosenSeat.circle.target.setStyle({
307
324
  fillOpacity: 0
308
325
  }));
309
326
  }
310
327
  }, [chosenSeat, processing]);
311
328
  const calculateCenterOfMap = (height, seats) => {
312
- const filteredSeats = seats.filter(price => price.psId === priceSectionId);
329
+ const filteredSeats = seats.filter(price => !priceSectionIds || priceSectionIds.includes(price.psId));
313
330
  const avgY = filteredSeats.reduce((acc, val) => {
314
331
  return acc + val.y / filteredSeats.length;
315
332
  }, 0);
@@ -319,7 +336,7 @@ const SeatingPlan = _ref => {
319
336
  return [height * 0.05 - avgY / (height > 800 ? height > 999 ? 3.5 : 3.3 : 3.35) - (height > 800 ? height > 999 ? height * 0.0201 : height * 0.0198 : height * 0.0206), avgX * 0.3 + 0.15];
320
337
  };
321
338
  const determineZoom = seats => {
322
- const filteredSeats = seats.filter(price => price.psId === priceSectionId);
339
+ const filteredSeats = seats.filter(price => !priceSectionIds || priceSectionIds.includes(price.psId));
323
340
  const x = filteredSeats.map(fs => fs.x);
324
341
  const y = filteredSeats.map(fs => fs.y);
325
342
  const maxX = Math.max(...x) - Math.min(...x);
@@ -486,7 +503,7 @@ const SeatingPlan = _ref => {
486
503
 
487
504
  opacity: s.loading ? 100 : 0,
488
505
  zIndex: 10
489
- }), !priceSectionId || s.psId === priceSectionId ? s.s === 6 ? /*#__PURE__*/_react.default.createElement(_reactLeaflet.ImageOverlay, {
506
+ }), !priceSectionIds || priceSectionIds.includes(s.psId) ? s.s === 6 ? /*#__PURE__*/_react.default.createElement(_reactLeaflet.ImageOverlay, {
490
507
  url: 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iNTBweCIgaGVpZ2h0PSI1MHB4IiB2aWV3Qm94PSIwIDAgNTAgNTAiIHZlcnNpb249IjEuMSI+CjxnIGlkPSJzdXJmYWNlMSI+CjxwYXRoIHN0eWxlPSIgc3Ryb2tlOm5vbmU7ZmlsbC1ydWxlOm5vbnplcm87ZmlsbDpyZ2IoMCUsMCUsMCUpO2ZpbGwtb3BhY2l0eToxOyIgZD0iTSAzNC4xMjg5MDYgNDEuMzA0Njg4IEMgMzMuMjY5NTMxIDQwLjQ0OTIxOSAzMS45MDYyNSA0MC4zNzUgMzAuOTY0ODQ0IDQxLjE0MDYyNSBDIDI4LjY0ODQzOCA0My4wMTk1MzEgMjUuNzczNDM4IDQ0LjA2NjQwNiAyMi43MzgyODEgNDQuMDY2NDA2IEMgMTUuNDU3MDMxIDQ0LjA2NjQwNiA5LjUzMTI1IDM4LjE0MDYyNSA5LjUzMTI1IDMwLjg1NTQ2OSBDIDkuNTMxMjUgMjcuNjI4OTA2IDEwLjcxODc1IDI0LjU2NjQwNiAxMi44MzU5MzggMjIuMTcxODc1IEMgMTMuNSAyMS40MTc5NjkgMTMuNDg0Mzc1IDIwLjI4MTI1IDEyLjc4OTA2MiAxOS41NTA3ODEgQyAxMi4zMzk4NDQgMTkuMDc0MjE5IDExLjg5NDUzMSAxOC41OTc2NTYgMTEuNDQ1MzEyIDE4LjEyMTA5NCBDIDExLjA4MjAzMSAxNy43MzgyODEgMTAuNTc4MTI1IDE3LjUyMzQzOCAxMC4wNTA3ODEgMTcuNTIzNDM4IEMgOS41MjM0MzggMTcuNTI3MzQ0IDkuMDIzNDM4IDE3Ljc1IDguNjY3OTY5IDE4LjEzNjcxOSBDIDcuNTY2NDA2IDE5LjMyODEyNSA2LjYxNzE4OCAyMC42NTIzNDQgNS44NjcxODggMjIuMDg1OTM4IEMgNC40NjA5MzggMjQuNzczNDM4IDMuNzE4NzUgMjcuODA4NTk0IDMuNzE4NzUgMzAuODU1NDY5IEMgMy43MTg3NSA0MS4zNDM3NSAxMi4yNTM5MDYgNDkuODc4OTA2IDIyLjc0MjE4OCA0OS44Nzg5MDYgQyAyNS43Njk1MzEgNDkuODc4OTA2IDI4Ljc4NTE1NiA0OS4xNDQ1MzEgMzEuNDY0ODQ0IDQ3Ljc1NzgxMiBDIDMyLjYyNSA0Ny4xNTYyNSAzMy43MjI2NTYgNDYuNDI5Njg4IDM0LjczODI4MSA0NS42MDE1NjIgQyAzNS4yNTM5MDYgNDUuMTc5Njg4IDM1LjU3MDMxMiA0NC41NTQ2ODggMzUuNjA1NDY5IDQzLjg4NjcxOSBDIDM1LjYzNjcxOSA0My4yMTg3NSAzNS4zOTA2MjUgNDIuNTY2NDA2IDM0LjkxNDA2MiA0Mi4wOTM3NSBaIE0gMzQuMTI4OTA2IDQxLjMwNDY4OCAiLz4KPHBhdGggc3R5bGU9IiBzdHJva2U6bm9uZTtmaWxsLXJ1bGU6bm9uemVybztmaWxsOnJnYigwJSwwJSwwJSk7ZmlsbC1vcGFjaXR5OjE7IiBkPSJNIDE2LjgxMjUgOS4yODUxNTYgQyAxOS4zNzEwOTQgOS4yODUxNTYgMjEuNDUzMTI1IDcuMjAzMTI1IDIxLjQ1MzEyNSA0LjY0NDUzMSBDIDIxLjQ1MzEyNSAyLjA4MjAzMSAxOS4zNzEwOTQgMCAxNi44MTI1IDAgQyAxNC4yNSAwIDEyLjE2Nzk2OSAyLjA4MjAzMSAxMi4xNjc5NjkgNC42NDQ1MzEgQyAxMi4xNjc5NjkgNy4yMDMxMjUgMTQuMjUgOS4yODUxNTYgMTYuODEyNSA5LjI4NTE1NiBaIE0gMTYuODEyNSA5LjI4NTE1NiAiLz4KPHBhdGggc3R5bGU9IiBzdHJva2U6bm9uZTtmaWxsLXJ1bGU6bm9uemVybztmaWxsOnJnYigwJSwwJSwwJSk7ZmlsbC1vcGFjaXR5OjE7IiBkPSJNIDQ2LjIzNDM3NSA0Ni41NzAzMTIgTCA0My4zMTY0MDYgMzAuNjA5Mzc1IEMgNDMuMTQwNjI1IDI5LjYyNSA0Mi41NTg1OTQgMjguNzQyMTg4IDQxLjczNDM3NSAyOC4xNzk2ODggQyA0MS4xMTMyODEgMjcuNzU3ODEyIDQwLjM4MjgxMiAyNy41MzEyNSAzOS42Mjg5MDYgMjcuNTMxMjUgQyAzOS4zODI4MTIgMjcuNTMxMjUgMzkuMTMyODEyIDI3LjU1NDY4OCAzOC44OTQ1MzEgMjcuNjAxNTYyIEwgMjUuNTg1OTM4IDMwLjI2MTcxOSBDIDI1LjUzOTA2MiAzMC4yNzM0MzggMjUuNDkyMTg4IDMwLjI3NzM0NCAyNS40NDUzMTIgMzAuMjc3MzQ0IEMgMjUuMTEzMjgxIDMwLjI3NzM0NCAyNC44MjQyMTkgMzAuMDM5MDYyIDI0Ljc1NzgxMiAyOS43MTA5MzggTCAyMy42NjAxNTYgMjQuMzA4NTk0IEwgMzIuODk4NDM4IDIyLjczNDM3NSBDIDM0LjM0NzY1NiAyMi40ODQzNzUgMzUuMzI4MTI1IDIxLjEwNTQ2OSAzNS4wNzgxMjUgMTkuNjU2MjUgQyAzNC44NTkzNzUgMTguMzcxMDk0IDMzLjc1MzkwNiAxNy40Mzc1IDMyLjQ0NTMxMiAxNy40Mzc1IEMgMzIuMjk2ODc1IDE3LjQzNzUgMzIuMTQ4NDM4IDE3LjQ0OTIxOSAzMiAxNy40NzI2NTYgTCAyMi41OTc2NTYgMTkuMDc4MTI1IEwgMjEuMzkwNjI1IDEzLjEyODkwNiBDIDIxLjEzNjcxOSAxMS43NDYwOTQgMTkuOTM3NSAxMC43NDYwOTQgMTguNTM1MTU2IDEwLjc0NjA5NCBDIDE4LjM1OTM3NSAxMC43NDYwOTQgMTguMTc5Njg4IDEwLjc2MTcxOSAxOC4wMDc4MTIgMTAuNzkyOTY5IEMgMTcuMjQyMTg4IDEwLjkyOTY4OCAxNi41NzgxMjUgMTEuMzU5Mzc1IDE2LjE0MDYyNSAxMiBDIDE1LjY5NTMxMiAxMi42NDA2MjUgMTUuNTMxMjUgMTMuNDEwMTU2IDE1LjY3MTg3NSAxNC4xNzk2ODggTCAxOS41MTk1MzEgMzMuNTc0MjE5IEMgMTkuNzE0ODQ0IDM0LjU1ODU5NCAyMC4yODEyNSAzNS40MDYyNSAyMS4xMTMyODEgMzUuOTYwOTM4IEMgMjEuNzM0Mzc1IDM2LjM3NSAyMi40NTMxMjUgMzYuNTkzNzUgMjMuMTk5MjE5IDM2LjU5Mzc1IEMgMjMuNDQ1MzEyIDM2LjU5Mzc1IDIzLjY5MTQwNiAzNi41NzAzMTIgMjMuOTMzNTk0IDM2LjUxOTUzMSBMIDM3LjI2OTUzMSAzMy44NTkzNzUgQyAzNy40NTcwMzEgMzMuODIwMzEyIDM3LjY1MjM0NCAzMy44NTkzNzUgMzcuODA4NTk0IDMzLjk2NDg0NCBDIDM3Ljk2MDkzOCAzNC4wNzAzMTIgMzguMDcwMzEyIDM0LjIzODI4MSAzOC4xMDU0NjkgMzQuNDIxODc1IEwgNDAuNTE1NjI1IDQ3LjYxNzE4OCBDIDQwLjc2NTYyNSA0OSA0MS45Njg3NSA1MC4wMDM5MDYgNDMuMzcxMDk0IDUwLjAwMzkwNiBDIDQzLjU0Njg3NSA1MC4wMDM5MDYgNDMuNzE4NzUgNDkuOTg0Mzc1IDQzLjg5NDUzMSA0OS45NTMxMjUgQyA0NC42NjAxNTYgNDkuODE2NDA2IDQ1LjMyMDMxMiA0OS4zODY3MTkgNDUuNzYxNzE5IDQ4Ljc0NjA5NCBDIDQ2LjIwNzAzMSA0OC4xMDkzNzUgNDYuMzcxMDk0IDQ3LjMzNTkzOCA0Ni4yMzQzNzUgNDYuNTcwMzEyIFogTSA0Ni4yMzQzNzUgNDYuNTcwMzEyICIvPgo8L2c+Cjwvc3ZnPgo=',
491
508
  bounds: [
492
509
  // [
@@ -536,13 +553,16 @@ const SeatingPlan = _ref => {
536
553
  click: e => handleClick(e, s)
537
554
  }
538
555
  // value={s}
539
- }, s.s === 1 && /*#__PURE__*/_react.default.createElement(_reactLeaflet.Popup, null, /*#__PURE__*/_react.default.createElement("p", {
556
+ }, /*#__PURE__*/_react.default.createElement(_reactLeaflet.Tooltip, {
557
+ direction: 'top',
558
+ offset: [0, height * 0.03 + -30]
559
+ }, s.r + '-' + s.c, ' '), s.s === 1 && /*#__PURE__*/_react.default.createElement(_reactLeaflet.Popup, null, /*#__PURE__*/_react.default.createElement("p", {
540
560
  style: {
541
561
  marginTop: '0.2rem',
542
562
  marginBottom: '0.2rem',
543
563
  fontWeight: 'bold'
544
564
  }
545
- }, "Select option:"), seats.pricing.filter(price => price.psId === priceSectionId).map(price => /*#__PURE__*/_react.default.createElement("div", {
565
+ }, "Select option:"), seats.pricing.filter(price => (!priceSectionIds || priceSectionIds.includes(price.psId)) && price.psId === s.psId).map(price => /*#__PURE__*/_react.default.createElement("div", {
546
566
  key: price.paId,
547
567
  style: {
548
568
  minWidth: '10rem',
@@ -555,7 +575,7 @@ const SeatingPlan = _ref => {
555
575
  className: "priceage",
556
576
  onClick: () => {
557
577
  s.loading = true;
558
- addTicketToCart(s, price.paId);
578
+ addTicketToCart(s, price);
559
579
  }
560
580
  }, /*#__PURE__*/_react.default.createElement("p", {
561
581
  style: {
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "iticket-seatingplan-dev",
3
3
  "description": "Seating plan with FLEXi pricing",
4
4
  "author": "gedwyne",
5
- "version": "1.2.8",
5
+ "version": "1.2.9",
6
6
  "private": false,
7
7
  "keywords": [
8
8
  "iticket",