iticket-seatingplan-dev 1.1.8 → 1.2.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.
@@ -29,7 +29,8 @@ const SeatingPlan = _ref => {
29
29
  callbackFunction,
30
30
  apiKey,
31
31
  baseUrl,
32
- countryCode
32
+ countryCode,
33
+ connectedShowings
33
34
  } = _ref;
34
35
  const [initialiseMessage, setInitialiseMessage] = (0, _react.useState)('Initialising seating plan...');
35
36
  const [isReloading, setIsReloading] = (0, _react.useState)(false);
@@ -56,7 +57,7 @@ const SeatingPlan = _ref => {
56
57
  return {
57
58
  fillColor: s.s === 1 ? statusColors.available : s.s === 4 ? s.bookedPrice === price ? statusColors.booked : statusColors.bookedWithDifferentPrice : statusColors.sold,
58
59
  color: 'none',
59
- fillOpacity: 100
60
+ fillOpacity: s.loading ? 0 : 1
60
61
  };
61
62
  };
62
63
  const addTicketToCart = (s, priceAgeId, cs) => {
@@ -66,7 +67,8 @@ const SeatingPlan = _ref => {
66
67
  method: 'POST',
67
68
  body: JSON.stringify({
68
69
  priceAgeId: priceAgeId,
69
- seatId: s.ssId
70
+ seatId: s.ssId,
71
+ connectedShowings: connectedShowings
70
72
  }),
71
73
  headers: {
72
74
  'content-type': 'application/json',
@@ -74,7 +76,7 @@ const SeatingPlan = _ref => {
74
76
  }
75
77
  }).then(response => {
76
78
  if ((response === null || response === void 0 ? void 0 : response.status) === 403) {
77
- ;
79
+ s.loading = false;
78
80
  (cs || chosenSeat).circle.target.setStyle({
79
81
  fillColor: statusColors.sold
80
82
  })(cs || chosenSeat).seat.s = 2;
@@ -90,7 +92,7 @@ const SeatingPlan = _ref => {
90
92
  callbackFunction(event);
91
93
  setProcessing(false);
92
94
  } else if ((response === null || response === void 0 ? void 0 : response.status) === 429) {
93
- ;
95
+ s.loading = false;
94
96
  (cs || chosenSeat).circle.target.setStyle({
95
97
  fillColor: statusColors.available
96
98
  });
@@ -109,6 +111,7 @@ const SeatingPlan = _ref => {
109
111
  // console.log(chosenSeat.seat.ssId, cs?.seat.ssId)
110
112
  s.s = 4;
111
113
  s.bookedPrice = price;
114
+ s.loading = false;
112
115
  (cs || chosenSeat).circle.target.setStyle({
113
116
  fillColor: statusColors.booked
114
117
  });
@@ -123,7 +126,7 @@ const SeatingPlan = _ref => {
123
126
  }]);
124
127
  }
125
128
  }).catch(error => {
126
- ;
129
+ s.loading = false;
127
130
  (cs || chosenSeat).circle.target.setStyle({
128
131
  fillColor: statusColors.available
129
132
  });
@@ -153,6 +156,7 @@ const SeatingPlan = _ref => {
153
156
  'basket-key': sessionId
154
157
  }
155
158
  }).then(response => {
159
+ s.loading = false;
156
160
  s.s = 1;
157
161
  s.bookedPrice = null;
158
162
  e.target.setStyle({
@@ -178,7 +182,7 @@ const SeatingPlan = _ref => {
178
182
  });
179
183
  };
180
184
  const handleClick = (e, s) => {
181
- if (s.s !== 1 && s.s !== 4 || processing || bookedSeats.length >= quantity && s.s === 1) {
185
+ if (s.s !== 1 && s.s !== 4 || bookedSeats.length >= quantity && s.s === 1) {
182
186
  if (bookedSeats.length >= quantity) {
183
187
  const event = {
184
188
  type: 'error',
@@ -196,11 +200,15 @@ const SeatingPlan = _ref => {
196
200
  });
197
201
  if (s.s === 1) {
198
202
  const availablePrices = seats.pricing.filter(price => price.psId === priceSectionId);
199
- availablePrices.length === 1 && addTicketToCart(s, availablePrices[0].paId, {
200
- circle: e,
201
- seat: s
202
- });
203
+ if (availablePrices.length === 1) {
204
+ s.loading = true;
205
+ addTicketToCart(s, availablePrices[0].paId, {
206
+ circle: e,
207
+ seat: s
208
+ });
209
+ }
203
210
  } else {
211
+ s.loading = true;
204
212
  removeTicketFromCart(s, e);
205
213
  }
206
214
  };
@@ -273,9 +281,10 @@ const SeatingPlan = _ref => {
273
281
  }, [bookedSeats]);
274
282
  (0, _react.useEffect)(() => {
275
283
  if (processing) {
276
- chosenSeat === null || chosenSeat === void 0 ? void 0 : chosenSeat.circle.target.setStyle({
284
+ const availablePrices = seats.pricing.filter(price => price.psId === priceSectionId);
285
+ availablePrices.length === 1 && (chosenSeat === null || chosenSeat === void 0 ? void 0 : chosenSeat.circle.target.setStyle({
277
286
  fillOpacity: 0
278
- });
287
+ }));
279
288
  }
280
289
  }, [chosenSeat, processing]);
281
290
 
@@ -288,7 +297,7 @@ const SeatingPlan = _ref => {
288
297
  }
289
298
  }, error ? /*#__PURE__*/_react.default.createElement("div", {
290
299
  className: "loading"
291
- }, /*#__PURE__*/_react.default.createElement("h1", null, "OOPS!"), /*#__PURE__*/_react.default.createElement("div", null, error.response.data.message)) : position && area === areaId ? /*#__PURE__*/_react.default.createElement(_reactLeaflet.MapContainer, {
300
+ }, /*#__PURE__*/_react.default.createElement("h1", null, "OOPS!"), /*#__PURE__*/_react.default.createElement("div", null, error.response.data.message)) : position && area === areaId ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, height, "xxx", width / height * 0.01, /*#__PURE__*/_react.default.createElement(_reactLeaflet.MapContainer, {
292
301
  whenReady: setMap,
293
302
  center: [height * 0.015, width * 0.015],
294
303
  zoom: 6,
@@ -393,7 +402,7 @@ const SeatingPlan = _ref => {
393
402
  className: "leaflet-control-zoom-in",
394
403
  style: {
395
404
  border: 'none',
396
- borderRadius: '0 0 6px 6px',
405
+ borderRadius: '0 0',
397
406
  borderTop: '1px solid gray',
398
407
  background: '#fff',
399
408
  padding: '8px 6px',
@@ -414,14 +423,14 @@ const SeatingPlan = _ref => {
414
423
  key: i
415
424
  }, /*#__PURE__*/_react.default.createElement(_reactLeaflet.ImageOverlay, {
416
425
  url: "https://iticketseatingplan.blob.core.windows.net/embed/static/media/rippleload.08e6a08dd832819226ef.gif",
417
- bounds: [[height * 0.05 - s.y / 3.35 - height / 48 - 0.11, s.x * 0.3 + 0.15 - 0.11], [height * 0.05 - s.y / 3.35 - height / 48 + 0.11, s.x * 0.3 + 0.15 + 0.11]
426
+ bounds: [[height * 0.05 - s.y / (height > 800 ? height > 999 ? 3.5 : 3.3 : 3.35) - (height > 800 ? height > 999 ? height * 0.0201 : height * 0.0198 : height * 0.0206) - 0.11, s.x * 0.3 + 0.15 - 0.11], [height * 0.05 - s.y / (height > 800 ? height > 999 ? 3.5 : 3.3 : 3.35) - (height > 800 ? height > 999 ? height * 0.0201 : height * 0.0198 : height * 0.0206) + 0.11, s.x * 0.3 + 0.15 + 0.11]
418
427
  // [height * 0.0302 - s.y * 0.602 - 0.3, s.x * 0.61 - 0.3],
419
428
  // [height * 0.0302 - s.y * 0.602 + 0.3, s.x * 0.61 + 0.3],
420
429
  // [height * 0.0302 - s.y * 0.602 - 0.17, s.x * 0.61 - 0.17],
421
430
  // [height * 0.0302 - s.y * 0.602 + 0.17, s.x * 0.61 + 0.17],
422
431
  ],
423
432
 
424
- opacity: chosenSeat && chosenSeat.seat.ssId === s.ssId && processing ? 100 : 0,
433
+ opacity: s.loading ? 100 : 0,
425
434
  zIndex: 10
426
435
  }), !priceSectionId || s.psId === priceSectionId ? s.s === 6 ? /*#__PURE__*/_react.default.createElement(_reactLeaflet.ImageOverlay, {
427
436
  url: 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iNTBweCIgaGVpZ2h0PSI1MHB4IiB2aWV3Qm94PSIwIDAgNTAgNTAiIHZlcnNpb249IjEuMSI+CjxnIGlkPSJzdXJmYWNlMSI+CjxwYXRoIHN0eWxlPSIgc3Ryb2tlOm5vbmU7ZmlsbC1ydWxlOm5vbnplcm87ZmlsbDpyZ2IoMCUsMCUsMCUpO2ZpbGwtb3BhY2l0eToxOyIgZD0iTSAzNC4xMjg5MDYgNDEuMzA0Njg4IEMgMzMuMjY5NTMxIDQwLjQ0OTIxOSAzMS45MDYyNSA0MC4zNzUgMzAuOTY0ODQ0IDQxLjE0MDYyNSBDIDI4LjY0ODQzOCA0My4wMTk1MzEgMjUuNzczNDM4IDQ0LjA2NjQwNiAyMi43MzgyODEgNDQuMDY2NDA2IEMgMTUuNDU3MDMxIDQ0LjA2NjQwNiA5LjUzMTI1IDM4LjE0MDYyNSA5LjUzMTI1IDMwLjg1NTQ2OSBDIDkuNTMxMjUgMjcuNjI4OTA2IDEwLjcxODc1IDI0LjU2NjQwNiAxMi44MzU5MzggMjIuMTcxODc1IEMgMTMuNSAyMS40MTc5NjkgMTMuNDg0Mzc1IDIwLjI4MTI1IDEyLjc4OTA2MiAxOS41NTA3ODEgQyAxMi4zMzk4NDQgMTkuMDc0MjE5IDExLjg5NDUzMSAxOC41OTc2NTYgMTEuNDQ1MzEyIDE4LjEyMTA5NCBDIDExLjA4MjAzMSAxNy43MzgyODEgMTAuNTc4MTI1IDE3LjUyMzQzOCAxMC4wNTA3ODEgMTcuNTIzNDM4IEMgOS41MjM0MzggMTcuNTI3MzQ0IDkuMDIzNDM4IDE3Ljc1IDguNjY3OTY5IDE4LjEzNjcxOSBDIDcuNTY2NDA2IDE5LjMyODEyNSA2LjYxNzE4OCAyMC42NTIzNDQgNS44NjcxODggMjIuMDg1OTM4IEMgNC40NjA5MzggMjQuNzczNDM4IDMuNzE4NzUgMjcuODA4NTk0IDMuNzE4NzUgMzAuODU1NDY5IEMgMy43MTg3NSA0MS4zNDM3NSAxMi4yNTM5MDYgNDkuODc4OTA2IDIyLjc0MjE4OCA0OS44Nzg5MDYgQyAyNS43Njk1MzEgNDkuODc4OTA2IDI4Ljc4NTE1NiA0OS4xNDQ1MzEgMzEuNDY0ODQ0IDQ3Ljc1NzgxMiBDIDMyLjYyNSA0Ny4xNTYyNSAzMy43MjI2NTYgNDYuNDI5Njg4IDM0LjczODI4MSA0NS42MDE1NjIgQyAzNS4yNTM5MDYgNDUuMTc5Njg4IDM1LjU3MDMxMiA0NC41NTQ2ODggMzUuNjA1NDY5IDQzLjg4NjcxOSBDIDM1LjYzNjcxOSA0My4yMTg3NSAzNS4zOTA2MjUgNDIuNTY2NDA2IDM0LjkxNDA2MiA0Mi4wOTM3NSBaIE0gMzQuMTI4OTA2IDQxLjMwNDY4OCAiLz4KPHBhdGggc3R5bGU9IiBzdHJva2U6bm9uZTtmaWxsLXJ1bGU6bm9uemVybztmaWxsOnJnYigwJSwwJSwwJSk7ZmlsbC1vcGFjaXR5OjE7IiBkPSJNIDE2LjgxMjUgOS4yODUxNTYgQyAxOS4zNzEwOTQgOS4yODUxNTYgMjEuNDUzMTI1IDcuMjAzMTI1IDIxLjQ1MzEyNSA0LjY0NDUzMSBDIDIxLjQ1MzEyNSAyLjA4MjAzMSAxOS4zNzEwOTQgMCAxNi44MTI1IDAgQyAxNC4yNSAwIDEyLjE2Nzk2OSAyLjA4MjAzMSAxMi4xNjc5NjkgNC42NDQ1MzEgQyAxMi4xNjc5NjkgNy4yMDMxMjUgMTQuMjUgOS4yODUxNTYgMTYuODEyNSA5LjI4NTE1NiBaIE0gMTYuODEyNSA5LjI4NTE1NiAiLz4KPHBhdGggc3R5bGU9IiBzdHJva2U6bm9uZTtmaWxsLXJ1bGU6bm9uemVybztmaWxsOnJnYigwJSwwJSwwJSk7ZmlsbC1vcGFjaXR5OjE7IiBkPSJNIDQ2LjIzNDM3NSA0Ni41NzAzMTIgTCA0My4zMTY0MDYgMzAuNjA5Mzc1IEMgNDMuMTQwNjI1IDI5LjYyNSA0Mi41NTg1OTQgMjguNzQyMTg4IDQxLjczNDM3NSAyOC4xNzk2ODggQyA0MS4xMTMyODEgMjcuNzU3ODEyIDQwLjM4MjgxMiAyNy41MzEyNSAzOS42Mjg5MDYgMjcuNTMxMjUgQyAzOS4zODI4MTIgMjcuNTMxMjUgMzkuMTMyODEyIDI3LjU1NDY4OCAzOC44OTQ1MzEgMjcuNjAxNTYyIEwgMjUuNTg1OTM4IDMwLjI2MTcxOSBDIDI1LjUzOTA2MiAzMC4yNzM0MzggMjUuNDkyMTg4IDMwLjI3NzM0NCAyNS40NDUzMTIgMzAuMjc3MzQ0IEMgMjUuMTEzMjgxIDMwLjI3NzM0NCAyNC44MjQyMTkgMzAuMDM5MDYyIDI0Ljc1NzgxMiAyOS43MTA5MzggTCAyMy42NjAxNTYgMjQuMzA4NTk0IEwgMzIuODk4NDM4IDIyLjczNDM3NSBDIDM0LjM0NzY1NiAyMi40ODQzNzUgMzUuMzI4MTI1IDIxLjEwNTQ2OSAzNS4wNzgxMjUgMTkuNjU2MjUgQyAzNC44NTkzNzUgMTguMzcxMDk0IDMzLjc1MzkwNiAxNy40Mzc1IDMyLjQ0NTMxMiAxNy40Mzc1IEMgMzIuMjk2ODc1IDE3LjQzNzUgMzIuMTQ4NDM4IDE3LjQ0OTIxOSAzMiAxNy40NzI2NTYgTCAyMi41OTc2NTYgMTkuMDc4MTI1IEwgMjEuMzkwNjI1IDEzLjEyODkwNiBDIDIxLjEzNjcxOSAxMS43NDYwOTQgMTkuOTM3NSAxMC43NDYwOTQgMTguNTM1MTU2IDEwLjc0NjA5NCBDIDE4LjM1OTM3NSAxMC43NDYwOTQgMTguMTc5Njg4IDEwLjc2MTcxOSAxOC4wMDc4MTIgMTAuNzkyOTY5IEMgMTcuMjQyMTg4IDEwLjkyOTY4OCAxNi41NzgxMjUgMTEuMzU5Mzc1IDE2LjE0MDYyNSAxMiBDIDE1LjY5NTMxMiAxMi42NDA2MjUgMTUuNTMxMjUgMTMuNDEwMTU2IDE1LjY3MTg3NSAxNC4xNzk2ODggTCAxOS41MTk1MzEgMzMuNTc0MjE5IEMgMTkuNzE0ODQ0IDM0LjU1ODU5NCAyMC4yODEyNSAzNS40MDYyNSAyMS4xMTMyODEgMzUuOTYwOTM4IEMgMjEuNzM0Mzc1IDM2LjM3NSAyMi40NTMxMjUgMzYuNTkzNzUgMjMuMTk5MjE5IDM2LjU5Mzc1IEMgMjMuNDQ1MzEyIDM2LjU5Mzc1IDIzLjY5MTQwNiAzNi41NzAzMTIgMjMuOTMzNTk0IDM2LjUxOTUzMSBMIDM3LjI2OTUzMSAzMy44NTkzNzUgQyAzNy40NTcwMzEgMzMuODIwMzEyIDM3LjY1MjM0NCAzMy44NTkzNzUgMzcuODA4NTk0IDMzLjk2NDg0NCBDIDM3Ljk2MDkzOCAzNC4wNzAzMTIgMzguMDcwMzEyIDM0LjIzODI4MSAzOC4xMDU0NjkgMzQuNDIxODc1IEwgNDAuNTE1NjI1IDQ3LjYxNzE4OCBDIDQwLjc2NTYyNSA0OSA0MS45Njg3NSA1MC4wMDM5MDYgNDMuMzcxMDk0IDUwLjAwMzkwNiBDIDQzLjU0Njg3NSA1MC4wMDM5MDYgNDMuNzE4NzUgNDkuOTg0Mzc1IDQzLjg5NDUzMSA0OS45NTMxMjUgQyA0NC42NjAxNTYgNDkuODE2NDA2IDQ1LjMyMDMxMiA0OS4zODY3MTkgNDUuNzYxNzE5IDQ4Ljc0NjA5NCBDIDQ2LjIwNzAzMSA0OC4xMDkzNzUgNDYuMzcxMDk0IDQ3LjMzNTkzOCA0Ni4yMzQzNzUgNDYuNTcwMzEyIFogTSA0Ni4yMzQzNzUgNDYuNTcwMzEyICIvPgo8L2c+Cjwvc3ZnPgo=',
@@ -434,7 +443,7 @@ const SeatingPlan = _ref => {
434
443
  // height * 0.0302 - s.y * 0.602 + 0.17,
435
444
  // s.x * 0.61 + 0.17,
436
445
  // ],
437
- [height * 0.05 - s.y / 3.35 - height / 48 - 0.11, s.x * 0.3 + 0.15 - 0.11], [height * 0.05 - s.y / 3.35 - height / 48 + 0.11, s.x * 0.3 + 0.15 + 0.11]],
446
+ [height * 0.05 - s.y / (height > 800 ? height > 999 ? 3.5 : 3.3 : 3.35) - (height > 800 ? height > 999 ? height * 0.0201 : height * 0.0198 : height * 0.0206) - 0.11, s.x * 0.3 + 0.15 - 0.11], [height * 0.05 - s.y / (height > 800 ? height > 999 ? 3.5 : 3.3 : 3.35) - (height > 800 ? height > 999 ? height * 0.0201 : height * 0.0198 : height * 0.0206) + 0.11, s.x * 0.3 + 0.15 + 0.11]],
438
447
  zIndex: 10
439
448
  }) : /*#__PURE__*/_react.default.createElement(_reactLeaflet.Circle, {
440
449
  center: [
@@ -443,7 +452,12 @@ const SeatingPlan = _ref => {
443
452
  // height * (height > 700 ? 0.0001 : 0.0006),
444
453
  // s.x * 0.6 + 0.25,
445
454
 
446
- height * 0.05 - s.y / 3.35 - height / 48, s.x * 0.3 + 0.15
455
+ height * 0.05 - s.y / (height > 800 ? height > 999 ? 3.5 : 3.3 : 3.35) - (height > 800 ? height > 999 ? height * 0.0201 : height * 0.0198 : height * 0.0206), s.x * 0.3 + 0.15
456
+
457
+ // height * 0.04 -
458
+ // s.y / (height > 800 ? 3.5 : 3.35) -
459
+ // (height > 800 ? height * 0.0101 : height * 0.0206),
460
+ // s.x * 0.3 + 0.15,
447
461
 
448
462
  // -s.y * (height * 0.00037) + 24.2,
449
463
  // s.x * 0.3 + 0.15,
@@ -455,7 +469,7 @@ const SeatingPlan = _ref => {
455
469
  click: e => handleClick(e, s)
456
470
  }
457
471
  // value={s}
458
- }, s.s === 1 && !processing && /*#__PURE__*/_react.default.createElement(_reactLeaflet.Popup, null, /*#__PURE__*/_react.default.createElement("p", {
472
+ }, s.s === 1 && /*#__PURE__*/_react.default.createElement(_reactLeaflet.Popup, null, /*#__PURE__*/_react.default.createElement("p", {
459
473
  style: {
460
474
  marginTop: '0.2rem',
461
475
  marginBottom: '0.2rem',
@@ -472,7 +486,10 @@ const SeatingPlan = _ref => {
472
486
  cursor: 'pointer'
473
487
  },
474
488
  className: "priceage",
475
- onClick: () => addTicketToCart(s, price.paId)
489
+ onClick: () => {
490
+ s.loading = true;
491
+ addTicketToCart(s, price.paId);
492
+ }
476
493
  }, /*#__PURE__*/_react.default.createElement("p", {
477
494
  style: {
478
495
  margin: '0px'
@@ -481,7 +498,7 @@ const SeatingPlan = _ref => {
481
498
  style: {
482
499
  float: 'right'
483
500
  }
484
- }, NZDollar.format(price.p))))))) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null)))) : /*#__PURE__*/_react.default.createElement("div", {
501
+ }, NZDollar.format(price.p))))))) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null))))) : /*#__PURE__*/_react.default.createElement("div", {
485
502
  className: "loading"
486
503
  }, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("svg", {
487
504
  width: "105",
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.1.8",
5
+ "version": "1.2.0",
6
6
  "private": false,
7
7
  "keywords": [
8
8
  "iticket",