@alisaitteke/seatmap-canvas 2.3.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 (194) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/LICENSE +1 -1
  3. package/README.md +15 -5
  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} +4 -25
  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 +9 -13
  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 -106
  130. package/.github/workflows/webpack.yml +0 -22
  131. package/.opencommitignore +0 -2
  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/cjs/index.js +0 -16
  142. package/examples/index.html +0 -171
  143. package/rollup.config.js +0 -56
  144. package/src/lib/canvas.index.ts +0 -121
  145. package/src/lib/config.ts +0 -11
  146. package/src/lib/decorators/dom.ts +0 -40
  147. package/src/lib/decorators/index.ts +0 -6
  148. package/src/lib/dev.tools.ts +0 -18
  149. package/src/lib/models/block.model.ts +0 -65
  150. package/src/lib/models/coordinate.model.ts +0 -26
  151. package/src/lib/models/data.model.ts +0 -125
  152. package/src/lib/models/defaults.model.ts +0 -131
  153. package/src/lib/models/global.model.ts +0 -24
  154. package/src/lib/models/label.model.ts +0 -25
  155. package/src/lib/models/legend.model.ts +0 -24
  156. package/src/lib/models/model.base.ts +0 -15
  157. package/src/lib/models/seat.model.ts +0 -74
  158. package/src/lib/svg/event.manager.ts +0 -48
  159. package/src/lib/svg/legend/legend.circle.ts +0 -28
  160. package/src/lib/svg/legend/legend.item.ts +0 -53
  161. package/src/lib/svg/legend/legend.title.ts +0 -27
  162. package/src/lib/svg/legend.ts +0 -55
  163. package/src/lib/svg/stage/blocks/block-item/block-item.bounds.ts +0 -51
  164. package/src/lib/svg/stage/blocks/block-item/block-item.index.ts +0 -185
  165. package/src/lib/svg/stage/blocks/block-item/block-item.info.index.ts +0 -39
  166. package/src/lib/svg/stage/blocks/block-item/block-item.labels.index.ts +0 -41
  167. package/src/lib/svg/stage/blocks/block-item/block-item.mask.ts +0 -67
  168. package/src/lib/svg/stage/blocks/block-item/block-item.seats.index.ts +0 -81
  169. package/src/lib/svg/stage/blocks/block-item/bound/bound-item.index.ts +0 -43
  170. package/src/lib/svg/stage/blocks/block-item/info/title.ts +0 -30
  171. package/src/lib/svg/stage/blocks/block-item/label/label-item.circle.ts +0 -27
  172. package/src/lib/svg/stage/blocks/block-item/label/label-item.index.ts +0 -46
  173. package/src/lib/svg/stage/blocks/block-item/label/label-item.title.ts +0 -27
  174. package/src/lib/svg/stage/blocks/block-item/seat/seat-item.check.ts +0 -52
  175. package/src/lib/svg/stage/blocks/block-item/seat/seat-item.circle.ts +0 -30
  176. package/src/lib/svg/stage/blocks/block-item/seat/seat-item.index.ts +0 -159
  177. package/src/lib/svg/stage/blocks/block-item/seat/seat-item.title.ts +0 -27
  178. package/src/lib/svg/stage/blocks/blocks.index.ts +0 -71
  179. package/src/lib/svg/stage/blocks.search-circle.ts +0 -86
  180. package/src/lib/svg/stage/multi-select/rect.ts +0 -36
  181. package/src/lib/svg/stage/multi-select.ts +0 -107
  182. package/src/lib/svg/stage/search-circle/circle.ts +0 -37
  183. package/src/lib/svg/stage/stage.index.ts +0 -41
  184. package/src/lib/svg/svg.base.ts +0 -229
  185. package/src/lib/svg/svg.index.ts +0 -76
  186. package/src/lib/svg/tooltip/rect.ts +0 -66
  187. package/src/lib/svg/tooltip/title.ts +0 -48
  188. package/src/lib/svg/tooltip.ts +0 -93
  189. package/src/lib/svg/zoom-out.bg.ts +0 -35
  190. package/src/lib/svg/zoom.manager.ts +0 -448
  191. package/src/lib/window.manager.ts +0 -40
  192. package/src/scss/lib.scss +0 -10
  193. package/src/scss/style.scss +0 -221
  194. package/tsconfig.json +0 -32
