iticket-seatingplan-dev 1.0.16 → 1.0.18

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.
@@ -10,19 +10,24 @@ var _reactLeaflet = require("react-leaflet");
10
10
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
11
11
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
12
12
  const wheelchairSeat = require('.//assets/wheelchair.png');
13
+ let NZDollar = new Intl.NumberFormat('en-NZ', {
14
+ style: 'currency',
15
+ currency: 'NZD'
16
+ });
13
17
  const SeatingPlan = _ref => {
14
18
  let {
15
19
  eventId,
16
- showingUid,
20
+ eventVenueId,
17
21
  sessionId,
18
22
  showingId,
19
- priceAgeId,
23
+ areaId,
20
24
  priceSectionId,
21
25
  price,
22
26
  quantity,
23
27
  callbackFunction,
24
28
  apiKey,
25
- baseUrl
29
+ baseUrl,
30
+ countryCode
26
31
  } = _ref;
27
32
  const [position, setPosition] = (0, _react.useState)(null);
28
33
  const [height, setHeight] = (0, _react.useState)(0);
@@ -43,13 +48,94 @@ const SeatingPlan = _ref => {
43
48
  };
44
49
  const setInitialColor = s => {
45
50
  return {
46
- fillColor: s.status === 1 ? statusColors.available : s.status === 4 ? s.bookedPrice === price ? statusColors.booked : statusColors.bookedWithDifferentPrice : statusColors.sold,
51
+ fillColor: s.s === 1 ? statusColors.available : s.s === 4 ? s.bookedPrice === price ? statusColors.booked : statusColors.bookedWithDifferentPrice : statusColors.sold,
47
52
  color: 'none',
48
53
  fillOpacity: 100
49
54
  };
50
55
  };
56
+ const addTicketToCart = (s, priceAgeId) => {
57
+ setProcessing(true);
58
+ fetch("".concat(baseUrl, "/legacy/").concat(countryCode, "/shop/events/").concat(eventId, "/").concat(eventVenueId, "/showings/").concat(showingId, "/tickets/allocated/").concat(areaId), {
59
+ method: 'POST',
60
+ body: JSON.stringify({
61
+ priceAgeId: priceAgeId,
62
+ seatId: s.ssId
63
+ }),
64
+ headers: {
65
+ 'content-type': 'application/json',
66
+ 'basket-key': sessionId
67
+ }
68
+ }).then(response => response.json()).then(response => {
69
+ s.s = 4;
70
+ s.bookedPrice = price;
71
+ chosenSeat.circle.target.setStyle({
72
+ fillColor: statusColors.booked
73
+ });
74
+ setProcessing(false);
75
+ setBookedSeats([...bookedSeats, {
76
+ ssId: s.ssId,
77
+ r: s.r,
78
+ c: s.c,
79
+ showingId: showingId,
80
+ p: price || s.defaultPrice,
81
+ paName: s.priceAgeName
82
+ }]);
83
+ }).catch(error => {
84
+ chosenSeat.circle.target.setStyle({
85
+ fillColor: statusColors.available
86
+ });
87
+ const event = {
88
+ type: 'error',
89
+ details: s.pMin && s.pMax && (price < s.pMin || price > s.pMax) ? {
90
+ error: {
91
+ code: 403,
92
+ message: 'Price specified not allowed.'
93
+ }
94
+ } : {
95
+ error: {
96
+ code: 500,
97
+ message: 'Oops! Something went wrong. Please try again.'
98
+ }
99
+ }
100
+ };
101
+ callbackFunction(event);
102
+ setProcessing(false);
103
+ });
104
+ };
105
+ const removeTicketFromCart = (s, e) => {
106
+ setProcessing(true);
107
+ fetch("".concat(baseUrl, "/legacy/").concat(countryCode, "/shop/events/").concat(eventId, "/").concat(eventVenueId, "/showings/").concat(showingId, "/tickets/allocated/").concat(areaId, "/seat/").concat(s.ssId), {
108
+ method: 'DELETE',
109
+ headers: {
110
+ 'basket-key': sessionId
111
+ }
112
+ }).then(response => response.json()).then(response => {
113
+ s.s = 1;
114
+ s.bookedPrice = null;
115
+ e.target.setStyle({
116
+ fillColor: statusColors.available
117
+ });
118
+ setBookedSeats(bookedSeats.filter(bs => bs.ssId !== s.ssId));
119
+ setProcessing(false);
120
+ }).catch(error => {
121
+ e.target.setStyle({
122
+ fillColor: statusColors.booked
123
+ });
124
+ const event = {
125
+ type: 'error',
126
+ details: {
127
+ error: {
128
+ code: 500,
129
+ message: 'Oops! Something went wrong. Please try again.'
130
+ }
131
+ }
132
+ };
133
+ callbackFunction(event);
134
+ setProcessing(false);
135
+ });
136
+ };
51
137
  const handleClick = (e, s) => {
52
- if (s.status !== 1 && s.status !== 4 || processing || bookedSeats.length >= quantity && s.status === 1) {
138
+ if (s.s !== 1 && s.s !== 4 || processing || bookedSeats.length >= quantity && s.s === 1) {
53
139
  if (bookedSeats.length >= quantity) {
54
140
  const event = {
55
141
  type: 'error',
@@ -65,127 +151,28 @@ const SeatingPlan = _ref => {
65
151
  circle: e,
66
152
  seat: s
67
153
  });
68
- setProcessing(true);
69
- if (s.status === 1) {
70
- fetch("https://iticket-shop-dev.azurewebsites.net/seatingplan/addseat", {
71
- method: 'POST',
72
- body: JSON.stringify({
73
- basketKey: '',
74
- eventId: eventId,
75
- showingId: showingId,
76
- priceAgeId: priceAgeId,
77
- seatId: s.showingSeatId,
78
- status: s.status,
79
- price: price
80
- }),
81
- headers: {
82
- 'content-type': 'application/json',
83
- 'session-id': "ASP.NET_SessionId=".concat(sessionId),
84
- 'showingseat-id': s.showingSeatId
85
- }
86
- }).then(response => response.json()).then(response => {
87
- s.status = 4;
88
- s.bookedPrice = price;
89
- e.target.setStyle({
90
- fillColor: statusColors.booked
91
- });
92
- setProcessing(false);
93
- setBookedSeats([...bookedSeats, {
94
- showingSeatId: s.showingSeatId,
95
- rowName: s.rowName,
96
- columnName: s.columnName,
97
- showingId: showingId,
98
- price: price || s.defaultPrice,
99
- priceAgeName: s.priceAgeName
100
- }]);
101
- }).catch(error => {
102
- e.target.setStyle({
103
- fillColor: statusColors.available
104
- });
105
- const event = {
106
- type: 'error',
107
- details: s.priceMinimum && s.priceMaximum && (price < s.priceMinimum || price > s.priceMaximum) ? {
108
- error: {
109
- code: 403,
110
- message: 'Price specified not allowed.'
111
- }
112
- } : {
113
- error: {
114
- code: 500,
115
- message: 'Oops! Something went wrong. Please try again.'
116
- }
117
- }
118
- };
119
- callbackFunction(event);
120
- setProcessing(false);
121
- });
154
+ if (s.s === 1) {
155
+ const availablePrices = seats.pricing.filter(price => price.psId === priceSectionId);
156
+ availablePrices.length === 1 && addTicketToCart(s, availablePrices[0].paId);
122
157
  } else {
123
- if (s.bookedPrice === price) {
124
- fetch("https://iticket-shop-dev.azurewebsites.net/seatingplan/removeseat", {
125
- method: 'POST',
126
- body: JSON.stringify({
127
- basketKey: '',
128
- seatId: s.showingSeatId
129
- }),
130
- headers: {
131
- 'content-type': 'application/json',
132
- 'session-id': "ASP.NET_SessionId=".concat(sessionId),
133
- 'showingseat-id': s.showingSeatId
134
- }
135
- }).then(response => response.json()).then(response => {
136
- s.status = 1;
137
- s.bookedPrice = null;
138
- e.target.setStyle({
139
- fillColor: statusColors.available
140
- });
141
- setBookedSeats(bookedSeats.filter(bs => bs.showingSeatId !== s.showingSeatId));
142
- setProcessing(false);
143
- }).catch(error => {
144
- e.target.setStyle({
145
- fillColor: statusColors.booked
146
- });
147
- const event = {
148
- type: 'error',
149
- details: {
150
- error: {
151
- code: 500,
152
- message: 'Oops! Something went wrong. Please try again.'
153
- }
154
- }
155
- };
156
- callbackFunction(event);
157
- setProcessing(false);
158
- });
159
- } else {
160
- const event = {
161
- type: 'error',
162
- details: {
163
- error: {
164
- code: 403,
165
- message: "Unable to remove seat. Price specified does not match the selected seat price, please select $".concat(s.bookedPrice, " to be able to remove this seat.")
166
- }
167
- }
168
- };
169
- callbackFunction(event);
170
- setProcessing(false);
171
- }
158
+ removeTicketFromCart(s, e);
172
159
  }
173
160
  };
174
161
  // https://ecommerce-main-f0c3c0b.d2.zuplo.dev
175
162
  (0, _react.useEffect)(() => {
176
163
  if (!position && !error) {
177
- fetch("".concat(baseUrl, "/ecommerce/v1/events/").concat(eventId, "/showings/").concat(showingId, "/seats?priceage=").concat(priceAgeId), {
164
+ fetch("".concat(baseUrl, "/legacy/").concat(countryCode, "/shop/events/").concat(eventId, "/").concat(eventVenueId, "/showings/").concat(showingId, "/tickets/allocated/").concat(areaId), {
178
165
  headers: {
179
- basketId: sessionId,
166
+ 'basket-key': sessionId,
180
167
  Authorization: "Bearer ".concat(apiKey)
181
168
  }
182
169
  }).then(response => response.json() || null).then(data => {
183
170
  const img = new Image();
184
171
  img.src = data.background;
185
- setBookedSeats(data.seats.filter(s => s.status === 4 && s.bookedPrice === price).map(s => ({
186
- showingSeatId: s.showingSeatId,
187
- rowName: s.rowName,
188
- columnName: s.columnName,
172
+ setBookedSeats(data.seats.filter(s => s.s === 4 && s.bookedPrice === price).map(s => ({
173
+ showingSeatId: s.ssId,
174
+ rowName: s.r,
175
+ columnName: s.c,
189
176
  showingId: showingId,
190
177
  price: price || s.defaultPrice,
191
178
  priceAgeName: s.priceAgeName
@@ -222,7 +209,7 @@ const SeatingPlan = _ref => {
222
209
  fillOpacity: 0
223
210
  });
224
211
  }
225
- }, [chosenSeat]);
212
+ }, [chosenSeat, processing]);
226
213
 
227
214
  // return seating plan
228
215
  return /*#__PURE__*/_react.default.createElement("div", {
@@ -240,7 +227,6 @@ const SeatingPlan = _ref => {
240
227
  minHeight: '500px',
241
228
  height: '100%'
242
229
  }
243
- // onClick={handleClick}
244
230
  }, /*#__PURE__*/_react.default.createElement(_reactLeaflet.ImageOverlay, {
245
231
  url: seats.background,
246
232
  bounds: [[0, 0], [height * 0.03, width * 0.03]],
@@ -249,18 +235,18 @@ const SeatingPlan = _ref => {
249
235
  key: i
250
236
  }, /*#__PURE__*/_react.default.createElement(_reactLeaflet.ImageOverlay, {
251
237
  url: "https://iticketseatingplan.blob.core.windows.net/embed/static/media/rippleload.08e6a08dd832819226ef.gif",
252
- bounds: [[height * 0.03 - s.raw_y * 0.61 - 0.2, s.raw_x * 0.615 - 0.2], [height * 0.03 - s.raw_y * 0.61 + 0.2, s.raw_x * 0.615 + 0.2]],
253
- opacity: chosenSeat && chosenSeat.seat.showingSeatId === s.showingSeatId ? 100 : 0,
238
+ bounds: [[height * 0.03 - s.y * 0.61 - 0.2, s.x * 0.615 - 0.2], [height * 0.03 - s.y * 0.61 + 0.2, s.x * 0.615 + 0.2]],
239
+ opacity: chosenSeat && chosenSeat.seat.ssId === s.ssId ? 100 : 0,
254
240
  zIndex: 10
255
- }), !priceSectionId || s.priceSectionId === priceSectionId ? s.status === 6 ? /*#__PURE__*/_react.default.createElement(_reactLeaflet.ImageOverlay, {
241
+ }), !priceSectionId || s.psId === priceSectionId ? s.s === 6 ? /*#__PURE__*/_react.default.createElement(_reactLeaflet.ImageOverlay, {
256
242
  url: 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iNTBweCIgaGVpZ2h0PSI1MHB4IiB2aWV3Qm94PSIwIDAgNTAgNTAiIHZlcnNpb249IjEuMSI+CjxnIGlkPSJzdXJmYWNlMSI+CjxwYXRoIHN0eWxlPSIgc3Ryb2tlOm5vbmU7ZmlsbC1ydWxlOm5vbnplcm87ZmlsbDpyZ2IoMCUsMCUsMCUpO2ZpbGwtb3BhY2l0eToxOyIgZD0iTSAzNC4xMjg5MDYgNDEuMzA0Njg4IEMgMzMuMjY5NTMxIDQwLjQ0OTIxOSAzMS45MDYyNSA0MC4zNzUgMzAuOTY0ODQ0IDQxLjE0MDYyNSBDIDI4LjY0ODQzOCA0My4wMTk1MzEgMjUuNzczNDM4IDQ0LjA2NjQwNiAyMi43MzgyODEgNDQuMDY2NDA2IEMgMTUuNDU3MDMxIDQ0LjA2NjQwNiA5LjUzMTI1IDM4LjE0MDYyNSA5LjUzMTI1IDMwLjg1NTQ2OSBDIDkuNTMxMjUgMjcuNjI4OTA2IDEwLjcxODc1IDI0LjU2NjQwNiAxMi44MzU5MzggMjIuMTcxODc1IEMgMTMuNSAyMS40MTc5NjkgMTMuNDg0Mzc1IDIwLjI4MTI1IDEyLjc4OTA2MiAxOS41NTA3ODEgQyAxMi4zMzk4NDQgMTkuMDc0MjE5IDExLjg5NDUzMSAxOC41OTc2NTYgMTEuNDQ1MzEyIDE4LjEyMTA5NCBDIDExLjA4MjAzMSAxNy43MzgyODEgMTAuNTc4MTI1IDE3LjUyMzQzOCAxMC4wNTA3ODEgMTcuNTIzNDM4IEMgOS41MjM0MzggMTcuNTI3MzQ0IDkuMDIzNDM4IDE3Ljc1IDguNjY3OTY5IDE4LjEzNjcxOSBDIDcuNTY2NDA2IDE5LjMyODEyNSA2LjYxNzE4OCAyMC42NTIzNDQgNS44NjcxODggMjIuMDg1OTM4IEMgNC40NjA5MzggMjQuNzczNDM4IDMuNzE4NzUgMjcuODA4NTk0IDMuNzE4NzUgMzAuODU1NDY5IEMgMy43MTg3NSA0MS4zNDM3NSAxMi4yNTM5MDYgNDkuODc4OTA2IDIyLjc0MjE4OCA0OS44Nzg5MDYgQyAyNS43Njk1MzEgNDkuODc4OTA2IDI4Ljc4NTE1NiA0OS4xNDQ1MzEgMzEuNDY0ODQ0IDQ3Ljc1NzgxMiBDIDMyLjYyNSA0Ny4xNTYyNSAzMy43MjI2NTYgNDYuNDI5Njg4IDM0LjczODI4MSA0NS42MDE1NjIgQyAzNS4yNTM5MDYgNDUuMTc5Njg4IDM1LjU3MDMxMiA0NC41NTQ2ODggMzUuNjA1NDY5IDQzLjg4NjcxOSBDIDM1LjYzNjcxOSA0My4yMTg3NSAzNS4zOTA2MjUgNDIuNTY2NDA2IDM0LjkxNDA2MiA0Mi4wOTM3NSBaIE0gMzQuMTI4OTA2IDQxLjMwNDY4OCAiLz4KPHBhdGggc3R5bGU9IiBzdHJva2U6bm9uZTtmaWxsLXJ1bGU6bm9uemVybztmaWxsOnJnYigwJSwwJSwwJSk7ZmlsbC1vcGFjaXR5OjE7IiBkPSJNIDE2LjgxMjUgOS4yODUxNTYgQyAxOS4zNzEwOTQgOS4yODUxNTYgMjEuNDUzMTI1IDcuMjAzMTI1IDIxLjQ1MzEyNSA0LjY0NDUzMSBDIDIxLjQ1MzEyNSAyLjA4MjAzMSAxOS4zNzEwOTQgMCAxNi44MTI1IDAgQyAxNC4yNSAwIDEyLjE2Nzk2OSAyLjA4MjAzMSAxMi4xNjc5NjkgNC42NDQ1MzEgQyAxMi4xNjc5NjkgNy4yMDMxMjUgMTQuMjUgOS4yODUxNTYgMTYuODEyNSA5LjI4NTE1NiBaIE0gMTYuODEyNSA5LjI4NTE1NiAiLz4KPHBhdGggc3R5bGU9IiBzdHJva2U6bm9uZTtmaWxsLXJ1bGU6bm9uemVybztmaWxsOnJnYigwJSwwJSwwJSk7ZmlsbC1vcGFjaXR5OjE7IiBkPSJNIDQ2LjIzNDM3NSA0Ni41NzAzMTIgTCA0My4zMTY0MDYgMzAuNjA5Mzc1IEMgNDMuMTQwNjI1IDI5LjYyNSA0Mi41NTg1OTQgMjguNzQyMTg4IDQxLjczNDM3NSAyOC4xNzk2ODggQyA0MS4xMTMyODEgMjcuNzU3ODEyIDQwLjM4MjgxMiAyNy41MzEyNSAzOS42Mjg5MDYgMjcuNTMxMjUgQyAzOS4zODI4MTIgMjcuNTMxMjUgMzkuMTMyODEyIDI3LjU1NDY4OCAzOC44OTQ1MzEgMjcuNjAxNTYyIEwgMjUuNTg1OTM4IDMwLjI2MTcxOSBDIDI1LjUzOTA2MiAzMC4yNzM0MzggMjUuNDkyMTg4IDMwLjI3NzM0NCAyNS40NDUzMTIgMzAuMjc3MzQ0IEMgMjUuMTEzMjgxIDMwLjI3NzM0NCAyNC44MjQyMTkgMzAuMDM5MDYyIDI0Ljc1NzgxMiAyOS43MTA5MzggTCAyMy42NjAxNTYgMjQuMzA4NTk0IEwgMzIuODk4NDM4IDIyLjczNDM3NSBDIDM0LjM0NzY1NiAyMi40ODQzNzUgMzUuMzI4MTI1IDIxLjEwNTQ2OSAzNS4wNzgxMjUgMTkuNjU2MjUgQyAzNC44NTkzNzUgMTguMzcxMDk0IDMzLjc1MzkwNiAxNy40Mzc1IDMyLjQ0NTMxMiAxNy40Mzc1IEMgMzIuMjk2ODc1IDE3LjQzNzUgMzIuMTQ4NDM4IDE3LjQ0OTIxOSAzMiAxNy40NzI2NTYgTCAyMi41OTc2NTYgMTkuMDc4MTI1IEwgMjEuMzkwNjI1IDEzLjEyODkwNiBDIDIxLjEzNjcxOSAxMS43NDYwOTQgMTkuOTM3NSAxMC43NDYwOTQgMTguNTM1MTU2IDEwLjc0NjA5NCBDIDE4LjM1OTM3NSAxMC43NDYwOTQgMTguMTc5Njg4IDEwLjc2MTcxOSAxOC4wMDc4MTIgMTAuNzkyOTY5IEMgMTcuMjQyMTg4IDEwLjkyOTY4OCAxNi41NzgxMjUgMTEuMzU5Mzc1IDE2LjE0MDYyNSAxMiBDIDE1LjY5NTMxMiAxMi42NDA2MjUgMTUuNTMxMjUgMTMuNDEwMTU2IDE1LjY3MTg3NSAxNC4xNzk2ODggTCAxOS41MTk1MzEgMzMuNTc0MjE5IEMgMTkuNzE0ODQ0IDM0LjU1ODU5NCAyMC4yODEyNSAzNS40MDYyNSAyMS4xMTMyODEgMzUuOTYwOTM4IEMgMjEuNzM0Mzc1IDM2LjM3NSAyMi40NTMxMjUgMzYuNTkzNzUgMjMuMTk5MjE5IDM2LjU5Mzc1IEMgMjMuNDQ1MzEyIDM2LjU5Mzc1IDIzLjY5MTQwNiAzNi41NzAzMTIgMjMuOTMzNTk0IDM2LjUxOTUzMSBMIDM3LjI2OTUzMSAzMy44NTkzNzUgQyAzNy40NTcwMzEgMzMuODIwMzEyIDM3LjY1MjM0NCAzMy44NTkzNzUgMzcuODA4NTk0IDMzLjk2NDg0NCBDIDM3Ljk2MDkzOCAzNC4wNzAzMTIgMzguMDcwMzEyIDM0LjIzODI4MSAzOC4xMDU0NjkgMzQuNDIxODc1IEwgNDAuNTE1NjI1IDQ3LjYxNzE4OCBDIDQwLjc2NTYyNSA0OSA0MS45Njg3NSA1MC4wMDM5MDYgNDMuMzcxMDk0IDUwLjAwMzkwNiBDIDQzLjU0Njg3NSA1MC4wMDM5MDYgNDMuNzE4NzUgNDkuOTg0Mzc1IDQzLjg5NDUzMSA0OS45NTMxMjUgQyA0NC42NjAxNTYgNDkuODE2NDA2IDQ1LjMyMDMxMiA0OS4zODY3MTkgNDUuNzYxNzE5IDQ4Ljc0NjA5NCBDIDQ2LjIwNzAzMSA0OC4xMDkzNzUgNDYuMzcxMDk0IDQ3LjMzNTkzOCA0Ni4yMzQzNzUgNDYuNTcwMzEyIFogTSA0Ni4yMzQzNzUgNDYuNTcwMzEyICIvPgo8L2c+Cjwvc3ZnPgo=',
257
- bounds: [[height * 0.03 - s.raw_y * 0.61 - 0.17, s.raw_x * 0.615 - 0.17], [height * 0.03 - s.raw_y * 0.61 + 0.17, s.raw_x * 0.615 + 0.17]],
243
+ bounds: [[height * 0.03 - s.y * 0.61 - 0.17, s.x * 0.615 - 0.17], [height * 0.03 - s.y * 0.61 + 0.17, s.x * 0.615 + 0.17]],
258
244
  zIndex: 10
259
245
  }) : /*#__PURE__*/_react.default.createElement(_reactLeaflet.Circle, {
260
246
  center: [
261
- // (width * 0.03 - (s.raw_y - 11.5)) * 0.65,
262
- // s.raw_x * 0.64,
263
- height * 0.03 - s.raw_y * 0.61, s.raw_x * 0.615],
247
+ // (width * 0.03 - (s.y - 11.5)) * 0.65,
248
+ // s.x * 0.64,
249
+ height * 0.03 - s.y * 0.61, s.x * 0.615],
264
250
  pathOptions: setInitialColor(s),
265
251
  radius: 20000,
266
252
  eventHandlers: {
@@ -270,7 +256,32 @@ const SeatingPlan = _ref => {
270
256
  }, /*#__PURE__*/_react.default.createElement(_reactLeaflet.Tooltip, {
271
257
  direction: 'top',
272
258
  offset: [0, height * 0.03 + -30]
273
- }, s.rowName + '-' + s.columnName, ' ', s.bookedPrice && s.bookedPrice !== price && "(Select $".concat(s.bookedPrice, " to remove from cart.)"))) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null)))) : /*#__PURE__*/_react.default.createElement("div", {
259
+ }, s.r + '-' + s.c, ' '), s.s === 1 && /*#__PURE__*/_react.default.createElement(_reactLeaflet.Popup, null, /*#__PURE__*/_react.default.createElement("p", {
260
+ style: {
261
+ marginTop: '0.2rem',
262
+ marginBottom: '0.2rem',
263
+ fontWeight: 'bold'
264
+ }
265
+ }, "Select option:"), seats.pricing.filter(price => price.psId === priceSectionId).map(price => /*#__PURE__*/_react.default.createElement("div", {
266
+ key: price.paId,
267
+ style: {
268
+ minWidth: '10rem',
269
+ borderRadius: '0.25rem',
270
+ padding: '0.5rem',
271
+ border: '1px solid #bdc3c7',
272
+ marginBottom: '0.2rem',
273
+ cursor: 'pointer'
274
+ },
275
+ onClick: () => addTicketToCart(s, price.paId)
276
+ }, /*#__PURE__*/_react.default.createElement("p", {
277
+ style: {
278
+ margin: '0px'
279
+ }
280
+ }, price.paName, /*#__PURE__*/_react.default.createElement("span", {
281
+ style: {
282
+ float: 'right'
283
+ }
284
+ }, NZDollar.format(price.p))))))) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null)))) : /*#__PURE__*/_react.default.createElement("div", {
274
285
  className: "loading"
275
286
  }, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("svg", {
276
287
  width: "105",
@@ -248,7 +248,7 @@ svg.leaflet-zoom-animated {
248
248
  /* cursors */
249
249
 
250
250
  .leaflet-interactive {
251
- cursor: default;
251
+ cursor: pointer;
252
252
  }
253
253
  .leaflet-grab {
254
254
  cursor: -webkit-grab;
@@ -519,7 +519,7 @@ svg.leaflet-image-layer.leaflet-interactive path {
519
519
  border-radius: 12px;
520
520
  }
521
521
  .leaflet-popup-content {
522
- margin: 13px 24px 13px 20px;
522
+ margin: 0.5rem;
523
523
  line-height: 1.3;
524
524
  font-size: 13px;
525
525
  font-size: 1.08333em;
@@ -570,6 +570,7 @@ svg.leaflet-image-layer.leaflet-interactive path {
570
570
  color: #757575;
571
571
  text-decoration: none;
572
572
  background: transparent;
573
+ display: none;
573
574
  }
574
575
  .leaflet-container a.leaflet-popup-close-button:hover,
575
576
  .leaflet-container a.leaflet-popup-close-button:focus {
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.0.16",
5
+ "version": "1.0.18",
6
6
  "private": false,
7
7
  "keywords": [
8
8
  "iticket",