@latest-thinking/lt-player 1.0.6-b → 1.0.7

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 (31) hide show
  1. package/dist/css/lt-player-main.css +1 -1
  2. package/dist/css/lt-player-main.css.map +1 -1
  3. package/dist/js/lt-player-main.js +1 -1
  4. package/dist/js/lt-player-main.js.map +1 -1
  5. package/package.json +1 -1
  6. package/src/assets/sass/abstracts/_mixins.scss +11 -0
  7. package/src/assets/sass/abstracts/_variables.scss +3 -0
  8. package/src/assets/sass/app.scss +13 -1
  9. package/src/assets/sass/components/_modal.scss +1 -1
  10. package/src/assets/sass/sections/_settings.scss +255 -82
  11. package/src/assets/sass/sections/_share.scss +4 -38
  12. package/src/assets/sass/sections/controllers/_botom.scss +296 -303
  13. package/src/assets/sass/sections/controllers/_notification-rewind-forward.scss +36 -66
  14. package/src/assets/sass/sections/controllers/_top.scss +94 -113
  15. package/src/components/LTPlayerType.ts +2 -0
  16. package/src/components/addInfo/LTPlayerAddInfoDesktop.ts +99 -0
  17. package/src/components/addInfo/LTPlayerAddInfoManager.ts +6 -6
  18. package/src/components/addInfo/LTPlayerAddInfoMobile.ts +110 -0
  19. package/src/components/controls/LTPlayerControlsEvents.ts +46 -36
  20. package/src/components/controls/settings/LTPlayerDesktopSettingsControllers.ts +0 -1
  21. package/src/components/controls/settings/LTPlayerMobileSettingsControllers.ts +166 -30
  22. package/src/components/events/LTPlayer.ts +8 -0
  23. package/src/components/events/LTPlayerCommon.ts +21 -27
  24. package/src/components/events/LTPlayerMobile.ts +2 -2
  25. package/src/index.ts +6 -0
  26. package/src/services/ResizeService.ts +7 -7
  27. package/src/views/additionalInfo.handlebars +4 -8
  28. package/src/views/controls.handlebars +41 -37
  29. package/src/views/settings.handlebars +11 -14
  30. package/src/views/share.handlebars +1 -1
  31. package/src/components/addInfo/LTPlayerAdditionalInfoEvents.ts +0 -247
@@ -1,7 +1,6 @@
1
1
  <div class="settings-controllers-enable__background d-none"></div>
2
2
  <div class="settings-controllers settings">
