iticket-seatingplan-dev 1.2.8 → 1.3.0

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,
145
- paName: s.priceAgeName
143
+ pId: priceage.paId,
144
+ p: priceage.p,
145
+ paName: priceage.paName
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: priceage.paName
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
  });
@@ -262,7 +280,8 @@ const SeatingPlan = _ref => {
262
280
  c: s.c,
263
281
  showingId: showingId,
264
282
  p: price || s.defaultPrice,
265
- paName: s.priceAgeName
283
+ psId: null,
284
+ paName: null
266
285
  })));
267
286
  img.onload = () => {
268
287
  setPosition([img.height * 0.005, img.width * 0.005]);
@@ -291,25 +310,24 @@ const SeatingPlan = _ref => {
291
310
  setPosition(null);
292
311
  }
293
312
  }, [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]);
313
+
314
+ // useEffect(() => {
315
+ // if (bookedSeats && position && chosenSeat) {
316
+ // const event = { type: 'cart-change', details: bookedSeats }
317
+ // callbackFunction(event)
318
+ // }
319
+ // }, [bookedSeats])
320
+
303
321
  (0, _react.useEffect)(() => {
304
322
  if (processing) {
305
- const availablePrices = seats.pricing.filter(price => price.psId === priceSectionId);
323
+ const availablePrices = seats.pricing.filter(price => !priceSectionIds || priceSectionIds.includes(price.psId));
306
324
  availablePrices.length === 1 && (chosenSeat === null || chosenSeat === void 0 ? void 0 : chosenSeat.circle.target.setStyle({
307
325
  fillOpacity: 0
308
326
  }));
309
327
  }
310
328
  }, [chosenSeat, processing]);