@@ -0,0 +1,7 @@
1
+ import SvgBase from "../../svg.base";
2
+ import BlocksSearchCircle from "../blocks.search-circle";
3
+ export default class Circle extends SvgBase {
4
+ parent: BlocksSearchCircle;
5
+ constructor(parent: BlocksSearchCircle);
6
+ update(): this;
7
+ }
@@ -0,0 +1,11 @@
1
+ import Blocks from "./blocks/blocks.index";
2
+ import Svg from "../svg.index";
3
+ import SvgBase from "../svg.base";
4
+ import BlocksSearchCircle from "./blocks.search-circle";
5
+ export default class Stage extends SvgBase {
6
+ parent: Svg;
7
+ blocks: Blocks;
8
+ searchCircle: BlocksSearchCircle;
9
+ constructor(parent: Svg);
10
+ update(): void;
11
+ }
@@ -0,0 +1,35 @@
1
+ import { GlobalModel } from "../models/global.model";
2
+ export default class SvgBase {
3
+ parent: any;
4
+ node: any | null;
5
+ domClass: string | null;
6
+ domTag: string | null;
7
+ eventCode: string | null;
8
+ autoGenerate: boolean;
9
+ tags: Array<string>;
10
+ child_items: Array<any> | any;
11
+ dom_attrs: Array<any>;
12
+ dom_classes: Array<any>;
13
+ child_index: number | null;
14
+ domText: string | null;
15
+ global: GlobalModel;
16
+ constructor(parent: any);
17
+ generateThisDom(): this;
18
+ domGenerate(to: any, index?: number): this;
19
+ attr(name: string, value: string | number): this;
20
+ text(value: string): this;
21
+ addChild(item: any, attrs?: any, replace?: boolean): this;
22
+ classed(className: string, value?: boolean): this;
23
+ clear(): this;
24
+ updateChilds(): this;
25
+ updateEvents(recursive?: boolean): this;
26
+ addEventListener(eventType: string, cb: any): this;
27
+ addTag(tag: string): this;
28
+ hasTag(tag: string): boolean;
29
+ getChilds(type?: string | null): Array<any>;
30
+ getChildCount(): number;
31
+ beforeGenerate(): void;
32
+ afterGenerate(): void;
33
+ addToParent(): this;
34
+ addTo(container: any): this;
35
+ }
@@ -0,0 +1,16 @@
1
+ import Stage from "./stage/stage.index";
2
+ import "reflect-metadata";
3
+ import { SeatMapCanvas } from "../canvas.index";
4
+ import SvgBase from "./svg.base";
5
+ import ZoomOutBg from "./zoom-out.bg";
6
+ import Legend from "./legend";
7
+ import Tooltip from "./tooltip";
8
+ export default class Svg extends SvgBase {
9
+ parent: SeatMapCanvas;
10
+ stage: Stage;
11
+ zoomOutBg: ZoomOutBg;
12
+ legend: Legend;
13
+ tooltip: Tooltip;
14
+ constructor(parent: SeatMapCanvas);
15
+ update(): void;
16
+ }
@@ -0,0 +1,8 @@
1
+ import SvgBase from "../svg.base";
2
+ import Tooltip from "../tooltip";
3
+ export default class TooltipRect extends SvgBase {
4
+ parent: Tooltip;
5
+ constructor(parent: Tooltip);
6
+ update(): this;
7
+ afterGenerate(): void;
8
+ }
@@ -0,0 +1,10 @@
1
+ import SvgBase from "../svg.base";
2
+ import Tooltip from "../tooltip";
3
+ export default class TooltipTitle extends SvgBase {
4
+ parent: Tooltip;
5
+ title: Array<string>;
6
+ constructor(parent: Tooltip);
7
+ update(): this;
8
+ afterGenerate(): void;
9
+ generateTitle(): void;
10
+ }
@@ -0,0 +1,15 @@
1
+ import SvgBase from "./svg.base";
2
+ import TooltipRect from "./tooltip/rect";
3
+ import Svg from "./svg.index";
4
+ import { SeatItem } from "./stage/blocks/block-item/seat/seat-item.index";
5
+ import TooltipTitle from "./tooltip/title";
6
+ export default class Tooltip extends SvgBase {
7
+ parent: Svg;
8
+ rect: TooltipRect;
9
+ title: TooltipTitle;
10
+ activeSeat: SeatItem | null;
11
+ constructor(parent: Svg);
12
+ setTitle(title: Array<string>): this;
13
+ update(): this;
14
+ afterGenerate(): void;
15
+ }
@@ -0,0 +1,7 @@
1
+ import SvgBase from "./svg.base";
2
+ import Svg from "./svg.index";
3
+ export default class ZoomOutBg extends SvgBase {
4
+ parent: Svg;
5
+ constructor(parent: Svg);
6
+ update(): void;
7
+ }
@@ -0,0 +1,41 @@
1
+ import { SeatMapCanvas } from "../canvas.index";
2
+ import { ZoomLevel } from "../enums/global";
3
+ import BlockModel from "../models/block.model";
4
+ export interface ZoomLevelObject {
5
+ level: string;
6
+ values: {
7
+ x: number;
8
+ y: number;
9
+ k: number;
10
+ };
11
+ }
12
+ export default class ZoomManager {
13
+ private _self;
14
+ zoomTypes: any;
15
+ scale: any;
16
+ private zoomLevels;
17
+ activeBlocks: Array<any>;
18
+ minZoom: number | null;
19
+ zoomLevel: ZoomLevel;
20
+ constructor(_self: SeatMapCanvas);
21
+ init(): void;
22
+ zoomInit(): void;
23
+ zoomEnd(_self: this): any;
24
+ animatedZoomEnd(_self: this): any;
25
+ animatedFastZoomEnd(_self: this): any;
26
+ zoomHand(_self: this): any;
27
+ zoomHandAnimated(_self: this): any;
28
+ zoomHandFastAnimated(_self: this): any;
29
+ calculateZoomLevel(k: number): void;
30
+ canvasScopeHandler(): void;
31
+ calculateZoomLevels(blocks?: Array<BlockModel>): this;
32
+ calculateActiveBlocks(blocks?: Array<BlockModel>): Array<BlockModel>;
33
+ zoomToSelection(animation?: boolean): void;
34
+ zoomToBlock(id: string | number, animation?: boolean, fastAnimated?: boolean): void;
35
+ zoomToVenue(animation?: boolean, fastAnimated?: boolean): void;
36
+ zoomEnable(): this;
37
+ zoomDisable(): this;
38
+ getZoomLevelValues(level: ZoomLevel): any;
39
+ getActiveZoom(): any;
40
+ private dispatchZoomEvent;
41
+ }
@@ -0,0 +1,9 @@
1
+ import { SeatMapCanvas } from "./canvas.index";
2
+ export default class WindowManager {
3
+ parent: SeatMapCanvas;
4
+ width: number | null;
5
+ height: number | null;
6
+ stage: any;
7
+ constructor(parent: SeatMapCanvas);
8
+ resizeHandler(): this;
9
+ }
@@ -0,0 +1,533 @@
1
+ declare class SeatStyle {
2
+ radius: number;
3
+ color: string;
4
+ not_salable: string;
5
+ selected: string;
6
+ hover: string;
7
+ focus: string;
8
+ focus_out: string;
9
+ check_color: string;
10
+ check_icon: string;
11
+ check_icon_color: string;
12
+ }
13
+
14
+ declare class BLockStyle {
15
+ fill: string;
16
+ stroke: string;
17
+ border_width: number;
18
+ title_color: string;
19
+ title_font_size: number;
20
+ }
21
+
22
+ declare class LegendStyle {
23
+ radius: number;
24
+ padding: number;
25
+ font_size: number;
26
+ font_color: string;
27
+ }
28
+
29
+ declare class LabelStyle {
30
+ color: string;
31
+ bg: string;
32
+ font_size: number;
33
+ radius: number;
34
+ }
35
+
36
+ declare class TooltipStyle {
37
+ border_width: number;
38
+ width: number;
39
+ height: number;
40
+ color: string;
41
+ bg: string;
42
+ }
43
+
44
+ declare class StyleConfig {
45
+ seat: SeatStyle;
46
+ block: BLockStyle;
47
+ legend: LegendStyle;
48
+ label: LabelStyle;
49
+ tooltip: TooltipStyle;
50
+ }
51
+ declare class DefaultsModel {
52
+ min_zoom: number;
53
+ max_zoom: number;
54
+ animation_speed: number;
55
+ resizable: boolean;
56
+ container: any;
57
+ zoom_focus_circle_radius: number;
58
+ click_enable_sold_seats: boolean;
59
+ zoom_out_button: string;
60
+ legend: boolean;
61
+ canvas_stageout_control: boolean;
62
+ style: StyleConfig;
63
+ lang: {
64
+ selectable: string;
65
+ non_selectable: string;
66
+ your_selection: string;
67
+ };
68
+ constructor(config: any);
69
+ getAll(): this;
70
+ }
71
+
72
+ declare class ModelBase {
73
+ child_index: number | null;
74
+ item_type: string | null;
75
+ constructor();
76
+ }
77
+
78
+ declare class Seats extends SvgBase {
79
+ parent: Block;
80
+ item: BlockModel;
81
+ constructor(parent: Block, item: BlockModel);
82
+ update(): this;
83
+ getSeat(id: any): SeatItem;
84
+ getSeats(): Array<SeatItem>;
85
+ getSeatsCount(): number;
86
+ getSeatByIndex(index: number): SeatItem;
87
+ resetSeatsColors(animation?: boolean): void;
88
+ }
89
+
90
+ declare class SeatItemCircle extends SvgBase {
91
+ parent: SeatItem;
92
+ constructor(parent: SeatItem);
93
+ update(): this;
94
+ }
95
+
96
+ declare class CoordinateModel {
97
+ private x;
98
+ private y;
99
+ constructor(item?: any);
100
+ toArray(): number[];
101
+ toJson(): {};
102
+ }
103
+
104
+ declare class SeatItemTitle extends SvgBase {
105
+ parent: SeatItem;
106
+ constructor(parent: SeatItem);
107
+ update(): this;
108
+ }
109
+
110
+ declare enum ZoomLevel {
111
+ VENUE = "VENUE",
112
+ BLOCK = "BLOCK",
113
+ SEAT = "SEAT"
114
+ }
115
+ declare enum SeatAction {
116
+ HOVER = "hover",
117
+ FOCUS = "focus",
118
+ LEAVE = "leave",
119
+ SELECT = "select",
120
+ NORMAL = "normal"
121
+ }
122
+
123
+ declare class SeatItemCheck extends SvgBase {
124
+ parent: SeatItem;
125
+ constructor(parent: SeatItem);
126
+ update(): this;
127
+ afterGenerate(): void;
128
+ show(): this;
129
+ hide(): this;
130
+ }
131
+
132
+ declare class SeatItem extends SvgBase {
133
+ parent: Seats;
134
+ item: SeatModel;
135
+ circle: SeatItemCircle;
136
+ title: SeatItemTitle;
137
+ coordinates: CoordinateModel;
138
+ check: SeatItemCheck;
139
+ constructor(parent: Seats, item: SeatModel);
140
+ setColor(color: string, animation?: boolean): this;
141
+ updateColor(color?: string | null): this;
142
+ select(color?: string | null): this;
143
+ unSelect(): this;
144
+ isSelected(): Boolean;
145
+ isSalable(): Boolean;
146
+ hover(): void;
147
+ blur(): void;
148
+ getColor(action?: SeatAction | null): string;
149
+ update(): this;
150
+ afterGenerate(): void;
151
+ }
152
+
153
+ declare class SeatModel extends ModelBase {
154
+ id: any;
155
+ x: number;
156
+ y: number;
157
+ title?: string;
158
+ selected: boolean;
159
+ color: string;
160
+ block: BlockModel;
161
+ salable: boolean;
162
+ note?: string;
163
+ tags: Array<string>;
164
+ tag_index: any;
165
+ custom_data?: any;
166
+ svg: SeatItem | null;
167
+ icon?: string | null;
168
+ constructor(item: any);
169
+ selectedToggle(): boolean;
170
+ addTag(tag: string): void;
171
+ removeTags(tag: string): void;
172
+ toJson(): {
173
+ id: any;
174
+ x: number;
175
+ y: number;
176
+ salable: boolean;
177
+ note: string | undefined;
178
+ color: string;
179
+ block: {
180
+ id: string;
181
+ title: String;
182
+ x: number;
183
+ y: number;
184
+ color: string;
185
+ width: number;
186
+ height: number;
187
+ };
188
+ };
189
+ }
190
+
191
+ declare class LabelModel extends ModelBase {
192
+ x: number;
193
+ y: number;
194
+ title: string;
195
+ block: BlockModel;
196
+ constructor(item: any);
197
+ }
198
+
199
+ declare class BlockModel extends ModelBase {
200
+ id: string;
201
+ seats: Array<SeatModel>;
202
+ labels: Array<LabelModel>;
203
+ title: String;
204
+ bounds: any;
205
+ width: number;
206
+ height: number;
207
+ x: number;
208
+ y: number;
209
+ color: string;
210
+ border_color: string;
211
+ bbox: any;
212
+ zoom_bbox: any;
213
+ rotate: number;
214
+ constructor(item: any);
215
+ toJson(): {
216
+ id: string;
217
+ title: String;
218
+ x: number;
219
+ y: number;
220
+ color: string;
221
+ width: number;
222
+ height: number;
223
+ };
224
+ }
225
+
226
+ interface BlockQuery {
227
+ id?: number | string;
228
+ }
229
+ declare class DataModel {
230
+ private _self;
231
+ blocks: Array<BlockModel>;
232
+ private eventManager;
233
+ addEventListener: any;
234
+ constructor(_self: SeatMapCanvas);
235
+ addBlock(block_data: any): this;
236
+ addBulkBlock(block_data: Array<BlockModel>): this;
237
+ replaceData(block_data: Array<any>): this;
238
+ getBlock(id: string | number): BlockModel | null;
239
+ getBlocks(blockId?: string): Array<BlockModel>;
240
+ removeBlock(id: string | number): this;
241
+ getSeat(seatId: string | number, blockId: string | number): SeatModel | null;
242
+ getSelectedSeats(blockId?: string): Array<SeatModel>;
243
+ filterBlock(query: BlockQuery): Array<BlockModel>;
244
+ toJson(): {
245
+ blocks: BlockModel[];
246
+ };
247
+ }
248
+
249
+ declare class ZoomManager {
250
+ private _self;
251
+ zoomTypes: any;
252
+ scale: any;
253
+ private zoomLevels;
254
+ activeBlocks: Array<any>;
255
+ minZoom: number | null;
256
+ zoomLevel: ZoomLevel;
257
+ constructor(_self: SeatMapCanvas);
258
+ init(): void;
259
+ zoomInit(): void;
260
+ zoomEnd(_self: this): any;
261
+ animatedZoomEnd(_self: this): any;
262
+ animatedFastZoomEnd(_self: this): any;
263
+ zoomHand(_self: this): any;
264
+ zoomHandAnimated(_self: this): any;
265
+ zoomHandFastAnimated(_self: this): any;
266
+ calculateZoomLevel(k: number): void;
267
+ canvasScopeHandler(): void;
268
+ calculateZoomLevels(blocks?: Array<BlockModel>): this;
269
+ calculateActiveBlocks(blocks?: Array<BlockModel>): Array<BlockModel>;
270
+ zoomToSelection(animation?: boolean): void;
271
+ zoomToBlock(id: string | number, animation?: boolean, fastAnimated?: boolean): void;
272
+ zoomToVenue(animation?: boolean, fastAnimated?: boolean): void;
273
+ zoomEnable(): this;
274
+ zoomDisable(): this;
275
+ getZoomLevelValues(level: ZoomLevel): any;
276
+ getActiveZoom(): any;
277
+ private dispatchZoomEvent;
278
+ }
279
+
280
+ interface EventObject {
281
+ type: string;
282
+ fn: any;
283
+ }
284
+ declare class EventManager {
285
+ private _self;
286
+ events: Array<EventObject>;
287
+ constructor(_self: SeatMapCanvas);
288
+ addEventListener(type: string | any, fn: any): this;
289
+ dispatch(type: string, data: any): this;
290
+ }
291
+
292
+ declare class WindowManager {
293
+ parent: SeatMapCanvas;
294
+ width: number | null;
295
+ height: number | null;
296
+ stage: any;
297
+ constructor(parent: SeatMapCanvas);
298
+ resizeHandler(): this;
299
+ }
300
+
301
+ interface GlobalModel {
302
+ config: DefaultsModel;
303
+ eventManager: EventManager;
304
+ windowManager: WindowManager;
305
+ data: DataModel;
306
+ root: SeatMapCanvas;
307
+ zoomManager: ZoomManager;
308
+ svg: Svg;
309
+ multi_select: boolean;
310
+ best_available: boolean;
311
+ }
312
+
313
+ declare class SvgBase {
314
+ parent: any;
315
+ node: any | null;
316
+ domClass: string | null;
317
+ domTag: string | null;
318
+ eventCode: string | null;
319
+ autoGenerate: boolean;
320
+ tags: Array<string>;
321
+ child_items: Array<any> | any;
322
+ dom_attrs: Array<any>;
323
+ dom_classes: Array<any>;
324
+ child_index: number | null;
325
+ domText: string | null;
326
+ global: GlobalModel;
327
+ constructor(parent: any);
328
+ generateThisDom(): this;
329
+ domGenerate(to: any, index?: number): this;
330
+ attr(name: string, value: string | number): this;
331
+ text(value: string): this;
332
+ addChild(item: any, attrs?: any, replace?: boolean): this;
333
+ classed(className: string, value?: boolean): this;
334
+ clear(): this;
335
+ updateChilds(): this;
336
+ updateEvents(recursive?: boolean): this;
337
+ addEventListener(eventType: string, cb: any): this;
338
+ addTag(tag: string): this;
339
+ hasTag(tag: string): boolean;
340
+ getChilds(type?: string | null): Array<any>;
341
+ getChildCount(): number;
342
+ beforeGenerate(): void;
343
+ afterGenerate(): void;
344
+ addToParent(): this;
345
+ addTo(container: any): this;
346
+ }
347
+
348
+ declare class BlockTitle extends SvgBase {
349
+ parent: BlockInfo;
350
+ constructor(parent: BlockInfo);
351
+ update(): this;
352
+ }
353
+
354
+ declare class BlockInfo extends SvgBase {
355
+ parent: Block;
356
+ item: BlockModel;
357
+ title: BlockTitle;
358
+ constructor(parent: Block, item: BlockModel);
359
+ update(): this;
360
+ }
361
+
362
+ declare class BlockMask extends SvgBase {
363
+ parent: Block;
364
+ item: BlockModel;
365
+ blockLevelMask: BoundItem;
366
+ seatLevelMask: BoundItem;
367
+ constructor(parent: Block, item: BlockModel);
368
+ update(): this;
369
+ }
370
+
371
+ declare class BoundItem extends SvgBase {
372
+ parent: BlockBounds | BlockMask;
373
+ item: BlockModel;
374
+ constructor(parent: BlockBounds | BlockMask, item: BlockModel);
375
+ show(): void;
376
+ hide(): void;
377
+ update(): this;
378
+ }
379
+
380
+ declare class BlockBounds extends SvgBase {
381
+ parent: Block;
382
+ item: BlockModel;
383
+ bound1: BoundItem;
384
+ bound2: BoundItem;
385
+ constructor(parent: Block, item: BlockModel);
386
+ update(): this;
387
+ }
388
+
389
+ declare class LabelItemCircle extends SvgBase {
390
+ parent: LabelItem;
391
+ constructor(parent: LabelItem);
392
+ update(): this;
393
+ }
394
+
395
+ declare class LabelItem extends SvgBase {
396
+ parent: Labels;
397
+ item: LabelModel;
398
+ circle: LabelItemCircle;
399
+ coordinates: CoordinateModel;
400
+ constructor(parent: Labels, item: LabelModel);
401
+ update(): this;
402
+ }
403
+
404
+ declare class Labels extends SvgBase {
405
+ parent: Block;
406
+ item: BlockModel;
407
+ constructor(parent: Block, item: BlockModel);
408
+ update(): this;
409
+ getLabels(): Array<LabelItem>;
410
+ }
411
+
412
+ declare class Block extends SvgBase {
413
+ parent: Blocks;
414
+ item: BlockModel;
415
+ seats: Seats;
416
+ labels: Labels;
417
+ info: BlockInfo;
418
+ mask: BlockMask;
419
+ bounds: BlockBounds;
420
+ center_position: any;
421
+ top_position: any;
422
+ constructor(parent: Blocks, item: BlockModel);
423
+ update(): this;
424
+ infosToTop(): void;
425
+ infosToCenter(): void;
426
+ }
427
+
428
+ declare class Blocks extends SvgBase {
429
+ parent: Stage;
430
+ seats: Array<SeatItem>;
431
+ constructor(parent: Stage);
432
+ update(): this;
433
+ getBlock(id: any): Block | null;
434
+ getBlocks(): Array<Block>;
435
+ center(): void;
436
+ }
437
+
438
+ declare class Circle extends SvgBase {
439
+ parent: BlocksSearchCircle;
440
+ constructor(parent: BlocksSearchCircle);
441
+ update(): this;
442
+ }
443
+
444
+ declare class BlocksSearchCircle extends SvgBase {
445
+ parent: Stage;
446
+ circle: Circle;
447
+ is_enable: boolean;
448
+ constructor(parent: Stage);
449
+ update(): this;
450
+ enable(): this;
451
+ disable(): this;
452
+ }
453
+
454
+ declare class Stage extends SvgBase {
455
+ parent: Svg;
456
+ blocks: Blocks;
457
+ searchCircle: BlocksSearchCircle;
458
+ constructor(parent: Svg);
459
+ update(): void;
460
+ }
461
+
462
+ declare class ZoomOutBg extends SvgBase {
463
+ parent: Svg;
464
+ constructor(parent: Svg);
465
+ update(): void;
466
+ }
467
+
468
+ declare class Legend extends SvgBase {
469
+ parent: Svg;
470
+ constructor(parent: Svg);
471
+ update(): void;
472
+ afterGenerate(): void;
473
+ }
474
+
475
+ declare class TooltipRect extends SvgBase {
476
+ parent: Tooltip;
477
+ constructor(parent: Tooltip);
478
+ update(): this;
479
+ afterGenerate(): void;
480
+ }
481
+
482
+ declare class TooltipTitle extends SvgBase {
483
+ parent: Tooltip;
484
+ title: Array<string>;
485
+ constructor(parent: Tooltip);
486
+ update(): this;
487
+ afterGenerate(): void;
488
+ generateTitle(): void;
489
+ }
490
+
491
+ declare class Tooltip extends SvgBase {
492
+ parent: Svg;
493
+ rect: TooltipRect;
494
+ title: TooltipTitle;
495
+ activeSeat: SeatItem | null;
496
+ constructor(parent: Svg);
497
+ setTitle(title: Array<string>): this;
498
+ update(): this;
499
+ afterGenerate(): void;
500
+ }
501
+
502
+ declare class Svg extends SvgBase {
503
+ parent: SeatMapCanvas;
504
+ stage: Stage;
505
+ zoomOutBg: ZoomOutBg;
506
+ legend: Legend;
507
+ tooltip: Tooltip;
508
+ constructor(parent: SeatMapCanvas);
509
+ update(): void;
510
+ }
511
+
512
+ declare class SeatMapDevTools {
513
+ private context;
514
+ constructor(context: SeatMapCanvas);
515
+ log(...messages: any[]): this;
516
+ }
517
+
518
+ declare class SeatMapCanvas {
519
+ container_selector: any;
520
+ node: any;
521
+ svg: Svg;
522
+ dev: SeatMapDevTools;
523
+ data: DataModel;
524
+ config: DefaultsModel;
525
+ global: GlobalModel;
526
+ windowManager: WindowManager;
527
+ zoomManager: ZoomManager;
528
+ eventManager: EventManager;
529
+ addEventListener: any;
530
+ constructor(container_selector: any, _config: DefaultsModel);
531
+ }
532
+
533
+ export { SeatMapCanvas };