3
- <span class="line-button"></span>
4
- {{#desktop}}
3
+ <span class="line-button settings-controllers-header"></span>
5
4
  <div class="settings-controllers-enable__subtitles settings">
6
5
  <p class="settings-text settings">Subtitles</p>
7
6
  <label class="subtitles-body__switch settings">
@@ -16,18 +15,16 @@
16
15
  <input id="speed-range-{{id}}" type="range" min="0" max="3" step="1" class="speed-range-input settings">
17
16
  </div>
18
17
  </div>
19
- {{/desktop}}
20
- {{#mobile}}
21
- <div class="settings-controllers-enable__speed-range settings">
22
- <p class="settings-text settings">Speed</p>
23
- <div class="speed-range-input-body mobile settings">
24
- <button class="button-speed settings button_active" data-speed="1">1</button>
25
- <button class="button-speed settings" data-speed="1.25">1.25</button>
26
- <button class="button-speed settings" data-speed="1.5">1.5</button>
27
- <button class="button-speed settings" data-speed="2">2</button>
28
- </div>
29
- </div>
30
- {{/mobile}}
18
+ <!-- <div class="settings-controllers-enable__speed-range settings">-->
19
+ <!-- <p class="settings-text settings">Speed</p>-->
20
+ <!-- <div class="speed-range-input-body mobile settings">-->
21
+ <!-- <button class="button-speed settings button_active" data-speed="1">1</button>-->
22
+ <!-- <button class="button-speed settings" data-speed="1.25">1.25</button>-->
23
+ <!-- <button class="button-speed settings" data-speed="1.5">1.5</button>-->
24
+ <!-- <button class="button-speed settings" data-speed="2">2</button>-->
25
+ <!-- </div>-->
26
+ <!-- </div>-->
27
+
31
28
  <div class="settings-controllers-enable__button-save settings">
32
29
  <button class="button-save settings">Save</button>
33
30
  </div>
@@ -4,7 +4,7 @@
4
4
  <div class="share-controller-mobile-modal-header lt-player-mobile-share">
5
5
  <span class="line-button lt-player-mobile-share"></span>
6
6
  </div>
7
- <span class="line-button lt-player-mobile-share"></span>
7
+ <!-- <span class="line-button lt-player-mobile-share"></span>-->
8
8
  <div class="share-controller-frame lt-player-mobile-share">
9
9
  <!-- <div class="player-lt__close-button-e">-->
10
10
  <!-- <span class="player-lt__close-button">×</span>-->
@@ -1,247 +0,0 @@
1
- import {additionalInformation} from "../../global/types/ModuleTypes";
2
- import {LTPLayerAddInfo} from "./LTPlayerAddInfoManager";
3
-
4
- export namespace LTPlayerAdditionalInfo {
5
-
6
- export class Desktop {
7
- set(controller: LTPLayerAddInfo.Controller) {
8
-
9
- const playerContainer = controller.plyr.elements.container;
10
- const playerControlsContainer = controller.plyr.elements.controls;
11
- let additionalInfoBodyOut: Element = playerContainer.nextElementSibling;
12
- let additionalInfoBodyIn: Element = playerControlsContainer.querySelector('.lt-player__additional-info');
13
- let instance = controller;
14
-
15
-
16
- const getInfoButtons = (selector: Element): NodeList => {
17
-
18
- if (!selector) {
19
- return null
20
- }
21
- return selector.querySelectorAll('button');
22
- }
23
-
24
- let buttons: NodeList = null;
25
-
26
- const infoButtonsOut: NodeList = getInfoButtons(additionalInfoBodyOut);
27
- const infoButtonsIn: NodeList = getInfoButtons(additionalInfoBodyIn);
28
-
29
- if (!infoButtonsOut) {
30
- buttons = infoButtonsIn;
31
- } else {
32
- buttons = infoButtonsOut;
33
- }
34
-
35
- if (buttons.length === 0) {
36
- return
37
- }
38
-
39
- const createInformationModal = (info: additionalInformation, key: string) => {
40
-
41
- let modalTemplate = null;
42
-
43
- if (typeof info === 'object') {
44
- modalTemplate = controller.templateService.getAdditionalInfo({
45
- desktop : true,
46
- modal : true,
47
- id : `${key}-${controller.playerInstance.playerConfig.getPlayerId()}`,
48
- object_data : true,
49
- [key] : info
50
- })
51
- } else {
52
- modalTemplate = controller.templateService.getAdditionalInfo({
53
- desktop : true,
54
- modal : true,
55
- id : `${key}-${controller.playerInstance.playerConfig.getPlayerId()}`,
56
- data : info
57
- })
58
- }
59
-
60
- document.querySelector('body').insertAdjacentHTML("afterend", modalTemplate);
61
- }
62
-
63
- buttons.forEach((button: HTMLElement) => {
64
-
65
- button.addEventListener('click', function (event) {
66
-
67
- event.preventDefault();
68
-
69
- let targetModal = button.dataset.ltTarget;
70
- let data = instance.additionalData;
71
-
72
- if (data[targetModal] !== undefined) {
73
- createInformationModal(data[targetModal], targetModal)
74
- }
75
-
76
- let modal = document.querySelector(`.lt-modal-${targetModal}-${instance.playerInstance.playerConfig.getPlayerId()}`);
77
-
78
- if (modal) {
79
- modal.classList.add('player-lt__show-modal');
80
- }
81
-
82
- window.Player.players.forEach( item => {item.plyr.pause()})
83
- })
84
- })
85
- }
86
-
87
- windowDesktopEvents(event: MouseEvent) {
88
- const modals = document.querySelectorAll('.player-lt__modal');
89
- if (modals.length !== 0) {
90
- modals.forEach(modal => {
91
- if (modal.classList.contains('player-lt__show-modal')) {
92
- let target = event.target as HTMLElement;
93
- if (target.classList.contains('player-lt__show-modal') || target.classList.contains('player-lt__close-button')) {
94
- modal.classList.remove('player-lt__show-modal');
95
- document.querySelectorAll(".player-lt__modal").forEach(el => el.remove());
96
- }
97
- }
98
- })
99
- }
100
- }
101
-
102
-
103
- }
104
-
105
- export class Mobile {
106
- set(controller: LTPLayerAddInfo.Controller) {
107
- const playerContainer = controller.plyr.elements.container;
108
- const playerControlsContainer = controller.plyr.elements.controls;
109
- let additionalInfoBody: Element = playerContainer.querySelector('.lt-player__additional-info-mobile');
110
- let instance = controller;
111
- let __this = this;
112
-
113
- let buttons: NodeList = additionalInfoBody.querySelectorAll('button');
114
-
115
- if (buttons.length === 0) {
116
- return
117
- }
118
-
119
- const createInformationModal = (info: additionalInformation, key: string) => {
120
- let modalTemplate = null;
121
-
122
- if (typeof info === 'object') {
123
- modalTemplate = controller.templateService.getAdditionalInfo({
124
- mobile : true,
125
- modal : true,
126
- [controller.device] : true,
127
- object_data : true,
128
- [key] : info
129
- })
130
- } else {
131
- modalTemplate = controller.templateService.getAdditionalInfo({
132
- mobile : true,
133
- modal : true,
134
- data : info,
135
- [controller.device] : true
136
- })
137
- }
138
-
139
- const playerControlsContainer = instance.plyr.elements.controls;
140
- const modal = playerControlsContainer.querySelector('.player-lt__modal__mobile');
141
- modal.innerHTML = modalTemplate;
142
- }
143
-
144
- buttons.forEach((button: HTMLElement) => {
145
- let mobileEvent: HammerManager = controller.playerInstance.eventInstance.mobileEvents.setMobileEvent(button);
146
- if (mobileEvent) {
147
- mobileEvent.on('singletap', function LTPlayerMobileAdditionalInfoButtons(event) {
148
- event.preventDefault();
149
-
150
- controller.playerInstance.plyr.elements.controls.classList.add('plyr__controls-enable-addInfo');
151
-
152
- let targetModal = button.dataset.ltTarget;
153
- let data = instance.additionalData;
154
-
155
-
156
- if (data[targetModal] !== undefined) {
157
- createInformationModal(data[targetModal], targetModal)
158
- }
159
-
160
- playerControlsContainer.classList.add('player-lt__modal__mobile-show-modal');
161
-
162
- let mobileModal: HTMLElement = playerControlsContainer.querySelector('.player-lt__modal__mobile');
163
-
164
- let backgroundModal = playerControlsContainer.querySelector('.player-lt__modal__mobile__background');
165
-
166
- mobileModal.classList.remove('d-none');
167
-
168
- setTimeout(() => {
169
- mobileModal.style.bottom = String(0);
170
- }, 50)
171
-
172
- if (backgroundModal) {
173
- backgroundModal.classList.remove('d-none')
174
- }
175
-
176
- if (mobileModal) {
177
- mobileModal.classList.add('player-lt__modal__mobile-show-modal');
178
- }
179
-
180
- window.Player.players.forEach( item => {item.plyr.pause()});
181
-
182
- __this.dragCloseModal(controller);
183
-
184
- controller.playerInstance.playerControl.mobileEvents.showControls(controller.playerInstance)
185
- })
186
- }
187
- })
188
-
189
-
190
- }
191
-
192
- dragCloseModal(controller: LTPLayerAddInfo.Controller) {
193
-
194
- const playerControlsContainer = controller.plyr.elements.controls;
195
- const modalHeader = playerControlsContainer.querySelector('.player-lt__mobile__modal-header');
196
- const background = playerControlsContainer.querySelector('.player-lt__modal__mobile__background');
197
- const modal: HTMLElement = playerControlsContainer.querySelector('.player-lt__modal__mobile');
198
-
199
- const closeModal = () => {
200
- if (playerControlsContainer.classList.contains('player-lt__modal__mobile-show-modal')) {
201
-
202
- modal.style.removeProperty('bottom')
203
- playerControlsContainer.classList.remove('plyr__controls-enable-addInfo');
204
-
205
- setTimeout(() => {
206
- const modalBody = playerControlsContainer.querySelector('.player-lt__modal__mobile');
207
-
208
- playerControlsContainer.classList.remove('player-lt__modal__mobile-show-modal');
209
- modalBody.classList.remove('player-lt__modal__mobile-show-modal');
210
- modalBody.classList.add('d-none');
211
-
212
- if (background) {
213
- background.classList.add('d-none');
214
- }
215
-
216
- controller.playerInstance.playerControl.mobileEvents.showControls(controller.playerInstance);
217
-
218
- }, 150)
219
-
220
- }
221
- }
222
-
223
- if (modalHeader) {
224
- let mobileEvent: HammerManager = controller.playerInstance.eventInstance.mobileEvents.setMobileEvent(modalHeader);
225
- if (mobileEvent) {
226
- mobileEvent.on('pan', function LTPlayerMobileDragDownModal() {
227
- closeModal();
228
- if (controller.plyr.paused) {
229
- controller.plyr.play();
230
- }
231
- })
232
- }
233
- }
234
- if (background) {
235
- let mobileEvent: HammerManager = controller.playerInstance.eventInstance.mobileEvents.setMobileEvent(background);
236
- if (mobileEvent) {
237
- mobileEvent.on('singletap', function LTPlayerMobileCloseModal() {
238
- closeModal();
239
- if (controller.plyr.paused) {
240
- controller.plyr.play();
241
- }
242
- })
243
- }
244
- }
245
- }
246
- }
247
- }