Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344
  1. function FS_dec_resize(fn) {
  2. return function() {
  3. clog("rtscv0",glob_react.Filmstrip._getThumbs())
  4. resize_filmstrips(this,fn.name,arguments)
  5. dec_fns[fn.name] && dec_fns[fn.name].pre ? dec_fns[fn.name].pre({that:this, arguments}) : 1
  6. const ret = fn.apply(this, arguments);
  7. resize_filmstrips2(this,fn.name,arguments)
  8. // console.log('FSD',fn.name,ret, [this,...arguments]);
  9. // console.log('FSD',fn.name);
  10. // console.trace('FSD_trc '+fn.name);
  11. // log_tb()
  12. // window.log_tb(new Error(),fn.name)
  13. clog("rtscv1",glob_react.Filmstrip._getThumbs())
  14. resizeThumbnailsForCustomView(this,fn.name,arguments)
  15. const ret2 = dec_fns[fn.name] && dec_fns[fn.name].post ? dec_fns[fn.name].post({that:this, arguments}) : 0
  16. if (ret2){
  17. return ret2.ret
  18. }
  19. // const result = fn.apply(this, arguments);
  20. // console.log('Finished');
  21. clog("rtscv2",glob_react.Filmstrip._getThumbs())
  22. return ret;
  23. }
  24. }
  25. function FS_dec_proto(fn,fn_name) {
  26. return function() {
  27. clog("fdp0",fn_name,glob_react.Filmstrip._getThumbs())
  28. dec_fns[fn_name] && dec_fns[fn_name].pre ? dec_fns[fn_name].pre({that:this, arguments}) : 1
  29. if (fn_name == "updateDOMLocation") {
  30. this.updateDOMLocation2()
  31. }
  32. const ret = fn.apply(this, arguments);
  33. // console.log('FSD',fn_name,ret, [this,...arguments]);
  34. // console.log('FSD',fn_name);
  35. // console.trace('FSD_trc '+fn_name);
  36. // log_tb()
  37. // window.log_tb(new Error(),fn_name)
  38. // clog("rtscv1",glob_react.Filmstrip._getThumbs())
  39. // resizeThumbnailsForCustomView(this,fn_name,arguments)
  40. clog("fdp2",fn_name,glob_react.Filmstrip._getThumbs())
  41. const ret2 = dec_fns[fn_name] && dec_fns[fn_name].post ? dec_fns[fn_name].post({that:this, arguments}) : 0
  42. if (ret2){
  43. return ret2.ret
  44. }
  45. // const result = fn.apply(this, arguments);
  46. // console.log('Finished');
  47. // clog("rtscv2",glob_react.Filmstrip._getThumbs())
  48. return ret;
  49. }
  50. }
  51. function undec_fs(){
  52. var k,v
  53. for ([k,v] of Object.entries(glob_orig.Filmstrip)){
  54. // for ([k,v] of Object.entries(glob_react.Filmstrip)){
  55. // clog("~",k,v.name)
  56. // glob_react.Filmstrip[k] = FS_dec(v)
  57. glob_react.Filmstrip[k] = v
  58. }
  59. }
  60. function undec_class(){
  61. var k,v
  62. var proto = glob_orig.vidClass.LocalVideo
  63. // var proto = glob_react.vidClass.LocalVideo.prototype
  64. // for ([k,v] of iter_desc(proto)){
  65. for ([k,v] of Object.entries(proto)){
  66. // glob_react.Filmstrip[k] = v
  67. // clog(k,v)
  68. glob_react.vidClass.LocalVideo.prototype[k] = v.value
  69. // clog(k,v)
  70. }
  71. }
  72. function dec_fs_proto(){
  73. var k,v
  74. save_orig()
  75. undec_class()
  76. var proto = glob_orig.vidClass.LocalVideo
  77. for ([k,v] of Object.entries(proto)){
  78. // glob_react.Filmstrip[k] = v
  79. // glob_react.vidClass.LocalVideo.prototype[k] = FS_dec_proto(v)
  80. glob_react.vidClass.LocalVideo.prototype[k] = FS_dec_proto(v.value,k)
  81. // clog(k,v)
  82. }
  83. // glob_react.vidClass.LocalVideo.prototype.updateDOMLocation = updateDOMLocation
  84. glob_react.vidClass.LocalVideo.prototype.updateDOMLocation = updateDOMLocation2
  85. // updateDOMLocation
  86. /*
  87. for (k of fs_dec_list){
  88. clog("~",k)
  89. v = glob_orig.Filmstrip[k]
  90. glob_react.Filmstrip[k] = FS_dec_resize(v)
  91. }
  92. */
  93. return
  94. for ([k,v] of Object.entries(glob_orig.Filmstrip)){
  95. // for ([k,v] of Object.entries(glob_react.Filmstrip)){
  96. // clog("~",k,v.name,v)
  97. clog("~",k,v.name)
  98. // glob_react.Filmstrip[k] = FS_dec(v)
  99. }
  100. }
  101. function dec_fs_resize(){
  102. var k,v
  103. save_orig()
  104. undec_fs()
  105. dec_fs_proto()
  106. for (k of fs_dec_list){
  107. clog("~",k)
  108. v = glob_orig.Filmstrip[k]
  109. glob_react.Filmstrip[k] = FS_dec_resize(v)
  110. }
  111. return
  112. for ([k,v] of Object.entries(glob_orig.Filmstrip)){
  113. // for ([k,v] of Object.entries(glob_react.Filmstrip)){
  114. // clog("~",k,v.name,v)
  115. clog("~",k,v.name)
  116. // glob_react.Filmstrip[k] = FS_dec(v)
  117. }
  118. }
  119. function test_thumbs(){
  120. var ret = glob_react.Filmstrip._getThumbs()
  121. clog(ret)
  122. return ret
  123. }
  124. function updateDOMLocation2() {
  125. clog("updateDOMLocation2",this,arguments)
  126. // this._updateVideoElement();
  127. clog("UDL 00")
  128. // return
  129. // if (!this.container || !this.container.parentElement) {
  130. if (!this.container ) {
  131. return;
  132. }
  133. // dev trc
  134. // ...
  135. clog("UDL 10",this.container.parentElement)
  136. var custom_local = 0
  137. this.container.parentElement ? custom_local = this.container.parentElement.classList.contains("icont") : 0
  138. if (this.container.parentElement && !custom_local) {
  139. this.container.parentElement.removeChild(this.container);
  140. }
  141. // return
  142. clog("UDL 20")
  143. const appendTarget = shouldDisplayTileView(APP.store.getState())
  144. ? document.getElementById('localVideoTileViewContainer')
  145. : document.getElementById('filmstripLocalVideoThumbnail');
  146. // if ()
  147. !custom_local && appendTarget && appendTarget.appendChild(this.container);
  148. clog("UDL 30")
  149. clog("")
  150. this._updateVideoElement();
  151. clog("UDL 40")
  152. }
  153. function updateDOMLocation() {
  154. if (!this.container) {
  155. return;
  156. }
  157. // dev trc
  158. // ...
  159. if (this.container.parentElement) {
  160. this.container.parentElement.removeChild(this.container);
  161. }
  162. const appendTarget = shouldDisplayTileView(APP.store.getState())
  163. ? document.getElementById('localVideoTileViewContainer')
  164. : document.getElementById('filmstripLocalVideoThumbnail');
  165. appendTarget && appendTarget.appendChild(this.container);
  166. this._updateVideoElement();
  167. }
  168. function save_orig_prototype(classes){
  169. var i,k,v
  170. var i2,k2,v2
  171. var o
  172. var ret = {}
  173. // o = glob_react.vidClass.LocalVideo.prototype
  174. // o = tobj
  175. // o = glob_react.vidClass.LocalVideo
  176. // for ([k,v] of Object.entries(glob_react.vidClass)){
  177. // for ([k,v] of Object.entries(o)){
  178. // for ([k2,v2] of Object.entries(glob_react.vidClass)){
  179. for ([k2,v2] of Object.entries(classes)){
  180. clog("...",k2)
  181. ret[k2] = {}
  182. o = v2.prototype
  183. for ([k,v] of iter_desc(o)){
  184. // clog(k,v)
  185. ret[k2][k]=v
  186. clog(k2,k,v)
  187. }
  188. }
  189. clog("><",Object.getOwnPropertyDescriptors(o))
  190. return ret
  191. }
  192. function save_orig(){
  193. // console.trace("SAVE-ORIG")
  194. glob_orig = window.glob_orig || {
  195. Filmstrip:{},
  196. fs:{},
  197. rf_filmstrip:{},
  198. }
  199. glob_orig.Filmstrip = Object.assign({},glob_react.Filmstrip)
  200. glob_orig.fs = Object.assign({},glob_react.fs)
  201. glob_orig.rf_filmstrip = Object.assign({},glob_react.rf_filmstrip)
  202. glob_orig.vidClass = save_orig_prototype(glob_react.vidClass)
  203. // glob_orig.vidClass.LocalVideo_proto = Object.assign({},glob_react.vidClass.LocalVideo.prototype)
  204. // glob_orig.vidClass2 = jc(glob_react.vidClass)
  205. // glob_orig.rf_filmstrip = Object.assign({},glob_react.rf_filmstrip)
  206. save_orig = nop
  207. }
  208. // glob_react.vidClass.LocalVideo.prototype
  209. //
  210. if (window.glob_orig){
  211. save_orig = nop
  212. // save_orig()
  213. }
  214. if (!window.glob_orig && window.glob_react){
  215. // save_orig = nop
  216. save_orig()
  217. }
  218. if (window.glob_orig && window.glob_react){
  219. // dec_fs()
  220. // dec_fs_resize()
  221. // save_orig = nop
  222. // save_orig()
  223. }
  224. if (window.glob_orig && window.glob_react){
  225. // dec_fs()
  226. dec_fs_resize()
  227. // save_orig = nop
  228. // save_orig()
  229. }
  230. function* iter_desc(o){
  231. var i,k,v
  232. i = 0
  233. for ([k,v] of Object.entries(Object.getOwnPropertyDescriptors(o))){
  234. yield [k,v]
  235. i += 1
  236. }
  237. }
  238. function glvcb(elm){
  239. // clog("GLVCB",this,[...arguments])
  240. try{
  241. return elm.isLocal
  242. } catch{}
  243. }
  244. function get_local_vid(){
  245. return glob_dev_hooks.smallvids.filter(glvcb)[0]
  246. }