311
329
  const calculateCenterOfMap = (height, seats) => {
312
- const filteredSeats = seats.filter(price => price.psId === priceSectionId);
330
+ const filteredSeats = seats.filter(price => !priceSectionIds || priceSectionIds.includes(price.psId));
313
331
  const avgY = filteredSeats.reduce((acc, val) => {
314
332
  return acc + val.y / filteredSeats.length;
315
333
  }, 0);
@@ -319,7 +337,7 @@ const SeatingPlan = _ref => {
319
337
  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
338
  };
321
339
  const determineZoom = seats => {
322
- const filteredSeats = seats.filter(price => price.psId === priceSectionId);
340
+ const filteredSeats = seats.filter(price => !priceSectionIds || priceSectionIds.includes(price.psId));
323
341
  const x = filteredSeats.map(fs => fs.x);
324
342
  const y = filteredSeats.map(fs => fs.y);
325
343
  const maxX = Math.max(...x) - Math.min(...x);
@@ -486,7 +504,7 @@ const SeatingPlan = _ref => {
486
504
 
487
505
  opacity: s.loading ? 100 : 0,
488
506
  zIndex: 10
489
- }), !priceSectionId || s.psId === priceSectionId ? s.s === 6 ? /*#__PURE__*/_react.default.createElement(_reactLeaflet.ImageOverlay, {
507
+ }), !priceSectionIds || priceSectionIds.includes(s.psId) ? s.s === 6 ? /*#__PURE__*/_react.default.createElement(_reactLeaflet.ImageOverlay, {
490
508
  url: 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iNTBweCIgaGVpZ2h0PSI1MHB4IiB2aWV3Qm94PSIwIDAgNTAgNTAiIHZlcnNpb249IjEuMSI+CjxnIGlkPSJzdXJmYWNlMSI+CjxwYXRoIHN0eWxlPSIgc3Ryb2tlOm5vbmU7ZmlsbC1ydWxlOm5vbnplcm87ZmlsbDpyZ2IoMCUsMCUsMCUpO2ZpbGwtb3BhY2l0eToxOyIgZD0iTSAzNC4xMjg5MDYgNDEuMzA0Njg4IEMgMzMuMjY5NTMxIDQwLjQ0OTIxOSAzMS45MDYyNSA0MC4zNzUgMzAuOTY0ODQ0IDQxLjE0MDYyNSBDIDI4LjY0ODQzOCA0My4wMTk1MzEgMjUuNzczNDM4IDQ0LjA2NjQwNiAyMi43MzgyODEgNDQuMDY2NDA2IEMgMTUuNDU3MDMxIDQ0LjA2NjQwNiA5LjUzMTI1IDM4LjE0MDYyNSA5LjUzMTI1IDMwLjg1NTQ2OSBDIDkuNTMxMjUgMjcuNjI4OTA2IDEwLjcxODc1IDI0LjU2NjQwNiAxMi44MzU5MzggMjIuMTcxODc1IEMgMTMuNSAyMS40MTc5NjkgMTMuNDg0Mzc1IDIwLjI4MTI1IDEyLjc4OTA2MiAxOS41NTA3ODEgQyAxMi4zMzk4NDQgMTkuMDc0MjE5IDExLjg5NDUzMSAxOC41OTc2NTYgMTEuNDQ1MzEyIDE4LjEyMTA5NCBDIDExLjA4MjAzMSAxNy43MzgyODEgMTAuNTc4MTI1IDE3LjUyMzQzOCAxMC4wNTA3ODEgMTcuNTIzNDM4IEMgOS41MjM0MzggMTcuNTI3MzQ0IDkuMDIzNDM4IDE3Ljc1IDguNjY3OTY5IDE4LjEzNjcxOSBDIDcuNTY2NDA2IDE5LjMyODEyNSA2LjYxNzE4OCAyMC42NTIzNDQgNS44NjcxODggMjIuMDg1OTM4IEMgNC40NjA5MzggMjQuNzczNDM4IDMuNzE4NzUgMjcuODA4NTk0IDMuNzE4NzUgMzAuODU1NDY5IEMgMy43MTg3NSA0MS4zNDM3NSAxMi4yNTM5MDYgNDkuODc4OTA2IDIyLjc0MjE4OCA0OS44Nzg5MDYgQyAyNS43Njk1MzEgNDkuODc4OTA2IDI4Ljc4NTE1NiA0OS4xNDQ1MzEgMzEuNDY0ODQ0IDQ3Ljc1NzgxMiBDIDMyLjYyNSA0Ny4xNTYyNSAzMy43MjI2NTYgNDYuNDI5Njg4IDM0LjczODI4MSA0NS42MDE1NjIgQyAzNS4yNTM5MDYgNDUuMTc5Njg4IDM1LjU3MDMxMiA0NC41NTQ2ODggMzUuNjA1NDY5IDQzLjg4NjcxOSBDIDM1LjYzNjcxOSA0My4yMTg3NSAzNS4zOTA2MjUgNDIuNTY2NDA2IDM0LjkxNDA2MiA0Mi4wOTM3NSBaIE0gMzQuMTI4OTA2IDQxLjMwNDY4OCAiLz4KPHBhdGggc3R5bGU9IiBzdHJva2U6bm9uZTtmaWxsLXJ1bGU6bm9uemVybztmaWxsOnJnYigwJSwwJSwwJSk7ZmlsbC1vcGFjaXR5OjE7IiBkPSJNIDE2LjgxMjUgOS4yODUxNTYgQyAxOS4zNzEwOTQgOS4yODUxNTYgMjEuNDUzMTI1IDcuMjAzMTI1IDIxLjQ1MzEyNSA0LjY0NDUzMSBDIDIxLjQ1MzEyNSAyLjA4MjAzMSAxOS4zNzEwOTQgMCAxNi44MTI1IDAgQyAxNC4yNSAwIDEyLjE2Nzk2OSAyLjA4MjAzMSAxMi4xNjc5NjkgNC42NDQ1MzEgQyAxMi4xNjc5NjkgNy4yMDMxMjUgMTQuMjUgOS4yODUxNTYgMTYuODEyNSA5LjI4NTE1NiBaIE0gMTYuODEyNSA5LjI4NTE1NiAiLz4KPHBhdGggc3R5bGU9IiBzdHJva2U6bm9uZTtmaWxsLXJ1bGU6bm9uemVybztmaWxsOnJnYigwJSwwJSwwJSk7ZmlsbC1vcGFjaXR5OjE7IiBkPSJNIDQ2LjIzNDM3NSA0Ni41NzAzMTIgTCA0My4zMTY0MDYgMzAuNjA5Mzc1IEMgNDMuMTQwNjI1IDI5LjYyNSA0Mi41NTg1OTQgMjguNzQyMTg4IDQxLjczNDM3NSAyOC4xNzk2ODggQyA0MS4xMTMyODEgMjcuNzU3ODEyIDQwLjM4MjgxMiAyNy41MzEyNSAzOS42Mjg5MDYgMjcuNTMxMjUgQyAzOS4zODI4MTIgMjcuNTMxMjUgMzkuMTMyODEyIDI3LjU1NDY4OCAzOC44OTQ1MzEgMjcuNjAxNTYyIEwgMjUuNTg1OTM4IDMwLjI2MTcxOSBDIDI1LjUzOTA2MiAzMC4yNzM0MzggMjUuNDkyMTg4IDMwLjI3NzM0NCAyNS40NDUzMTIgMzAuMjc3MzQ0IEMgMjUuMTEzMjgxIDMwLjI3NzM0NCAyNC44MjQyMTkgMzAuMDM5MDYyIDI0Ljc1NzgxMiAyOS43MTA5MzggTCAyMy42NjAxNTYgMjQuMzA4NTk0IEwgMzIuODk4NDM4IDIyLjczNDM3NSBDIDM0LjM0NzY1NiAyMi40ODQzNzUgMzUuMzI4MTI1IDIxLjEwNTQ2OSAzNS4wNzgxMjUgMTkuNjU2MjUgQyAzNC44NTkzNzUgMTguMzcxMDk0IDMzLjc1MzkwNiAxNy40Mzc1IDMyLjQ0NTMxMiAxNy40Mzc1IEMgMzIuMjk2ODc1IDE3LjQzNzUgMzIuMTQ4NDM4IDE3LjQ0OTIxOSAzMiAxNy40NzI2NTYgTCAyMi41OTc2NTYgMTkuMDc4MTI1IEwgMjEuMzkwNjI1IDEzLjEyODkwNiBDIDIxLjEzNjcxOSAxMS43NDYwOTQgMTkuOTM3NSAxMC43NDYwOTQgMTguNTM1MTU2IDEwLjc0NjA5NCBDIDE4LjM1OTM3NSAxMC43NDYwOTQgMTguMTc5Njg4IDEwLjc2MTcxOSAxOC4wMDc4MTIgMTAuNzkyOTY5IEMgMTcuMjQyMTg4IDEwLjkyOTY4OCAxNi41NzgxMjUgMTEuMzU5Mzc1IDE2LjE0MDYyNSAxMiBDIDE1LjY5NTMxMiAxMi42NDA2MjUgMTUuNTMxMjUgMTMuNDEwMTU2IDE1LjY3MTg3NSAxNC4xNzk2ODggTCAxOS41MTk1MzEgMzMuNTc0MjE5IEMgMTkuNzE0ODQ0IDM0LjU1ODU5NCAyMC4yODEyNSAzNS40MDYyNSAyMS4xMTMyODEgMzUuOTYwOTM4IEMgMjEuNzM0Mzc1IDM2LjM3NSAyMi40NTMxMjUgMzYuNTkzNzUgMjMuMTk5MjE5IDM2LjU5Mzc1IEMgMjMuNDQ1MzEyIDM2LjU5Mzc1IDIzLjY5MTQwNiAzNi41NzAzMTIgMjMuOTMzNTk0IDM2LjUxOTUzMSBMIDM3LjI2OTUzMSAzMy44NTkzNzUgQyAzNy40NTcwMzEgMzMuODIwMzEyIDM3LjY1MjM0NCAzMy44NTkzNzUgMzcuODA4NTk0IDMzLjk2NDg0NCBDIDM3Ljk2MDkzOCAzNC4wNzAzMTIgMzguMDcwMzEyIDM0LjIzODI4MSAzOC4xMDU0NjkgMzQuNDIxODc1IEwgNDAuNTE1NjI1IDQ3LjYxNzE4OCBDIDQwLjc2NTYyNSA0OSA0MS45Njg3NSA1MC4wMDM5MDYgNDMuMzcxMDk0IDUwLjAwMzkwNiBDIDQzLjU0Njg3NSA1MC4wMDM5MDYgNDMuNzE4NzUgNDkuOTg0Mzc1IDQzLjg5NDUzMSA0OS45NTMxMjUgQyA0NC42NjAxNTYgNDkuODE2NDA2IDQ1LjMyMDMxMiA0OS4zODY3MTkgNDUuNzYxNzE5IDQ4Ljc0NjA5NCBDIDQ2LjIwNzAzMSA0OC4xMDkzNzUgNDYuMzcxMDk0IDQ3LjMzNTkzOCA0Ni4yMzQzNzUgNDYuNTcwMzEyIFogTSA0Ni4yMzQzNzUgNDYuNTcwMzEyICIvPgo8L2c+Cjwvc3ZnPgo=',
491
509
  bounds: [
492
510
  // [
@@ -536,13 +554,16 @@ const SeatingPlan = _ref => {
536
554
  click: e => handleClick(e, s)
537
555
  }
538
556
  // value={s}
539
- }, s.s === 1 && /*#__PURE__*/_react.default.createElement(_reactLeaflet.Popup, null, /*#__PURE__*/_react.default.createElement("p", {
557
+ }, /*#__PURE__*/_react.default.createElement(_reactLeaflet.Tooltip, {
558
+ direction: 'top',
559
+ offset: [0, height * 0.03 + -30]
560
+ }, s.r + '-' + s.c, ' '), s.s === 1 && /*#__PURE__*/_react.default.createElement(_reactLeaflet.Popup, null, /*#__PURE__*/_react.default.createElement("p", {
540
561
  style: {
541
562
  marginTop: '0.2rem',
542
563
  marginBottom: '0.2rem',
543
564
  fontWeight: 'bold'
544
565
  }
545
- }, "Select option:"), seats.pricing.filter(price => price.psId === priceSectionId).map(price => /*#__PURE__*/_react.default.createElement("div", {
566
+ }, "Select option:"), seats.pricing.filter(price => (!priceSectionIds || priceSectionIds.includes(price.psId)) && price.psId === s.psId).map(price => /*#__PURE__*/_react.default.createElement("div", {
546
567
  key: price.paId,
547
568
  style: {
548
569
  minWidth: '10rem',
@@ -555,7 +576,7 @@ const SeatingPlan = _ref => {
555
576
  className: "priceage",
556
577
  onClick: () => {
557
578
  s.loading = true;
558
- addTicketToCart(s, price.paId);
579
+ addTicketToCart(s, price);
559
580
  }
560
581
  }, /*#__PURE__*/_react.default.createElement("p", {
561
582
  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.3.0",
6
6
  "private": false,
7
7
  "keywords": [
8
8
  "iticket",