@latest-thinking/lt-player 1.2.0 → 2.0.0-b

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 (205) hide show
  1. package/.editorconfig +1 -1
  2. package/.node-version +1 -0
  3. package/.nvmrc +1 -0
  4. package/README.md +163 -0
  5. package/dist/main.js +29712 -0
  6. package/package.json +32 -67
  7. package/tsconfig.json +2 -1
  8. package/vite-dev.config.mts +35 -0
  9. package/vite.config.mts +40 -0
  10. package/ README.md +0 -270
  11. package/.babelrc +0 -11
  12. package/.eslintrc.js +0 -6
  13. package/dist/css/lt-player-main.css +0 -3
  14. package/dist/css/lt-player-main.css.map +0 -1
  15. package/dist/fonts/0574e80a2483be7b033e.otf +0 -0
  16. package/dist/fonts/34274fbfb2f270b8d53b.otf +0 -0
  17. package/dist/fonts/80acced0ba3630ee652b.otf +0 -0
  18. package/dist/fonts/8ccea4947561e7008d19.otf +0 -0
  19. package/dist/fonts/d355445ed7d61b887e58.otf +0 -0
  20. package/dist/js/lt-player-main.js +0 -3
  21. package/dist/js/lt-player-main.js.LICENSE.txt +0 -9
  22. package/dist/js/lt-player-main.js.map +0 -1
  23. package/examples/basic.html +0 -35
  24. package/examples/lt-page-with-player.html +0 -3529
  25. package/examples/lt-page-with-player_files/Weiskopf_Coverphoto.jpg +0 -0
  26. package/examples/lt-page-with-player_files/ajax-progress.module.css +0 -49
  27. package/examples/lt-page-with-player_files/align.module.css +0 -32
  28. package/examples/lt-page-with-player_files/announce.js +0 -49
  29. package/examples/lt-page-with-player_files/autocomplete-loading.module.css +0 -22
  30. package/examples/lt-page-with-player_files/autocomplete.css +0 -16
  31. package/examples/lt-page-with-player_files/bootstrap.css +0 -22691
  32. package/examples/lt-page-with-player_files/clearfix.module.css +0 -15
  33. package/examples/lt-page-with-player_files/container-inline.module.css +0 -16
  34. package/examples/lt-page-with-player_files/cookiesjsr.min.css +0 -10
  35. package/examples/lt-page-with-player_files/core.css +0 -97
  36. package/examples/lt-page-with-player_files/details.module.css +0 -10
  37. package/examples/lt-page-with-player_files/fieldgroup.module.css +0 -9
  38. package/examples/lt-page-with-player_files/hidden.module.css +0 -53
  39. package/examples/lt-page-with-player_files/himme-alexander-beyond_0.jpg +0 -0
  40. package/examples/lt-page-with-player_files/item-list.module.css +0 -19
  41. package/examples/lt-page-with-player_files/js.module.css +0 -22
  42. package/examples/lt-page-with-player_files/latest_thinking.style.css +0 -6496
  43. package/examples/lt-page-with-player_files/logo-small.png +0 -0
  44. package/examples/lt-page-with-player_files/menu.css +0 -64
  45. package/examples/lt-page-with-player_files/nowrap.module.css +0 -8
  46. package/examples/lt-page-with-player_files/paragraphs.unpublished.css +0 -3
  47. package/examples/lt-page-with-player_files/position-container.module.css +0 -8
  48. package/examples/lt-page-with-player_files/progress.module.css +0 -51
  49. package/examples/lt-page-with-player_files/radix.style.css +0 -1
  50. package/examples/lt-page-with-player_files/reset-appearance.module.css +0 -15
  51. package/examples/lt-page-with-player_files/resize.module.css +0 -21
  52. package/examples/lt-page-with-player_files/search_api_autocomplete.css +0 -41
  53. package/examples/lt-page-with-player_files/sticky-header.module.css +0 -13
  54. package/examples/lt-page-with-player_files/system-status-counter.css +0 -30
  55. package/examples/lt-page-with-player_files/system-status-report-counters.css +0 -27
  56. package/examples/lt-page-with-player_files/system-status-report-general-info.css +0 -14
  57. package/examples/lt-page-with-player_files/tabledrag.module.css +0 -98
  58. package/examples/lt-page-with-player_files/tablesort.module.css +0 -19
  59. package/examples/lt-page-with-player_files/theme.css +0 -446
  60. package/examples/lt-page-with-player_files/thumbnail_MPI_CBS_Eingangsbereich.jpg +0 -0
  61. package/examples/lt-page-with-player_files/tree-child.module.css +0 -18
  62. package/examples/lt-page-with-player_files/widget-min.js +0 -10
  63. package/examples/lt-website.html +0 -76
  64. package/examples/portrait-with-subtitles.html +0 -81
  65. package/examples/samples/vtt/Pahl-Kerstin-Maria-MAIN-20230320.vtt +0 -765
  66. package/examples/samples/vtt/Sobolev-Anton-Subtitles-20230518_0.vtt +0 -352
  67. package/examples/samples/vtt/demo.vtt +0 -7
  68. package/src/assets/css/sample.css +0 -12
  69. package/src/assets/fonts/museo/MuseoSans-100.otf +0 -0
  70. package/src/assets/fonts/museo/MuseoSans-300.otf +0 -0
  71. package/src/assets/fonts/museo/MuseoSans-500.otf +0 -0
  72. package/src/assets/fonts/museo/MuseoSans-700.otf +0 -0
  73. package/src/assets/fonts/museo/MuseoSans-900.otf +0 -0
  74. package/src/assets/icons/arrow-down.svg +0 -8
  75. package/src/assets/icons/arrow-left.svg +0 -8
  76. package/src/assets/icons/chevron-down-full.svg +0 -7
  77. package/src/assets/icons/chevron-down.svg +0 -7
  78. package/src/assets/icons/chevron-up-full.svg +0 -7
  79. package/src/assets/icons/chevron-up.svg +0 -7
  80. package/src/assets/icons/close.svg +0 -8
  81. package/src/assets/icons/compass.svg +0 -8
  82. package/src/assets/icons/external-link.svg +0 -9
  83. package/src/assets/icons/facebook.svg +0 -7
  84. package/src/assets/icons/fast-backward.svg +0 -8
  85. package/src/assets/icons/fast-forward.svg +0 -8
  86. package/src/assets/icons/file-text.svg +0 -11
  87. package/src/assets/icons/home.svg +0 -8
  88. package/src/assets/icons/logo-big.png +0 -0
  89. package/src/assets/icons/logo.png +0 -0
  90. package/src/assets/icons/maximize.svg +0 -7
  91. package/src/assets/icons/mini-player.svg +0 -8
  92. package/src/assets/icons/minimize.svg +0 -7
  93. package/src/assets/icons/more-vertical.svg +0 -9
  94. package/src/assets/icons/mute.svg +0 -9
  95. package/src/assets/icons/pause.svg +0 -8
  96. package/src/assets/icons/play.svg +0 -8
  97. package/src/assets/icons/search.svg +0 -8
  98. package/src/assets/icons/settings.svg +0 -8
  99. package/src/assets/icons/share.svg +0 -11
  100. package/src/assets/icons/skip-backward.svg +0 -8
  101. package/src/assets/icons/skip-forward.svg +0 -8
  102. package/src/assets/icons/speed-1-5.svg +0 -7
  103. package/src/assets/icons/speed-1.svg +0 -7
  104. package/src/assets/icons/speed-2.svg +0 -7
  105. package/src/assets/icons/subtitles.svg +0 -7
  106. package/src/assets/icons/twitter.svg +0 -7
  107. package/src/assets/icons/university.svg +0 -9
  108. package/src/assets/icons/user.svg +0 -8
  109. package/src/assets/icons/volume-1.svg +0 -15
  110. package/src/assets/icons/volume-2.svg +0 -15
  111. package/src/assets/icons/volume-3.svg +0 -15
  112. package/src/assets/sass/abstracts/_mixins.scss +0 -145
  113. package/src/assets/sass/abstracts/_placeholders.scss +0 -112
  114. package/src/assets/sass/abstracts/_variables.scss +0 -68
  115. package/src/assets/sass/abstracts/all.scss +0 -4
  116. package/src/assets/sass/app.scss +0 -99
  117. package/src/assets/sass/components/_all.scss +0 -6
  118. package/src/assets/sass/components/_buttons.scss +0 -1
  119. package/src/assets/sass/components/_images.scss +0 -4
  120. package/src/assets/sass/components/_loader.scss +0 -187
  121. package/src/assets/sass/components/_modal.scss +0 -365
  122. package/src/assets/sass/components/_range.scss +0 -33
  123. package/src/assets/sass/core/_all.scss +0 -13
  124. package/src/assets/sass/core/_fonts.scss +0 -55
  125. package/src/assets/sass/core/_player.scss +0 -71
  126. package/src/assets/sass/core/_typography.scss +0 -13
  127. package/src/assets/sass/layout/_all.scss +0 -3
  128. package/src/assets/sass/layout/_grid.scss +0 -0
  129. package/src/assets/sass/sections/_additional-info.scss +0 -90
  130. package/src/assets/sass/sections/_all.scss +0 -6
  131. package/src/assets/sass/sections/_control.scss +0 -122
  132. package/src/assets/sass/sections/_poster.scss +0 -319
  133. package/src/assets/sass/sections/_settings.scss +0 -504
  134. package/src/assets/sass/sections/_share.scss +0 -250
  135. package/src/assets/sass/sections/_subtitles.scss +0 -85
  136. package/src/assets/sass/sections/controllers/_all.scss +0 -4
  137. package/src/assets/sass/sections/controllers/_botom.scss +0 -522
  138. package/src/assets/sass/sections/controllers/_mini-player.scss +0 -169
  139. package/src/assets/sass/sections/controllers/_notification-rewind-forward.scss +0 -260
  140. package/src/assets/sass/sections/controllers/_top.scss +0 -169
  141. package/src/components/LTPlayerDevMethode.ts +0 -192
  142. package/src/components/LTPlayerEventsManager.ts +0 -31
  143. package/src/components/LTPlayerHls.ts +0 -38
  144. package/src/components/LTPlayerManager.ts +0 -266
  145. package/src/components/LTPlayerSettingsManager.ts +0 -117
  146. package/src/components/LTPlayerSetup.ts +0 -286
  147. package/src/components/LTPlayerStatusFeedback.ts +0 -76
  148. package/src/components/LTPlayerStorage.ts +0 -58
  149. package/src/components/LTPlayerType.ts +0 -371
  150. package/src/components/LTPlayerUpdate.ts +0 -61
  151. package/src/components/addInfo/LTPLayerAddInfoResizeManager.ts +0 -15
  152. package/src/components/addInfo/LTPlayerAddInfoDesktop.ts +0 -127
  153. package/src/components/addInfo/LTPlayerAddInfoManager.ts +0 -230
  154. package/src/components/addInfo/LTPlayerAddInfoMobile.ts +0 -113
  155. package/src/components/captions/LTPlayerCaptions.ts +0 -80
  156. package/src/components/config/LTPlayerConfig.ts +0 -280
  157. package/src/components/config/LTPlayerConfigProcessor.ts +0 -604
  158. package/src/components/controls/LTPlayerChapters.ts +0 -285
  159. package/src/components/controls/LTPlayerControls.ts +0 -57
  160. package/src/components/controls/LTPlayerControlsEvents.ts +0 -946
  161. package/src/components/controls/LTPlayerMini.ts +0 -285
  162. package/src/components/controls/LTPlayerSettingsControlsManager.ts +0 -60
  163. package/src/components/controls/settings/LTPlayerCommonSettingsControllers.ts +0 -71
  164. package/src/components/controls/settings/LTPlayerDesktopSettingsControllers.ts +0 -135
  165. package/src/components/controls/settings/LTPlayerMobileSettingsControllers.ts +0 -211
  166. package/src/components/events/LTPlayer.ts +0 -194
  167. package/src/components/events/LTPlayerCommon.ts +0 -252
  168. package/src/components/events/LTPlayerDesktop.ts +0 -222
  169. package/src/components/events/LTPlayerMobile.ts +0 -243
  170. package/src/components/poster/LTPlayerPoster.ts +0 -78
  171. package/src/components/poster/LTPlayerPosterEvents.ts +0 -172
  172. package/src/components/poster/LTPlayerPosterManager.ts +0 -46
  173. package/src/components/poster/LTPlayerPosterPreload.ts +0 -51
  174. package/src/components/poster/LTPlayerPosterPreloadEvents.ts +0 -152
  175. package/src/components/share/LTPlayerShareDesktop.ts +0 -131
  176. package/src/components/share/LTPlayerShareEvents.ts +0 -64
  177. package/src/components/share/LTPlayerShareManager.ts +0 -58
  178. package/src/components/share/LTPlayerShareMobile.ts +0 -154
  179. package/src/components/video/LTPlayerVideo.ts +0 -49
  180. package/src/global/controllers/LTPlayerController.ts +0 -58
  181. package/src/global/interfaces/EventsInterfaces.ts +0 -11
  182. package/src/global/interfaces/SettingsControlsInterfaces.ts +0 -3
  183. package/src/global/interfaces/TypeInterface.ts +0 -9
  184. package/src/global/types/ModuleTypes.d.ts +0 -35
  185. package/src/global/types/ModuleViews.d.ts +0 -13
  186. package/src/global/types/ModuleWindow.d.ts +0 -12
  187. package/src/global/types/Modules.d.ts +0 -44
  188. package/src/index.ts +0 -10
  189. package/src/json-schema/player-config.json +0 -16
  190. package/src/services/Helper.ts +0 -147
  191. package/src/services/IconsService.ts +0 -124
  192. package/src/services/LTPlayerRotateDeviceService.ts +0 -15
  193. package/src/services/LoaderService.ts +0 -21
  194. package/src/services/ResizeService.ts +0 -352
  195. package/src/services/TemplateService.ts +0 -136
  196. package/src/services/ValidatorService.ts +0 -31
  197. package/src/views/additionalInfo.handlebars +0 -103
  198. package/src/views/background.handlebars +0 -5
  199. package/src/views/controls.handlebars +0 -390
  200. package/src/views/onloadPoster.handlebars +0 -1
  201. package/src/views/poster.handlebars +0 -69
  202. package/src/views/settings.handlebars +0 -31
  203. package/src/views/settings.mobile.handlebars +0 -22
  204. package/src/views/share.handlebars +0 -101
  205. package/src/views/template.handlebars +0 -15
