@alisaitteke/seatmap-canvas 2.1.0 → 2.4.1

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.
Files changed (203) hide show
  1. package/CHANGELOG.md +5 -1
  2. package/LICENSE +1 -1
  3. package/README.md +18 -10
  4. package/dist/cjs/seatmap.canvas.css +151 -0
  5. package/dist/cjs/seatmap.canvas.js +40 -0
  6. package/dist/cjs/seatmap.canvas.js.map +1 -0
  7. package/dist/cjs/types/canvas.index.browser.d.ts +2 -0
  8. package/dist/cjs/types/canvas.index.d.ts +23 -0
  9. package/dist/cjs/types/config.d.ts +3 -0
  10. package/dist/cjs/types/decorators/dom.d.ts +8 -0
  11. package/dist/cjs/types/decorators/index.d.ts +1 -0
  12. package/dist/cjs/types/dev.tools.d.ts +6 -0
  13. package/{src/lib/enums/global.ts → dist/cjs/types/enums/global.d.ts} +6 -27
  14. package/dist/cjs/types/models/block.model.d.ts +29 -0
  15. package/dist/cjs/types/models/coordinate.model.d.ts +7 -0
  16. package/dist/cjs/types/models/data.model.d.ts +26 -0
  17. package/dist/cjs/types/models/defaults.model.d.ts +32 -0
  18. package/dist/cjs/types/models/global.model.d.ts +18 -0
  19. package/dist/cjs/types/models/label.model.d.ts +9 -0
  20. package/dist/cjs/types/models/legend.model.d.ts +8 -0
  21. package/dist/cjs/types/models/model.base.d.ts +5 -0
  22. package/dist/cjs/types/models/seat.model.d.ts +40 -0
  23. package/dist/cjs/types/models/styles/block.style.d.ts +7 -0
  24. package/dist/cjs/types/models/styles/label.style.d.ts +6 -0
  25. package/dist/cjs/types/models/styles/legend.style.d.ts +6 -0
  26. package/dist/cjs/types/models/styles/seat.style.d.ts +12 -0
  27. package/dist/cjs/types/models/styles/tooltip.style.d.ts +7 -0
  28. package/dist/cjs/types/svg/event.manager.d.ts +12 -0
  29. package/dist/cjs/types/svg/legend/legend.circle.d.ts +7 -0
  30. package/dist/cjs/types/svg/legend/legend.item.d.ts +13 -0
  31. package/dist/cjs/types/svg/legend/legend.title.d.ts +7 -0
  32. package/dist/cjs/types/svg/legend.d.ts +8 -0
  33. package/dist/cjs/types/svg/stage/blocks/block-item/block-item.bounds.d.ts +12 -0
  34. package/dist/cjs/types/svg/stage/blocks/block-item/block-item.index.d.ts +23 -0
  35. package/dist/cjs/types/svg/stage/blocks/block-item/block-item.info.index.d.ts +11 -0
  36. package/dist/cjs/types/svg/stage/blocks/block-item/block-item.labels.index.d.ts +11 -0
  37. package/dist/cjs/types/svg/stage/blocks/block-item/block-item.mask.d.ts +12 -0
  38. package/dist/cjs/types/svg/stage/blocks/block-item/block-item.seats.index.d.ts +15 -0
  39. package/dist/cjs/types/svg/stage/blocks/block-item/bound/bound-item.index.d.ts +12 -0
  40. package/dist/cjs/types/svg/stage/blocks/block-item/info/title.d.ts +7 -0
  41. package/dist/cjs/types/svg/stage/blocks/block-item/label/label-item.circle.d.ts +7 -0
  42. package/dist/cjs/types/svg/stage/blocks/block-item/label/label-item.index.d.ts +13 -0
  43. package/dist/cjs/types/svg/stage/blocks/block-item/label/label-item.title.d.ts +7 -0
  44. package/dist/cjs/types/svg/stage/blocks/block-item/seat/seat-item.check.d.ts +10 -0
  45. package/dist/cjs/types/svg/stage/blocks/block-item/seat/seat-item.circle.d.ts +7 -0
  46. package/dist/cjs/types/svg/stage/blocks/block-item/seat/seat-item.index.d.ts +28 -0
  47. package/dist/cjs/types/svg/stage/blocks/block-item/seat/seat-item.title.d.ts +7 -0
  48. package/dist/cjs/types/svg/stage/blocks/blocks.index.d.ts +13 -0
  49. package/dist/cjs/types/svg/stage/blocks.search-circle.d.ts +12 -0
  50. package/dist/cjs/types/svg/stage/multi-select/rect.d.ts +7 -0
  51. package/dist/cjs/types/svg/stage/multi-select.d.ts +13 -0
  52. package/dist/cjs/types/svg/stage/search-circle/circle.d.ts +7 -0
  53. package/dist/cjs/types/svg/stage/stage.index.d.ts +11 -0
  54. package/dist/cjs/types/svg/svg.base.d.ts +35 -0
  55. package/dist/cjs/types/svg/svg.index.d.ts +16 -0
  56. package/dist/cjs/types/svg/tooltip/rect.d.ts +8 -0
  57. package/dist/cjs/types/svg/tooltip/title.d.ts +10 -0
  58. package/dist/cjs/types/svg/tooltip.d.ts +15 -0
  59. package/dist/cjs/types/svg/zoom-out.bg.d.ts +7 -0
  60. package/dist/cjs/types/svg/zoom.manager.d.ts +41 -0
  61. package/dist/cjs/types/window.manager.d.ts +9 -0
  62. package/dist/dependencies.txt +849 -0
  63. package/dist/esm/seatmap.canvas.css +151 -0
  64. package/dist/esm/seatmap.canvas.js +16 -0
  65. package/dist/esm/seatmap.canvas.js.map +1 -0
  66. package/dist/esm/types/canvas.index.browser.d.ts +2 -0
  67. package/dist/esm/types/canvas.index.d.ts +23 -0
  68. package/dist/esm/types/config.d.ts +3 -0
  69. package/dist/esm/types/decorators/dom.d.ts +8 -0
  70. package/dist/esm/types/decorators/index.d.ts +1 -0
  71. package/dist/esm/types/dev.tools.d.ts +6 -0
  72. package/dist/esm/types/enums/global.d.ts +46 -0
  73. package/dist/esm/types/models/block.model.d.ts +29 -0
  74. package/dist/esm/types/models/coordinate.model.d.ts +7 -0
  75. package/dist/esm/types/models/data.model.d.ts +26 -0
  76. package/dist/esm/types/models/defaults.model.d.ts +32 -0
  77. package/dist/esm/types/models/global.model.d.ts +18 -0
  78. package/dist/esm/types/models/label.model.d.ts +9 -0
  79. package/dist/esm/types/models/legend.model.d.ts +8 -0
  80. package/dist/esm/types/models/model.base.d.ts +5 -0
  81. package/dist/esm/types/models/seat.model.d.ts +40 -0
  82. package/dist/esm/types/models/styles/block.style.d.ts +7 -0
  83. package/dist/esm/types/models/styles/label.style.d.ts +6 -0
  84. package/dist/esm/types/models/styles/legend.style.d.ts +6 -0
  85. package/dist/esm/types/models/styles/seat.style.d.ts +12 -0
  86. package/dist/esm/types/models/styles/tooltip.style.d.ts +7 -0
  87. package/dist/esm/types/svg/event.manager.d.ts +12 -0
  88. package/dist/esm/types/svg/legend/legend.circle.d.ts +7 -0
  89. package/dist/esm/types/svg/legend/legend.item.d.ts +13 -0
  90. package/dist/esm/types/svg/legend/legend.title.d.ts +7 -0
  91. package/dist/esm/types/svg/legend.d.ts +8 -0
  92. package/dist/esm/types/svg/stage/blocks/block-item/block-item.bounds.d.ts +12 -0
  93. package/dist/esm/types/svg/stage/blocks/block-item/block-item.index.d.ts +23 -0
  94. package/dist/esm/types/svg/stage/blocks/block-item/block-item.info.index.d.ts +11 -0
  95. package/dist/esm/types/svg/stage/blocks/block-item/block-item.labels.index.d.ts +11 -0
  96. package/dist/esm/types/svg/stage/blocks/block-item/block-item.mask.d.ts +12 -0
  97. package/dist/esm/types/svg/stage/blocks/block-item/block-item.seats.index.d.ts +15 -0
  98. package/dist/esm/types/svg/stage/blocks/block-item/bound/bound-item.index.d.ts +12 -0
  99. package/dist/esm/types/svg/stage/blocks/block-item/info/title.d.ts +7 -0
  100. package/dist/esm/types/svg/stage/blocks/block-item/label/label-item.circle.d.ts +7 -0
  101. package/dist/esm/types/svg/stage/blocks/block-item/label/label-item.index.d.ts +13 -0
  102. package/dist/esm/types/svg/stage/blocks/block-item/label/label-item.title.d.ts +7 -0
  103. package/dist/esm/types/svg/stage/blocks/block-item/seat/seat-item.check.d.ts +10 -0
  104. package/dist/esm/types/svg/stage/blocks/block-item/seat/seat-item.circle.d.ts +7 -0
  105. package/dist/esm/types/svg/stage/blocks/block-item/seat/seat-item.index.d.ts +28 -0
  106. package/dist/esm/types/svg/stage/blocks/block-item/seat/seat-item.title.d.ts +7 -0
  107. package/dist/esm/types/svg/stage/blocks/blocks.index.d.ts +13 -0
  108. package/dist/esm/types/svg/stage/blocks.search-circle.d.ts +12 -0
  109. package/dist/esm/types/svg/stage/multi-select/rect.d.ts +7 -0
  110. package/dist/esm/types/svg/stage/multi-select.d.ts +13 -0
  111. package/dist/esm/types/svg/stage/search-circle/circle.d.ts +7 -0
  112. package/dist/esm/types/svg/stage/stage.index.d.ts +11 -0
  113. package/dist/esm/types/svg/svg.base.d.ts +35 -0
  114. package/dist/esm/types/svg/svg.index.d.ts +16 -0
  115. package/dist/esm/types/svg/tooltip/rect.d.ts +8 -0
  116. package/dist/esm/types/svg/tooltip/title.d.ts +10 -0
  117. package/dist/esm/types/svg/tooltip.d.ts +15 -0
  118. package/dist/esm/types/svg/zoom-out.bg.d.ts +7 -0
  119. package/dist/esm/types/svg/zoom.manager.d.ts +41 -0
  120. package/dist/esm/types/window.manager.d.ts +9 -0
  121. package/dist/types.d.ts +533 -0
  122. package/package.json +25 -22
  123. package/.eslintrc.json +0 -15
  124. package/.github/FUNDING.yml +0 -4
  125. package/.github/ISSUE_TEMPLATE/bug_report.md +0 -38
  126. package/.github/ISSUE_TEMPLATE/feature_request.md +0 -20
  127. package/.github/workflows/codeql-analysis.yml +0 -29
  128. package/.github/workflows/npm-publish-packages.yml +0 -35
  129. package/.github/workflows/publish.yml +0 -103
  130. package/.github/workflows/webpack.yml +0 -22
  131. package/.opencommitignore +0 -4
  132. package/AUTHORS +0 -3
  133. package/SECURITY.md +0 -21
  134. package/_config.yml +0 -1
  135. package/assets/banner_ui.png +0 -0
  136. package/assets/bn.jpg +0 -0
  137. package/assets/logo.jpg +0 -0
  138. package/assets/logo_small.jpg +0 -0
  139. package/assets/zoom_out.svg +0 -11
  140. package/cog.toml +0 -19
  141. package/dist/seatmap.canvas.2.0.1-0.css +0 -1
  142. package/dist/seatmap.canvas.2.0.1-0.js +0 -2
  143. package/dist/seatmap.canvas.2.0.1-0.js.LICENSE.txt +0 -14
  144. package/examples/basic/bootstrap.min.css +0 -7
  145. package/examples/basic/index.html +0 -201
  146. package/examples/basic/jquery.min.js +0 -2
  147. package/examples/data/data.json +0 -70007
  148. package/examples/data/small.json +0 -1307
  149. package/examples/data/tiny.json +0 -119
  150. package/examples/old/index.html +0 -262
  151. package/src/lib/canvas.index.ts +0 -122
  152. package/src/lib/config.ts +0 -11
  153. package/src/lib/decorators/dom.ts +0 -40
  154. package/src/lib/decorators/index.ts +0 -6
  155. package/src/lib/dev.tools.ts +0 -18
  156. package/src/lib/models/block.model.ts +0 -170
  157. package/src/lib/models/coordinate.model.ts +0 -43
  158. package/src/lib/models/data.model.ts +0 -105
  159. package/src/lib/models/defaults.model.ts +0 -125
  160. package/src/lib/models/global.model.ts +0 -24
  161. package/src/lib/models/label.model.ts +0 -58
  162. package/src/lib/models/legend.model.ts +0 -56
  163. package/src/lib/models/model.base.ts +0 -32
  164. package/src/lib/models/seat.model.ts +0 -182
  165. package/src/lib/svg/event.manager.ts +0 -56
  166. package/src/lib/svg/legend/legend.circle.ts +0 -28
  167. package/src/lib/svg/legend/legend.item.ts +0 -50
  168. package/src/lib/svg/legend/legend.title.ts +0 -27
  169. package/src/lib/svg/legend.ts +0 -55
  170. package/src/lib/svg/stage/blocks/block-item/block-item.bounds.ts +0 -51
  171. package/src/lib/svg/stage/blocks/block-item/block-item.index.ts +0 -173
  172. package/src/lib/svg/stage/blocks/block-item/block-item.info.index.ts +0 -38
  173. package/src/lib/svg/stage/blocks/block-item/block-item.labels.index.ts +0 -41
  174. package/src/lib/svg/stage/blocks/block-item/block-item.mask.ts +0 -67
  175. package/src/lib/svg/stage/blocks/block-item/block-item.seats.index.ts +0 -81
  176. package/src/lib/svg/stage/blocks/block-item/bound/bound-item.index.ts +0 -43
  177. package/src/lib/svg/stage/blocks/block-item/info/title.ts +0 -30
  178. package/src/lib/svg/stage/blocks/block-item/label/label-item.circle.ts +0 -27
  179. package/src/lib/svg/stage/blocks/block-item/label/label-item.index.ts +0 -46
  180. package/src/lib/svg/stage/blocks/block-item/label/label-item.title.ts +0 -27
  181. package/src/lib/svg/stage/blocks/block-item/seat/seat-item.check.ts +0 -45
  182. package/src/lib/svg/stage/blocks/block-item/seat/seat-item.circle.ts +0 -30
  183. package/src/lib/svg/stage/blocks/block-item/seat/seat-item.index.ts +0 -159
  184. package/src/lib/svg/stage/blocks/block-item/seat/seat-item.title.ts +0 -27
  185. package/src/lib/svg/stage/blocks/blocks.index.ts +0 -68
  186. package/src/lib/svg/stage/blocks.search-circle.ts +0 -86
  187. package/src/lib/svg/stage/multi-select/rect.ts +0 -36
  188. package/src/lib/svg/stage/multi-select.ts +0 -107
  189. package/src/lib/svg/stage/search-circle/circle.ts +0 -37
  190. package/src/lib/svg/stage/stage.index.ts +0 -41
  191. package/src/lib/svg/svg.base.ts +0 -217
  192. package/src/lib/svg/svg.index.ts +0 -76
  193. package/src/lib/svg/tooltip/rect.ts +0 -66
  194. package/src/lib/svg/tooltip/title.ts +0 -57
  195. package/src/lib/svg/tooltip.ts +0 -92
  196. package/src/lib/svg/zoom-out.bg.ts +0 -35
  197. package/src/lib/svg/zoom.manager.ts +0 -440
  198. package/src/lib/window.manager.ts +0 -40
  199. package/src/scss/lib.scss +0 -10
  200. package/src/scss/style.scss +0 -221
  201. package/tsconfig.json +0 -28
  202. package/webpack.environments/development.js +0 -58
  203. package/webpack.environments/production.js +0 -52