@@ -1,285 +0,0 @@
1
- import Plyr, {PlyrEvent} from "plyr";
2
- import {defaultType, plyr} from "../../global/types/ModuleTypes";
3
- import {LTPlayer} from "../LTPlayerType";
4
-
5
- export class LTPlayerChapters {
6
- /**
7
- * Player instance
8
- * @private
9
- */
10
- player: LTPlayer.PortraitType | LTPlayer.LandscapeType
11
- /**
12
- * LTPlayerChapters array list
13
- * @private
14
- */
15
- chapters: Array<any>
16
-
17
- /**
18
- * The first Element from chapters array
19
- * @private
20
- */
21
- firstChapter: defaultType
22
- /**
23
- * The last Element from chapters array
24
- * @private
25
- */
26
- lastChapter: defaultType;
27
-
28
- /**
29
- * Player instance current time
30
- * @private
31
- */
32
- currentTime: number
33
-
34
- /**
35
- * Set chapters events and functionality
36
- * @param chapters
37
- */
38
- constructor(chapters: Array<any>) {
39
- this.chapters = chapters;
40
- this.setupInitChapter();
41
- }
42
-
43
- setupInitChapter() {
44
- if (this.chapters.length !== 0) {
45
- this.lastChapter = this.chapters[this.chapters.length - 1];
46
- this.firstChapter = this.chapters[0];
47
- }
48
- }
49
-
50
- /**
51
- * Init chapters setup
52
- */
53
- updateCurrentTimeAndTitle(instance: LTPlayer.PortraitType | LTPlayer.LandscapeType, event: PlyrEvent) {
54
-
55
- this.player = instance;
56
-
57
- const eventPlayer = event.detail.plyr as plyr
58
-
59
- if (eventPlayer.id !== (instance.plyr as plyr).id) {
60
- return;
61
- }
62
-
63
- instance.playerControl.chaptersService.currentTime = eventPlayer.currentTime;
64
-
65
- if (instance.plyr.paused) {
66
- instance.playerControl.chaptersService.currentTime += 0.1;
67
- }
68
-
69
- let chapters = instance.playerControl.chaptersService.findChapter(instance.playerControl.chaptersService.currentTime, instance.playerControl.chaptersService.chapters)
70
-
71
- if (chapters !== undefined) {
72
- instance.playerControl.chaptersService.setChapterPreviousNext(chapters[2], chapters[0]);
73
- // instance.playerControl.chaptersService.setTitleChapterName(chapters[1]);
74
- instance.playerControl.chaptersService.setButtonsChapterTime(chapters[0], chapters[2])
75
- }
76
- }
77
-
78
- /**
79
- * Set skip-backward and skip-forward event
80
- */
81
- setButtonsEvents(instance: LTPlayer.PortraitType | LTPlayer.LandscapeType) {
82
-
83
- this.player = instance;
84
- let player = instance.plyr;
85
- let playerControlsContainer = instance.plyr.elements.controls;
86
-
87
- const leftButton: HTMLElement = playerControlsContainer.querySelector('.skip-backward');
88
- const rightButton: HTMLElement = playerControlsContainer.querySelector('.skip-forward');
89
-
90
- leftButton.addEventListener('click', function (event) {
91
- event.preventDefault();
92
- if (leftButton.dataset.ltPlayerChaptertimestamp === "false") {
93
- return;
94
- }
95
- if (leftButton.dataset.ltPlayerChaptertimestamp) {
96
- player.currentTime = parseFloat(leftButton.dataset.ltPlayerChaptertimestamp) + 0.1;
97
- }
98
- })
99
-
100
- rightButton.addEventListener('click', function (event) {
101
-
102
- event.preventDefault();
103
-
104
- if (instance.playerControl.chaptersService.currentTime > instance.playerControl.chaptersService.lastChapter.timestamp) {
105
-
106
- player.stop();
107
- const playerContainer = player.elements.container;
108
-
109
- const customPoster = playerContainer.querySelector('.lt-player__poster');
110
- const controls = playerContainer.querySelector('.plyr__controls');
111
-
112
- playerContainer.classList.add('plyr--stopped')
113
- customPoster.classList.remove('d-none');
114
- controls.classList.add('d-none');
115
- return;
116
- }
117
-
118
- if (rightButton.dataset.ltPlayerChaptertimestamp) {
119
- player.currentTime = parseFloat(rightButton.dataset.ltPlayerChaptertimestamp) + 0.1;
120
- }
121
-
122
- })
123
- }
124
-
125
- setMobileButtonEvents(instance: LTPlayer.PortraitType | LTPlayer.LandscapeType) {
126
-
127
- this.player = instance;
128
- let player = instance.plyr;
129
- let playerControlsContainer = instance.plyr.elements.controls;
130
-
131
- const leftButton: HTMLElement = playerControlsContainer.querySelector('.skip-backward');
132
- const rightButton: HTMLElement = playerControlsContainer.querySelector('.skip-forward');
133
-
134
- if (leftButton) {
135
- let mobileEvent: HammerManager = instance.eventInstance.mobileEvents.setMobileEvent(leftButton);
136
- if (mobileEvent) {
137
- mobileEvent.on('singletap', function LTPlayerMobileChaptersLeftButton(event) {
138
- event.preventDefault();
139
- if (leftButton.dataset.ltPlayerChaptertimestamp === "false") {
140
- return;
141
- }
142
- if (leftButton.dataset.ltPlayerChaptertimestamp) {
143
- player.currentTime = parseFloat(leftButton.dataset.ltPlayerChaptertimestamp) + 0.1;
144
- }
145
-
146
- instance.playerControl.mobileEvents.showControls(instance);
147
- })
148
- }
149
- }
150
-
151
- if (rightButton) {
152
- let mobileEvent: HammerManager = instance.eventInstance.mobileEvents.setMobileEvent(rightButton);
153
- if (mobileEvent) {
154
- mobileEvent.on('singletap', function LTPlayerMobileChaptersLeftButton(event) {
155
- event.preventDefault();
156
-
157
- if (instance.playerControl.chaptersService.currentTime > instance.playerControl.chaptersService.lastChapter.timestamp) {
158
-
159
- player.stop();
160
- const playerContainer = player.elements.container;
161
-
162
- const customPoster = playerContainer.querySelector('.lt-player__poster');
163
- const controls = playerContainer.querySelector('.plyr__controls');
164
-
165
- playerContainer.classList.add('plyr--stopped')
166
- customPoster.classList.remove('d-none');
167
- controls.classList.add('d-none');
168
- return;
169
- }
170
-
171
- if (rightButton.dataset.ltPlayerChaptertimestamp) {
172
- player.currentTime = parseFloat(rightButton.dataset.ltPlayerChaptertimestamp) + 0.1;
173
- }
174
-
175
- instance.playerControl.mobileEvents.showControls(instance);
176
- })
177
- }
178
- }
179
- }
180
-
181
- /**
182
- * Add button data attribute [dataset.ltPlayerChaptertimestamp]
183
- * @param left
184
- * @param right
185
- */
186
- setButtonsChapterTime(left: defaultType|null, right:defaultType|null) {
187
-
188
- const playerControlsContainer = this.player.plyr.elements.controls;
189
-
190
- const leftButton: HTMLElement = playerControlsContainer.querySelector('.skip-backward');
191
-
192
- leftButton.dataset.ltPlayerChaptertimestamp = String(false);
193
-
194
- if (left !== null && left != undefined) {
195
- leftButton.dataset.ltPlayerChaptertimestamp = left.timestamp;
196
- }
197
-
198
- const rightButton: HTMLElement = playerControlsContainer.querySelector('.skip-forward');
199
-
200
- if (right !== null && right != undefined) {
201
- rightButton.dataset.ltPlayerChaptertimestamp = right.timestamp;
202
- }
203
-
204
- }
205
-
206
- setChapterPreviousNext(nextChapter: defaultType, previousChapter: defaultType) {
207
- const playerControlsContainer = this.player.plyr.elements.controls;
208
- const previous = playerControlsContainer.querySelector('.bottom-controller__previous-chapter-view');
209
- const next = playerControlsContainer.querySelector('.bottom-controller__next-chapter-view');
210
- if (next) {
211
- next.innerHTML = '';
212
- if (nextChapter) {
213
- next.innerHTML = nextChapter.name;
214
- }
215
- }
216
-
217
- if (previous) {
218
- previous.innerHTML = '';
219
- if (previousChapter) {
220
- previous.innerHTML = previousChapter.name;
221
- }
222
- }
223
- }
224
-
225
- /**
226
- * Set Chapter Title name
227
- * @param chapter
228
- */
229
- setTitleChapterName(chapter: defaultType) {
230
- const playerControlsContainer = this.player.plyr.elements.controls;
231
- const topControllersContainer = playerControlsContainer.querySelector('.top-controllers__body__center');
232
- const chapterTitleSelector = topControllersContainer.getElementsByTagName('p')[0];
233
- if (chapter) {
234
- chapterTitleSelector.innerHTML = chapter.name;
235
- } else {
236
- chapterTitleSelector.innerHTML = '';
237
- }
238
- }
239
-
240
- /**
241
- * Find LTPlayerChapters
242
- * @param time
243
- * @param state
244
- */
245
- findChapter(time: number, state: Array<any>) {
246
-
247
- if (time == null || state.length == 0) {
248
- return undefined;
249
- }
250
-
251
- let current: null;
252
- let left: null;
253
- let right = null;
254
-
255
- const findPrevious = (state: defaultType, elementIndex: number) => {
256
- if (elementIndex === null) {
257
- return null;
258
- }
259
-
260
- return state[elementIndex - 2] || null;
261
- }
262
-
263
- const findCurrent = (state: defaultType, elementIndex: number) => {
264
- if (elementIndex === null) {
265
- return null;
266
- }
267
- return state[elementIndex - 1] ||null;
268
- }
269
-
270
- for (let index = 0; index < state.length; index += 1) {
271
- const element = state[index];
272
- if (element.timestamp >= time) {
273
- right = element;
274
- current = findCurrent(state, index);
275
- left = findPrevious(state, index);
276
- return [left, current, right]
277
- }
278
- }
279
-
280
- current = state[state.length - 1];
281
- left = state[state.length - 2];
282
-
283
- return [left, current, right]
284
- }
285
- }
@@ -1,57 +0,0 @@
1
- import Plyr from "plyr";
2
- import {TemplateService} from "../../services/TemplateService";
3
- import {LTPlayerConfig} from "../config/LTPlayerConfig";
4
- import {IconsService} from "../../services/IconsService";
5
- import {LTPlayerChapters} from "./LTPlayerChapters";
6
- import {LTPlayerSettingsControlsManager} from "./LTPlayerSettingsControlsManager";
7
- import {LTPlayerControlsEvents} from "./LTPlayerControlsEvents";
8
-
9
- export class LTPlayerControls {
10
-
11
- templateService: TemplateService;
12
- playerVolumeBefore: number
13
- settingsControlsManager: LTPlayerSettingsControlsManager
14
- chaptersService : LTPlayerChapters
15
- desktopEvents: LTPlayerControlsEvents.Desktop;
16
- mobileEvents: LTPlayerControlsEvents.Mobile;
17
- commonEvents: LTPlayerControlsEvents.Common;
18
-
19
- /**
20
- * Generate Player LTPlayerControls to pass in Plyr
21
- * @param templateService
22
- */
23
- constructor(templateService: TemplateService) {
24
- this.settingsControlsManager = new LTPlayerSettingsControlsManager();
25
- this.templateService = templateService;
26
- this.commonEvents = new LTPlayerControlsEvents.Common();
27
- this.setDesktopEvents();
28
- this.setMobileEvents();
29
-
30
- }
31
-
32
- setDesktopEvents() {
33
- this.desktopEvents = new LTPlayerControlsEvents.Desktop();
34
- }
35
-
36
- setMobileEvents() {
37
- this.mobileEvents = new LTPlayerControlsEvents.Mobile();
38
- }
39
-
40
- /**
41
- * Set player chapters
42
- * @param chapters
43
- */
44
- initChapters(chapters: Array<any>) {
45
- this.chaptersService = new LTPlayerChapters(chapters);
46
- }
47
-
48
-
49
- /**
50
- * Get LTPlayerControls Html
51
- * @param config
52
- * @param iconService
53
- */
54
- getControls(config: LTPlayerConfig, iconService: IconsService) {
55
- return this.templateService.getTemplateControls(config, iconService);
56
- }
57
- }