@@ -1,119 +0,0 @@
1
- {
2
- "totalItemCount": 0,
3
- "seats": [
4
- {
5
- "isSold": false,
6
- "seatClassType": 100,
7
- "id": 5691694,
8
- "positionTop": 0,
9
- "positionLeft": 0,
10
- "displayName": "49",
11
- "rowName": "A",
12
- "rowNo": 1,
13
- "refSeatClassID": 158,
14
- "blockId": 0,
15
- "refChannelGroupId": 25351,
16
- "gateTurnstile": "[{\"gateID\":24435,\"gateName\":\"DENIZLI GATE 1\",\"turnstileID\":24900,\"turnstileName\":\"DENIZLI TURNSTILE 1\"}]"
17
- },
18
- {
19
- "isSold": false,
20
- "seatClassType": 100,
21
- "id": 5691695,
22
- "positionTop": 0,
23
- "positionLeft": 30,
24
- "displayName": "47",
25
- "rowName": "A",
26
- "rowNo": 1,
27
- "refSeatClassID": 158,
28
- "blockId": 0,
29
- "refChannelGroupId": 25351,
30
- "gateTurnstile": "[{\"gateID\":24435,\"gateName\":\"DENIZLI GATE 1\",\"turnstileID\":24900,\"turnstileName\":\"DENIZLI TURNSTILE 1\"}]"
31
- },
32
- {
33
- "isSold": false,
34
- "seatClassType": 100,
35
- "id": 5691696,
36
- "positionTop": 0,
37
- "positionLeft": 60,
38
- "displayName": "45",
39
- "rowName": "A",
40
- "rowNo": 1,
41
- "refSeatClassID": 158,
42
- "blockId": 0,
43
- "refChannelGroupId": 25351,
44
- "gateTurnstile": "[{\"gateID\":24435,\"gateName\":\"DENIZLI GATE 1\",\"turnstileID\":24900,\"turnstileName\":\"DENIZLI TURNSTILE 1\"}]"
45
- },
46
- {
47
- "isSold": false,
48
- "seatClassType": 100,
49
- "id": 5691724,
50
- "positionTop": 30,
51
- "positionLeft": 150,
52
- "displayName": "39",
53
- "rowName": "B",
54
- "rowNo": 2,
55
- "refSeatClassID": 158,
56
- "blockId": 0,
57
- "refChannelGroupId": 25351,
58
- "gateTurnstile": "[{\"gateID\":24435,\"gateName\":\"DENIZLI GATE 1\",\"turnstileID\":24900,\"turnstileName\":\"DENIZLI TURNSTILE 1\"}]"
59
- },
60
- {
61
- "isSold": false,
62
- "seatClassType": 100,
63
- "id": 5691725,
64
- "positionTop": 30,
65
- "positionLeft": 180,
66
- "displayName": "37",
67
- "rowName": "B",
68
- "rowNo": 2,
69
- "refSeatClassID": 158,
70
- "blockId": 0,
71
- "refChannelGroupId": 25351,
72
- "gateTurnstile": "[{\"gateID\":24435,\"gateName\":\"DENIZLI GATE 1\",\"turnstileID\":24900,\"turnstileName\":\"DENIZLI TURNSTILE 1\"}]"
73
- },
74
- {
75
- "isSold": false,
76
- "seatClassType": 100,
77
- "id": 5691726,
78
- "positionTop": 30,
79
- "positionLeft": 210,
80
- "displayName": "35",
81
- "rowName": "B",
82
- "rowNo": 2,
83
- "refSeatClassID": 158,
84
- "blockId": 0,
85
- "refChannelGroupId": 25351,
86
- "gateTurnstile": "[{\"gateID\":24435,\"gateName\":\"DENIZLI GATE 1\",\"turnstileID\":24900,\"turnstileName\":\"DENIZLI TURNSTILE 1\"}]"
87
- },
88
- {
89
- "isSold": false,
90
- "seatClassType": 100,
91
- "id": 5691727,
92
- "positionTop": 30,
93
- "positionLeft": 240,
94
- "displayName": "33",
95
- "rowName": "B",
96
- "rowNo": 2,
97
- "refSeatClassID": 158,
98
- "blockId": 0,
99
- "refChannelGroupId": 25351,
100
- "gateTurnstile": "[{\"gateID\":24435,\"gateName\":\"DENIZLI GATE 1\",\"turnstileID\":24900,\"turnstileName\":\"DENIZLI TURNSTILE 1\"}]"
101
- },
102
- {
103
- "isSold": false,
104
- "seatClassType": 100,
105
- "id": 5691728,
106
- "positionTop": 30,
107
- "positionLeft": 270,
108
- "displayName": "31",
109
- "rowName": "B",
110
- "rowNo": 2,
111
- "refSeatClassID": 158,
112
- "blockId": 0,
113
- "refChannelGroupId": 25351,
114
- "gateTurnstile": "[{\"gateID\":24435,\"gateName\":\"DENIZLI GATE 1\",\"turnstileID\":24900,\"turnstileName\":\"DENIZLI TURNSTILE 1\"}]"
115
- }
116
- ],
117
- "isError": false,
118
- "resultCode": 0
119
- }
@@ -1,262 +0,0 @@
1
- <!doctype html>
2
- <html lang="en">
3
- <head>
4
- <!-- Required meta tags -->
5
- <meta charset="utf-8">
6
- <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
7
-
8
- <!-- Bootstrap CSS -->
9
- <link rel="stylesheet" href="//stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css"
10
- integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
11
-
12
- <title>Hello, world!</title>
13
-
14
- <style>
15
-
16
- .seats_container {
17
- position: absolute;
18
- left: 0;
19
- top: 0;
20
- width: 100%;
21
- height: 100%;
22
- background-color: #fff;
23
- }
24
-
25
- .buttons {
26
- position: absolute;
27
- width: 100%;
28
- left: 0;
29
- top: 0;
30
- }
31
-
32
- </style>
33
- </head>
34
- <body>
35
- <div class="seats_container">
36
- <div class="buttons">
37
- <div class="container">
38
- <div class="row">
39
- <div class="col">
40
- <button class="btn btn-default btn-block" id="zoomout-button">Zoom-out</button>
41
- </div>
42
- <div class="col">
43
- <button class="btn btn-default btn-block" id="best-find-start">Best Available Search</button>
44
- </div>
45
- <div class="col">
46
- <button class="btn btn-default btn-block" id="best-find-cancel">Best Available Cancel</button>
47
- </div>
48
- <div class="col">
49
- <button class="btn btn-default btn-block" id="get-data">Get Selected Seat(s) Json</button>
50
- </div>
51
- <div class="col">
52
- <button class="btn btn-default btn-block" id="set-filter">Filter On</button>
53
- </div>
54
- <div class="col">
55
- <button class="btn btn-default btn-block" id="set-filter-disable">Filter of</button>
56
- </div>
57
- <div class="col">
58
- <button class="btn btn-default btn-block" id="zoom-block-1">Zoom Block 1</button>
59
- </div>
60
- <div class="col">
61
- <button class="btn btn-default btn-block" id="zoom-block-2">Zoom Block 2</button>
62
- </div>
63
- <div class="col">
64
- <button class="btn btn-default btn-block" id="zoom-block-3">Zoom Block 3</button>
65
- </div>
66
- <div class="col">
67
- <button class="btn btn-default btn-block" id="zoom-block-4">Zoom Block 4</button>
68
- </div>
69
- </div>
70
- </div>
71
- </div>
72
- </div>
73
-
74
-
75
- <!-- Optional JavaScript -->
76
- <!-- jQuery first then Bootstrap JS -->
77
- <script src="//cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" crossorigin="anonymous"></script>
78
-
79
- <script type="text/javascript" src="/seatmap.canvas.js"></script>
80
- <script type="text/javascript">
81
- $(document).ready(function () {
82
-
83
- let config = {
84
- "container": ".seats_container",
85
- "max_zoom": 1.2,
86
- "resizable": true,
87
- "seat_style": {
88
- "radius": 12,
89
- "color": "#FFFFFF",
90
- "hover": "#dce7ff",
91
- "not_salable": "#424747",
92
- "selected": "#56aa45",
93
- "focus": "#c3f7ff",
94
- "focus_out": "#56aa45",
95
- },
96
- "block_style": {
97
- "fill": "#e2e2e2",
98
- "stroke": "#e2e2e2"
99
- },
100
- "label_style": {
101
- "color": "#000",
102
- "radius": 12,
103
- "font-size": "12px",
104
- "bg": "#ffffff"
105
- },
106
- "legend_style": {
107
- "radius": 12,
108
- "font_size": 11,
109
- "padding": 100
110
- }
111
- };
112
-
113
-
114
- let seatmap = new SeatmapCanvas(config);
115
-
116
- seatmap.addEventListener("seat.click", (seat) => {
117
- console.log(seat);
118
- if (seat.selected) {
119
- seatmap.seatUnselect(seat);
120
- } else {
121
- seatmap.seatSelect(seat);
122
- }
123
- });
124
- seatmap.addEventListener("seat.hover", (seat) => {
125
- //console.log(seat);
126
- });
127
- seatmap.addEventListener("seat.leave", (seat) => {
128
- //console.log(seat);
129
- });
130
-
131
- seatmap.addEventListener("seat.context_menu", (seat) => {
132
- console.log(seat);
133
- });
134
-
135
- seatmap.addEventListener("label.click", (label) => {
136
- console.log(label);
137
- });
138
-
139
- seatmap.addEventListener("label.hover", (label) => {
140
- seatmap.hideSeatsOfTags(["row_" + label.title], label.block.id).showSeatsOfTags(["row_" + label.title], label.block.id);
141
- });
142
-
143
- seatmap.addEventListener("label.leave", (label) => {
144
- seatmap.showSeatsOfTags(["row_" + label.title], label.block.id);
145
- });
146
-
147
- $("#best-find-start").on("click", function () {
148
- seatmap.findBestSeat(3);
149
- });
150
- $("#zoomout-button").on("click", function () {
151
- seatmap.centerStage(true);
152
- });
153
- $("#best-find-cancel").on("click", function () {
154
- seatmap.cancelBestSeat();
155
- });
156
- $("#get-data").on("click", function () {
157
- var data = seatmap.getSelectedSeats(true);
158
- console.log(JSON.stringify(data));
159
- });
160
- $("#set-filter").on("click", function () {
161
- seatmap.hideSeatsOfTags(["a"]);
162
- });
163
-
164
- $("#set-filter-disable").on("click", function () {
165
- seatmap.showSeatsOfTags(["a"]);
166
- });
167
-
168
- $("#zoom-block-1").on("click", function () {
169
- seatmap.zoomToBlock(1);
170
- });
171
-
172
- $("#zoom-block-2").on("click", function () {
173
- seatmap.zoomToBlock(2);
174
- });
175
- $("#zoom-block-3").on("click", function () {
176
- seatmap.zoomToBlock(3);
177
- });
178
- $("#zoom-block-4").on("click", function () {
179
- seatmap.zoomToBlock(4);
180
- });
181
-
182
-
183
- setTimeout(() => {
184
- $.getJSON("/data/data.json", function (result) {
185
-
186
- let data = {
187
- "blocks": []
188
- };
189
-
190
- let block_colors = ["#2c2828", "#ff1f5a", "#fccf4d", "#ef255f"];
191
-
192
-
193
- let x_gap = 0;
194
- let y_gap = 0;
195
-
196
-
197
- for (let i = 0; i < 1; i++) {
198
-
199
- let labels = [];
200
- let label_index = {};
201
-
202
- let color = block_colors[i % block_colors.length];
203
-
204
- //x_gap = 890;
205
-
206
- if (i % 2 === 0) {
207
- y_gap += 500;
208
- x_gap = 0;
209
- } else {
210
- x_gap += 890;
211
- }
212
-
213
-
214
- let seats = result.seats.map((item, index) => {
215
- if (!label_index[item.rowName]) {
216
- var label_data = {
217
- title: item.rowName,
218
- x: item.positionLeft + x_gap,
219
- y: item.positionTop + y_gap
220
- };
221
- label_index[item.rowName] = label_data;
222
- labels.push(label_data);
223
- }
224
-
225
- let tags = [];
226
- if (index % 2 === 1) {
227
- tags.push("a");
228
- } else {
229
- tags.push("b");
230
- }
231
- tags.push("row_" + item.rowName);
232
- return {
233
- id: index + 1,
234
- x: item.positionLeft + x_gap + 40,
235
- y: item.positionTop + y_gap,
236
- color: item.color || null,
237
- salable: item.isSold === true ? false : true,
238
- note: "note test",
239
- tags: tags,
240
- title: item.displayName
241
- }
242
- });
243
-
244
- data.blocks.push({
245
- "id": i + 1,
246
- "title": "Block " + (i + 1),
247
- "labels": labels,
248
- "color": color,
249
- "seats": seats
250
- });
251
-
252
- }
253
-
254
- seatmap.setData(data);
255
- });
256
- }, 250);
257
-
258
-
259
- });
260
- </script>
261
- </body>
262
- </html>
@@ -1,122 +0,0 @@
1
- /*
2
- * index.ts
3
- * https://github.com/seatmap/canvas Copyright 2018 Ali Sait TEKE
4
- */
5
- import "../scss/style.scss";
6
-
7
- import {select as d3Select,event as d3Event} from 'd3-selection'
8
- import Svg from "./svg/svg.index";
9
- import SeatMapDevTools from "./dev.tools";
10
- import DataModel from "./models/data.model";
11
-
12
- import BlockModel from "./models/block.model";
13
- import DefaultsModel from "./models/defaults.model";
14
- import {GlobalModel} from "./models/global.model";
15
-
16
- import ZoomManager from "./svg/zoom.manager";
17
- import EventManager from "./svg/event.manager";
18
- import {EventType, ZoomLevel} from "./enums/global";
19
- import WindowManager from "./window.manager";
20
-
21
- declare const window: any;
22
-
23
- export class SeatMapCanvas {
24
-
25
- public node: any = null;
26
- public svg: Svg;
27
- public dev: SeatMapDevTools;
28
- public data: DataModel;
29
- public config: DefaultsModel;
30
- public global: GlobalModel;
31
- public windowManager: WindowManager;
32
- public zoomManager: ZoomManager;
33
- public eventManager: EventManager;
34
- public addEventListener: any;
35
-
36
- constructor(public container_selector: any, _config: any = {}) {
37
- let _self = this;
38
- this.config = new DefaultsModel(_config);
39
- this.eventManager = new EventManager(this);
40
- this.addEventListener = this.eventManager.addEventListener;
41
- this.node = d3Select(container_selector);
42
- this.windowManager = new WindowManager(this);
43
- this.zoomManager = new ZoomManager(this);
44
-
45
- this.data = new DataModel(this);
46
-
47
- this.global = {
48
- eventManager: this.eventManager,
49
- windowManager: this.windowManager,
50
- config: this.config,
51
- data: this.data,
52
- zoomManager: this.zoomManager,
53
- root: this,
54
- svg: this.svg,
55
- multi_select: false,
56
- best_available: false
57
- };
58
- d3Select(window).on("keydown.dispatch", function (a, b, c) {
59
- _self.eventManager.dispatch(EventType.KEYDOWN_SVG, d3Event);
60
- });
61
- d3Select(window).on("keyup.dispatch", function (a, b, c) {
62
- _self.eventManager.dispatch(EventType.KEYUP_SVG, d3Event);
63
- });
64
-
65
- this.dev = new SeatMapDevTools(this);
66
- this.svg = new Svg(this);
67
-
68
- this.svg.domGenerate(this.node);
69
- this.svg.update();
70
-
71
- this.windowManager.resizeHandler();
72
- this.zoomManager.init();
73
-
74
- this.eventManager.addEventListener(EventType.CLICK_ZOOMOUT, () => this.zoomManager.zoomToVenue());
75
- this.eventManager.addEventListener(EventType.MULTI_SELECT_ENABLE, () => {
76
- this.global.multi_select = true;
77
- this.node.classed("multi-select-enable", true);
78
- });
79
- this.eventManager.addEventListener(EventType.MULTI_SELECT_DISABLE, () => {
80
- this.global.multi_select = false;
81
- this.node.classed("multi-select-enable", false);
82
- });
83
- this.eventManager.addEventListener(EventType.BEST_AVAILABLE_ENABLE, () => {
84
- this.global.best_available = true;
85
- });
86
- this.eventManager.addEventListener(EventType.MBEST_AVAILABLE_DISABLE, () => {
87
- this.global.best_available = false;
88
- });
89
-
90
- // Zoomout button show/hide for zoom level
91
- this.eventManager.addEventListener(EventType.ZOOM_LEVEL_CHANGE, (zoom_level: any) => {
92
- if (zoom_level.level === ZoomLevel.VENUE) {
93
- d3Select(this.config.zoom_out_button).style("display", "none");
94
- } else if (zoom_level.level === ZoomLevel.BLOCK) {
95
- d3Select(this.config.zoom_out_button).style("display", "none");
96
- } else if (zoom_level.level === ZoomLevel.SEAT) {
97
- d3Select(this.config.zoom_out_button).style("display", "block");
98
- }
99
- });
100
-
101
-
102
- d3Select(this.config.zoom_out_button).on("click", () => {
103
- this.zoomManager.zoomToVenue(true);
104
- });
105
-
106
-
107
-
108
- // update block data change trigger
109
- this.eventManager.addEventListener(EventType.ADD_BLOCK, (addedBlocks: Array<BlockModel>) => {
110
- this.svg.stage.blocks.update();
111
- this.windowManager.resizeHandler();
112
- this.zoomManager.calculateZoomLevels(this.data.getBlocks());
113
- this.zoomManager.calculateActiveBlocks(this.data.getBlocks());
114
- this.windowManager.resizeHandler();
115
- this.zoomManager.zoomToVenue(false);
116
- });
117
-
118
- this.eventManager.dispatch(EventType.READY, this);
119
- }
120
- }
121
-
122
- window['SeatMapCanvas'] = SeatMapCanvas;
package/src/lib/config.ts DELETED
@@ -1,11 +0,0 @@
1
- /*
2
- * config.ts
3
- * https://github.com/seatmap/canvas Copyright 2018 Ali Sait TEKE
4
- */
5
-
6
- export class SeatMapConfig {
7
- constructor() {
8
-
9
- }
10
-
11
- }
@@ -1,40 +0,0 @@
1
- /*
2
- * $project.fileName
3
- * https://github.com/seatmap/canvas Copyright 2018 Ali Sait TEKE
4
- */
5
-
6
-
7
- interface DomInterface {
8
- tag?: string,
9
- class?: string,
10
- event_code?: string,
11
- autoGenerate?: boolean
12
- }
13
-
14
- export function dom(values: DomInterface) {
15
- return function (target: any) {
16
- target.prototype['dom_params'] = {};
17
- if (values.tag) {
18
- target.prototype['dom_params']['tag'] = values.tag
19
- }
20
- if (values.class) {
21
- target.prototype['dom_params']['class'] = values.class
22
- }
23
-
24
- if (values.event_code) {
25
- target.prototype['dom_params']['event_code'] = values.event_code
26
- }else{
27
- if (values.class) {
28
- target.prototype['dom_params']['event_code'] = values.class
29
- }
30
-
31
- }
32
-
33
- if (typeof values.autoGenerate !== "undefined") {
34
- target.prototype['dom_params']['autoGenerate'] = values.autoGenerate;
35
- } else {
36
- target.prototype['dom_params']['autoGenerate'] = true;
37
- }
38
-
39
- }
40
- }
@@ -1,6 +0,0 @@
1
- /*
2
- * $project.fileName
3
- * https://github.com/seatmap/canvas Copyright 2018 Ali Sait TEKE
4
- */
5
-
6
- export * from "./dom";
@@ -1,18 +0,0 @@
1
- /*
2
- * $project.fileName
3
- * https://github.com/seatmap/canvas Copyright 2018 Ali Sait TEKE
4
- */
5
-
6
- import {SeatMapCanvas} from "./canvas.index";
7
-
8
- export default class SeatMapDevTools {
9
- constructor(private context: SeatMapCanvas) {
10
- }
11
-
12
- public log(...messages: any[]): this {
13
- console.log(messages);
14
- return this;
15
- }
16
-
17
-
18
- }