1let hashtagsSrc = [] 2 3document.addEventListener('DOMContentLoaded', function () 4{ 5 onLoadDocumentEditPost() 6}, false); 7function onLoadDocumentEditPost() 8{ 9 let maskEditPost = document.getElementById('maskEditPost') 10 maskEditPost.querySelector('.post.editpost .post_fotopanel').addEventListener('click', getfotoUpload) 11 maskEditPost.querySelector('.fotoupload').addEventListener('change', fotoUpload) 12 maskEditPost.querySelector('.addfoto').addEventListener('click', getfotoUpload) 13 maskEditPost.querySelector('textarea').addEventListener('paste', pastePhoto); 14 maskEditPost.querySelector('.addvideo').addEventListener('click', winLinkVideoShow) 15 maskEditPost.querySelector('.tools').addEventListener('click', winToolsShow) 16 document.querySelector('#fotopaneleditphoto .uphotptools .savesetimg').addEventListener('click', crop_saveImg) 17 document.querySelector('#fotopaneleditphoto .uphotptools .rotate').addEventListener('click', rotateimg) 18 document.querySelector('#fotopaneleditphoto .uphotptools .rotate_l').addEventListener('click', rotateimg) 19 document.querySelectorAll('#fotopaneleditphoto .uphotptools .a_r').forEach(function (el) { 20 el.addEventListener('click', setaspect) 21 }) 22 maskEditPost.querySelector('.inserthashtag').addEventListener('keyup', setNewHashTag) 23 maskEditPost.querySelector('.addvideolink .linkVideoY').addEventListener('input', enableAddVideo) 24 document.getElementById('btnAddLinkVideo').addEventListener('click', addVideoIframe) 25 document.getElementById('btnLoadVideo').addEventListener('click', addLoadVideoFile) 26 27 //maskEditPost.querySelector('textarea[data-field="posttext"]').addEventListener('keydown', resizetexarea); 28 29 maskEditPost.querySelectorAll('.post_title textarea, .post_content textarea').forEach(function (el) 30 { 31 el.addEventListener('paste', pastePhoto) 32 }) 33 maskEditPost.querySelectorAll('.editpost .endedit, .editpost .sendpost').forEach(function (el) 34 { 35 el.addEventListener('click', savePost) 36 }) 37 maskEditPost.querySelector('.closediv').addEventListener('click', closeMaskEditPost) 38 maskEditPost.querySelectorAll('.editfield, .edittosocial').forEach(function (el) 39 { 40 el.addEventListener('input', changeField) 41 }) 42 document.querySelector('.inserthashtag').addEventListener('keyup', function () 43 { 44 if (event.keyCode === 13) 45 { 46 setHashTag(event.target, event.target.value) 47 } 48 }) 49} 50 51let setHashtags = function (data) 52{ 53 let dataHt = JSON.parse(data); 54 for (var i = 0; i < dataHt.length; ++i) 55 { 56 hashtagsSrc.push(dataHt[i]); 57 } 58} 59 60const autoCompleteJS = new autoComplete({ 61 data: {selector: ".inserthashtag", placeHolder: "ÐаÑниÑе вводиÑÑ Ñ ÐµÑÑег", src: hashtagsSrc, keys: ["value"]}, highlight: true, maxResults: 20, 62 events: { 63 input: { 64 selection(event) 65 { 66 const feedback = event.detail; 67 const selection = feedback.selection.value[feedback.selection.key]; 68 setHashTag(autoCompleteJS.input, selection) 69 }, 70 }, 71 } 72}); 73 74 75let setHashTag = function (t, v) 76{ 77 event.preventDefault(); 78 v = v.trim() 79 if (v != '') 80 { 81 let hts = t.closest('.post_hashtags').querySelector('.hashtags') 82 83 let foundel = false 84 if (hts.querySelectorAll('.hashtag .hashtegtext')) { 85 hts.querySelectorAll('.hashtag .hashtegtext').forEach(function (el) 86 { 87 if (el.innerText == v) 88 { 89 selectColorAria(el.closest('.hashtag')) 90 foundel = true 91 return true 92 } 93 })} 94 if (!foundel) 95 { 96 let ht = document.querySelector('.hashtag.shablon').cloneNode(true) 97 ht.classList.remove('shablon') 98 ht.querySelector('.hashtegtext').innerText = v 99 ht.querySelector('.closediv').addEventListener('click', closediv) 100 selectColorAria(ht.closest('.hashtag')) 101 hts.insertAdjacentElement('beforeend', ht) 102 t.value = '' 103 } 104 } 105 t.closest('.post').classList.add('changed'); 106 107} 108 109function dragDrop() 110{ 111 var el = event.currentTarget, parentEl = el.closest('.postStoryBlock, .post_fotopanel') 112 el.insertAdjacentElement('beforebegin', parentEl.querySelector('.dragselect')) 113 parentEl.querySelector('.dragselect').classList.remove('dragselect'); 114 parentEl.querySelectorAll('.dragover').forEach(function(el){el.classList.remove('dragover');}) 115 event.stopPropagation(); 116 return false;
117} 118function dragEnter() 119{ 120 event.preventDefault(); 121 return true; 122} 123function dragOver() 124 125{ let t=event.target; 126 if (!t.draggable) 127 { 128 t=t.closest([draggable="true"]) 129 } 130 if ( t) { 131 t.closest('.postStoryBlock, .post_fotopanel').querySelectorAll('.dragover').forEach(function(el){el.classList.remove('dragover');}) 132 t.classList.add("dragover"); } 133 event.preventDefault(); 134 return true; 135} 136function dragStart() 137{ 138 event.dataTransfer.effectAllowed = 'move'; 139 event.currentTarget.classList.add('dragselect'); 140 return true; 141} 142function dragEnd() 143{ 144 event.target.classList.remove("dragselect"); 145} 146 function dragLeave() 147 { 148 event.target.classList.remove("dragselect"); 149 150 } 151 152function winToolsShow() 153{ 154 var blockTools = event.target.closest('.post.editpost').querySelector('.panelAdmin') 155// if (blockTools.closest('.post.editpost')!=event.target.closest('.post.editpost')) 156// { 157// event.target.closest('.post.editpost').insertAdjacentElement('beforeend',blockTools) 158// } 159 if (blockTools.classList.toggle('show')) 160 { 161 event.stopPropagation(); 162 outsidePopupEvent(blockTools) 163 164 } 165 166} 167function addLoadVideoFile() 168{ 169 var bl = this.closest('.post.editpost'), fpanel = bl.querySelector('.post_fotopanel') 170 var file = document.getElementById('filevideo').files[0]; 171 if (file.size / 1024 / 1024 > 15) 172 { 173 winMessage.show({content: 'ÐÑибка. СлиÑком болÑÑой Ñайл'}); 174 return 175 } 176 var url = URL.createObjectURL(file); 177 178 var newVideo = document.querySelector('.uploadedvideo.video.shablon').cloneNode(true), iframe = newVideo.querySelector('video'); 179 180 iframe.setAttribute('src', url); 181 iframe.onload = function () { window.URL.revokeObjectURL(this.src); } 182 newVideo.classList.remove('shablon'); 183 184 fpanel.insertAdjacentElement('beforeend', newVideo); 185 var finput = document.getElementById('filevideo').cloneNode(true); 186 document.getElementById('filevideo').value = []; 187 finput.removeAttribute('id'); 188 finput.style.display = 'none'; 189 newVideo.insertAdjacentElement('beforeend', finput) 190 PhotoPanelAddEventListener(newVideo) 191} 192 193function addVideoIframe() 194{ 195 let bl = this.closest('.post.editpost'), fpanel = bl.querySelector('.post_fotopanel'), 196 idy = linkvideo_parser(document.querySelector('#maskEditPost .addvideolink .linkVideoY').value); 197 if (!idy) 198 return; 199 if (fpanel.querySelector('.video iframe[data-id="' + idy.id + '"]')) 200 return 201 202 203 var newVideo = document.querySelector('.uploadedvideo.shablon').cloneNode(true), iframe = newVideo.querySelector('iframe'); 204 if (idy.n === 'youtube') { 205 iframe.setAttribute('src', 'https://www.youtube.com/embed/' + idy.id); 206 } 207 if (idy.n === 'vk') 208 { 209 iframe.setAttribute('src', 'https://vk.com/video_ext.php?oid=' + idy.all[2] + '&id=' + idy.all[3] + '&hd=2'); 210 } 211 if (idy.n === 'rutube') 212 { 213 iframe.setAttribute('src', 'https://www.rutube.com/play/embed/' + idy.id); 214 } 215 216 newVideo.classList.remove('shablon'); 217 iframe.setAttribute('data-id', idy.id); 218 iframe.setAttribute('data-type', idy.n); 219 document.querySelector('#maskEditPost .addvideolink .linkVideoY').value = ''; 220 fpanel.insertAdjacentElement('beforeend', newVideo) 221 PhotoPanelAddEventListener(newVideo) 222 223} 224function linkvideo_parser(url) 225{ 226 var regExp = /^.*((youtu.be\/)|(v\/)|(\/u\/\w\/)|(embed\/)|(watch\?))\??v?=?([^#&?]*).*/; 227 var match = url.match(regExp); 228 var rez = {}; 229 if (match && match[7].length == 11) { 230 rez.n = 'youtube'; 231 rez.id = match[7]; 232 return rez; 233 } 234 235 regExp =/^https:\/\/vk\.com\/(?:video|clip)((.\d+)_(\d+))/i; 236 match = url.match(regExp); 237 if (match && match[3]) { 238 rez.n = 'vk'; 239 rez.id = match[1]; 240 rez.all = match; 241 return rez 242 } 243 244 regExp =/^https:\/\/rutube\.ru\/(:video|shorts)\/([^#]*)\//i; 245 match = url.match(regExp); 246 if (match && match[2]) { 247 rez.n = 'rutube'; 248 rez.id = match[2]; 249 return rez 250 } else 251 { return false} 252 253 254//rutube.ru/video/ 255 256 257} 258 259function youtube_parser(url) 260{ 261 var regExp = /^.*((youtu.be\/)|(v\/)|(\/u\/\w\/)|(embed\/)|(watch\?))\??v?=?([^#&?]*).*/; 262 var match = url.match(regExp); 263 return (match && match[7].length == 11) ? match[7] : false;
264} 265 266function enableAddVideo() 267{ 268 document.querySelector('.addvideolink .messagealert').classList.add('hiden'); 269 if (this.value != '') 270 { 271 let idy = linkvideo_parser(this.value); 272 if (idy) 273 { 274 if (document.querySelector('#maskEditPost .video iframe[data-id="' + idy.id + '"]')) 275 { 276 document.querySelector('.addvideolink .messagealert').innerText = 'ÐÑо видео Ñже добавлено.'; 277 document.querySelector('.addvideolink .messagealert').classList.remove('hiden'); 278 279 } 280 document.querySelector('.addvideolink .messagealert').classList.add('hiden'); 281 document.getElementById('btnAddLinkVideo').disabled = false 282 } else 283 { 284 document.getElementById('btnAddLinkVideo').disabled = true; 285 document.getElementById('btnAddLinkVideo').classList.add('noshow'); 286 } 287 288 } 289} 290function PhotoPanelAddEventListener(el) 291{ 292 el.addEventListener('click', showWinEditPhoto) 293 el.querySelector('.closediv').addEventListener('click', closediv) 294 el.setAttribute('draggable', "true") 295 // el.querySelectorAll('img,video,iframe').forEach(function(e){e.setAttribute('draggable', "true")}) 296 el.addEventListener('dragstart', dragStart); 297 el.addEventListener('dragend', dragEnter); 298 el.addEventListener('drop', dragDrop); 299 el.addEventListener('dragover', dragOver); 300} 301function editPost(postFrom, id, idStory = 0) 302{ 303 if (curUser > 0) 304 { 305 if (postFrom && postFrom.closest('.post').getAttribute('data-typepost') === 'story') 306 { 307 editStory(postFrom, id) 308 return; 309 } 310 if (postFrom) 311 { 312 if (postFrom.getAttribute('data-typepost') === 'sale') 313 { 314 window.open("../sale/editAD/" + postFrom.getAttribute('data-a')); 315 return; 316 } 317 } 318 if (hashtagsSrc.length === 0) 319 { 320 postAjax('../dogmem/aj/gethashteg.php', '', setHashtags); 321 } 322 let maskedit = document.getElementById('maskEditPost') 323 let editPostbl = maskedit.querySelector('.post.editpost') 324 editPostbl.setAttribute('data-id', id) 325 if (idStory > 0) 326 { 327 editPostbl.setAttribute('data-idStory', idStory) 328 editPostbl.setAttribute('data-typepost', 'storyPiece') 329 } else { 330 editPostbl.setAttribute('data-typepost', 'post') 331 } 332 maskedit.style.height = window.innerHeight + 'px'; 333 editPostbl.querySelectorAll(' .post_fotopanel .uploadedfoto,.post_fotopanel .uploadedvideo, .hashtag').forEach(function (el) 334 { 335 el.remove() 336 }) 337 338 editPostbl.querySelectorAll('input,textarea').forEach(function (el) 339 { 340 el.value = ''; 341 }) 342 document.getElementById('btnAddLinkVideo').disabled = true
343 if (id == 0) ///////////////////////////////ÐÐÐЫР/////////////////////////////////////////// 344 { 345 editPostbl.classList.add('new') 346 347 } else ///////////////////////////////Ð ÐÐÐÐТÐÐ /////////////////////////////////////////// 348 { 349 if (postFrom) 350 { 351 editPostbl.setAttribute('data-typepost', postFrom.getAttribute('data-typepost')) 352 353 if (postFrom.getAttribute('data-onlyMyLenta') && editPostbl.querySelector('input[data-field="onlyMyLenta"]')) { 354 editPostbl.querySelector('input[data-field="onlyMyLenta"]').checked = postFrom.getAttribute('data-onlyMyLenta') == 1; 355 } else { 356 editPostbl.querySelector('input[data-field="onlyMyLenta"]').checked = false; 357 } 358 editPostbl.querySelector('textarea[data-field="posttext"]').value = postFrom.querySelector('.post_content').innerHTML.replace(/<br\s*\/?>/mg, "\n").trim().replace(/<button(.+?)<\/button>/ismg, '').replace(/(<([^>]+)>)/ig, "") 359 editPostbl.querySelector('.post_title textarea').value = postFrom.querySelector('.post_title').innerText; 360 if ((postFrom.getAttribute('data-typepost') === 'post' || postFrom.getAttribute('data-typepost') === 'storyPiece')) ///////////////////ÐоÑÑÑÐ¿Ð½Ñ ÑоÑо и видео 361 { 362 postFrom.querySelectorAll('.post_fotopanel .slider__items>*').forEach(function (el) 363 { 364 let newPhotopanel = el.cloneNode(true) 365 if (newPhotopanel.classList.contains('video')) 366 { 367 var vframe = null; 368 if (newPhotopanel.querySelector('iframe')) 369 { 370 vframe = newPhotopanel.querySelector('iframe'); 371 newPhotopanel.insertAdjacentHTML('afterbegin', '<div class="closediv" type-close="remove"></div>') 372 newPhotopanel.classList.add('iframe') 373 } else 374 { 375 if (newPhotopanel.querySelector('video')) 376 { 377 vframe = newPhotopanel.querySelector('video'); 378 newPhotopanel.insertAdjacentHTML('afterbegin', '<div class="closediv" type-close="deletephoto"></div>') 379 newPhotopanel.classList.add('video') 380 } 381 } 382 vframe.onload = function () { 383 videoPause(vframe); 384 } 385 newPhotopanel.classList.add('uploadedvideo') 386 vframe.setAttribute('width', 150) 387 vframe.setAttribute('height', 120) 388 } else //picture 389 { 390 newPhotopanel.classList.add('uploadedfoto') 391 392 newPhotopanel.insertAdjacentHTML('afterbegin', '<div class="closediv" type-close="deletephoto"></div>') 393 } 394 395 newPhotopanel.classList.remove('hiden') 396 newPhotopanel.classList.remove('slider__item') 397 editPostbl.querySelector('.post_fotopanel ').insertAdjacentElement("beforeend", newPhotopanel) 398 399 PhotoPanelAddEventListener(newPhotopanel) 400 401 }) 402 403 } 404 405 setHashtag(postFrom, editPostbl) 406 let avtor = postFrom.querySelector('.avtorlink') 407 if (avtor) 408 { 409 if (avtor.innerText != '') 410 { 411 editPostbl.querySelector('#avtor').value = avtor.innerText 412 } 413 if (avtor.tagName == 'A') 414 { 415 editPostbl.querySelector('#avtorlink').value = avtor.getAttribute('href') 416 } 417 } else 418 { 419 if (postFrom.querySelector('.avtor')) 420 { 421 editPostbl.querySelector('#avtor').value = postFrom.querySelector('.avtor').innerText 422 } 423 } 424 } else 425 { 426 if (idStory > 0) 427 { 428 postAjax("../dogmem/aj/getPieceStory.php", 'idPiece=' + id, fillDataPiece); 429 function fillDataPiece(d) 430 { 431 var data = JSON.parse(d) 432 editPostbl.setAttribute('data-typepost', 'storyPiece'); 433 editPostbl.querySelector('input[data-field="suspendDate"]').value = data.post.suspendDate; 434 editPostbl.querySelector('input[data-field="onlyMyLenta"]').checked = (data.post.onlyMyLenta == 1); 435 editPostbl.querySelector('textarea[data-field="posttext"]').value =(data.post.posttext)? data.post.posttext.replace(/<br\s*\/?>/mg, "\n").trim().replace(/(<([^>]+)>)/ig, ""):''; 436 editPostbl.querySelector('textarea[data-field="title"]').value = data.post.title; 437 editPostbl.querySelector('#avtorlink').value = data.post.avtorlink; 438 editPostbl.querySelector('#avtor').value = data.post.avtor; 439 for (let i = 0; i < data.media.length; i++) { 440 var blockMedia = null, blockMediaImg = null; 441 switch (data.media[i].mediatype) { 442 case 'picture': 443 { 444 blockMedia = document.querySelector('.uploadedfoto.shablon').cloneNode(true); 445 blockMediaImg = blockMedia.querySelector('img'); 446 blockMediaImg.setAttribute('src', '../' + data.media[i].path + data.media[i].media) 447 break; 448 } 449 case 'video': 450 { 451 blockMedia = document.querySelector('.uploadedvideo.video.shablon').cloneNode(true); 452 blockMediaImg = blockMedia.querySelector('video'); 453 blockMediaImg.setAttribute('src', '../' + data.media[i].path + data.media[i].media) 454 break; 455 } 456 case 'iframeYoutube': 457 { 458 blockMedia = document.querySelector('.uploadedvideo.iframe.shablon').cloneNode(true); 459 blockMediaImg = blockMedia.querySelector('iframe'); 460 blockMedia.querySelector('iframe').setAttribute('data-type', 'youtube') 461 blockMedia.querySelector('iframe').setAttribute('data-id', data.media[i].media) 462 blockMediaImg.setAttribute('src', 'https://www.youtube.com/embed/'+data.media[i].media+'?enablejsapi=1&rel=0&iv_load_policy=3') 463 break; 464 } 465 case 'iframeVK': 466 { 467 blockMedia = document.querySelector('.uploadedvideo.iframe.shablon').cloneNode(true); 468 blockMediaImg = blockMedia.querySelector('iframe'); 469 blockMedia.querySelector('iframe').setAttribute('data-type', 'vk') 470 blockMedia.querySelector('iframe').setAttribute('data-id', data.media[i].media) 471 let m = data.media[i].media.split("_"); 472 blockMediaImg.setAttribute('src', 'https://vk.com/video_ext.php/?oid='+m[0]+'&id='+m[1]) 473 break; 474 } 475 } 476 blockMedia.setAttribute('data-num', data.media[i].n) 477 blockMedia.querySelector('.photo_caption').innerText = data.media[i].caption; 478 blockMedia.classList.remove('hiden', 'new', 'shablon') 479 blockMediaImg.setAttribute('data-filename', data.media[i].media) 480 editPostbl.querySelector('.post_fotopanel').insertAdjacentElement('beforeend', blockMedia) 481 PhotoPanelAddEventListener(blockMedia) 482 } 483 } 484 485 } 486 } 487 488 } 489 if (typeof setBlockPostToSocial === 'function') 490 { 491 setBlockPostToSocial(editPostbl,postFrom) 492 } 493 494 495 496 497 document.body.style.overflow = 'hidden'; 498 maskedit.classList.remove('hiden') 499 lentaHistory.push({type: 'hash', name: "editpost", el: "maskslider", f: "closeMaskEditPost()"}) 500 history.pushState(null, "", window.location.origin + window.location.pathname + getSearchHash()); 501 maskedit.querySelector('.panelfullpost').style.width = document.querySelector('.lenta').offsetWidth + 'px'; 502 setEmoji(editPostbl) 503 enbleAddPhoto(editPostbl) 504 enabledBlockPost(editPostbl) 505 } else 506 { 507 if (typeof showPanelReg === 'function') 508 { 509 showPanelReg() 510 } 511} 512} 513 514function enabledBlockPost(editPostbl) 515{ 516 let toolsblock = editPostbl.parentNode.querySelector('.toolspanel.bottom') 517 518 if (!(editPostbl.getAttribute('data-typepost') === 'post' || editPostbl.getAttribute('data-typepost') === 'storyPiece')) 519 {
520// editPostbl.querySelector('.post_fotopanel').classList.add('hiden') 521// editPostbl.querySelector('#avtor').classList.add('hiden') 522// editPostbl.querySelector('#avtorlink').classList.add('hiden') 523// 524// toolsblock.querySelector('.addvideo').classList.add('hiden') 525// toolsblock.querySelector('.addfoto').classList.add('hiden') 526 } else 527 { 528 editPostbl.querySelector('.post_fotopanel').classList.remove('hiden') 529 editPostbl.querySelector('#avtor').classList.remove('hiden') 530 editPostbl.querySelector('#avtorlink').classList.remove('hiden') 531 532 toolsblock.querySelector('.addvideo').classList.remove('hiden') 533 toolsblock.querySelector('.addfoto').classList.remove('hiden') 534 } 535 if (editPostbl.getAttribute('data-typepost') === 'storyPiece') 536 { 537 editPostbl.querySelector('.toolspanel .tools').classList.add('hiden') 538 editPostbl.querySelector('.toolspanel.bottom .sendpost').innerText = 'Ð¡Ð¾Ñ ÑаниÑÑ Ñпизод' 539 } else 540 { 541 editPostbl.querySelector('.toolspanel .tools').classList.remove('hiden') 542 editPostbl.querySelector('.toolspanel.bottom .sendpost').innerText = 'ÐпÑбликоваÑÑ' 543 } 544} 545 546 547function showWinEditPhoto() 548{ 549 if (event.target.classList.contains('closediv')) 550 { 551 return false; 552 } 553 p = event.target.closest('.uploadedvideo, .uploadedfoto'); 554 event.preventDefault() 555 let fotopaneleditphoto = document.getElementById('fotopaneleditphoto'); 556 fotopaneleditphoto.querySelector('.closediv').addEventListener('click', closePhotoPanelEdit) 557 lentaHistory.push({type: 'hash', name: "fotopaneleditphoto", f: "closePhotoPanelEdit()"}) 558 history.pushState(null, "", window.location.origin + window.location.pathname + getSearchHash()); 559 var paneledit = fotopaneleditphoto.querySelector('.uploadedfoto') 560 if (p.classList.contains('uploadedfoto')) { 561 562 563 if (paneledit.querySelectorAll('img').length == 0) 564 { 565 paneledit.insertAdjacentHTML('afterbegin', '<img src="">') 566 } 567 let img = paneledit.querySelector('img') 568 569 croppable = false; 570 571 img.setAttribute('src', "") 572 img.setAttribute('src', p.querySelector('img').getAttribute('src')) 573 let uphotptools = paneledit.querySelector('.uphotptools'), displaybtn = 'block' 574 if (p.classList.contains('new')) 575 { 576 img.onload = setcrop; 577 } else { 578 displaybtn = 'none' 579 } 580 uphotptools.querySelectorAll('button:not(.savesetimg)').forEach(function (el) { 581 el.style.display = displaybtn; 582 }) 583 584 585 586 } else 587 { 588 if (p.querySelector('iframe')) 589 { 590 591 p.querySelector('iframe').setAttribute('width', 400) 592 p.querySelector('iframe').setAttribute('height', 300) 593 paneledit.insertAdjacentElement('afterbegin', p.querySelector('iframe')) 594 } 595 if (p.querySelector('video')) 596 { 597 598 p.querySelector('video').setAttribute('width', 400) 599 p.querySelector('video').setAttribute('height', 300) 600 paneledit.insertAdjacentElement('afterbegin', p.querySelector('video')) 601 } 602 if (paneledit.querySelector('img')) 603 { 604 paneledit.querySelector('img').remove() 605 } 606 paneledit.querySelector('.uphotptools .rotate_l').style.display = 'none' 607 paneledit.querySelector('.uphotptools .rotate').style.display = 'none' 608 609 } 610 document.querySelector('#fotopaneleditphoto .captionPhoto').value = p.querySelector('.photo_caption').innerHTML; 611 p.classList.add('edit') 612 fotopaneleditphoto.classList.remove('hiden') 613 function setcrop() 614 { 615 if (!croppable) 616 { 617 var pr = this.width / this.naturalWidth 618 var minpx = pr * 400 + 2; 619 cropper = new Cropper(this, { 620 viewMode: 2, background: false, modal: false, minCropBoxHeight: minpx, minCropBoxWidth: minpx, 621 ready: function () 622 { 623 croppable = true; 624 }, 625 }); 626 } 627 } 628} 629function setHashtag(from, to) 630{ 631 let httegs = from.querySelectorAll('.post_hashtags a') 632 if (httegs.length)
633 httegs.forEach(function (el) 634 { 635 let ht = document.querySelector('.hashtag.shablon').cloneNode(true) 636 ht.classList.remove('shablon') 637 ht.querySelector('.hashtegtext').innerText = el.innerText; 638 to.querySelector('.hashtags').insertAdjacentElement('beforeend', ht) 639 ht.querySelector('.closediv').addEventListener('click', function () 640 { 641 this.closest('.hashtag').remove() 642 }) 643 }) 644} 645function closePhotoPanelEdit() 646{ 647 let parentimg = document.querySelector('.editpost .post_fotopanel .edit') 648 document.getElementById('fotopaneleditphoto').classList.add('hiden') 649 parentimg.classList.remove('edit') 650 651 652 if (parentimg.classList.contains('uploadedvideo')) { 653 if (document.querySelector(' #fotopaneleditphoto iframe')) 654 { 655 parentimg.insertAdjacentElement('afterbegin', document.querySelector(' #fotopaneleditphoto iframe')) 656 parentimg.querySelector('iframe').setAttribute('width', 150) 657 parentimg.querySelector('iframe').setAttribute('height', 120) 658 } 659 if (document.querySelector(' #fotopaneleditphoto video')) 660 { 661 parentimg.insertAdjacentElement('afterbegin', document.querySelector(' #fotopaneleditphoto video')) 662 parentimg.querySelector('video').setAttribute('width', 150) 663 parentimg.querySelector('video').setAttribute('height', 120) 664 } 665 } 666 667 668 669 670 if (typeof cropper !== "undefined" && cropper !== null) { 671 cropper.destroy(); 672 croppable = false 673 cropper = null 674 } 675 lentaHistoryBack() 676 677} 678 679 680function crop_saveImg() 681{ 682 let parentimg = document.querySelector('.editpost .post_fotopanel .edit'), img = null 683 if (!parentimg) { 684 return 685 } 686 687 if (parentimg.classList.contains('new') && parentimg.classList.contains('uploadedfoto')) 688 { 689 img = parentimg.querySelector('img'); 690 if (!croppable || (!img)) 691 { 692 return; 693 } 694 let croppedCanvas = cropper.getCroppedCanvas(); 695 img.src = croppedCanvas.toDataURL(); 696 cropper.destroy() 697 cropper = null 698 699 } 700 if (parentimg.querySelector('.photo_caption').innerHTML != document.querySelector('#fotopaneleditphoto .captionPhoto').value) 701 { 702 parentimg.querySelector('.photo_caption').innerHTML = document.querySelector('#fotopaneleditphoto .captionPhoto').value; 703 parentimg.classList.add('changenum') 704 } 705 document.querySelector('#fotopaneleditphoto .captionPhoto').value = ''; 706 closePhotoPanelEdit() 707} 708function setaspect() 709{ 710 let parentBtn = event.target.closest('.uphotptools') 711 if (event.target.classList.toggle('selected')) 712 { 713 parentBtn.querySelectorAll('.selected').forEach(function (el) 714 { 715 if (event.target !== el) el.classList.remove('selected') 716 }) 717 if (event.target.classList.contains('aspect4_3')) 718 { 719 cropper.setAspectRatio(4 / 3) 720 } 721 if (event.target.classList.contains('aspect3_4')) 722 { 723 cropper.setAspectRatio(3 / 4) 724 } 725 } else 726 { 727 if (parentBtn.querySelectorAll('.selected').length === 0) 728 { 729 cropper.setAspectRatio(null) 730 } 731 } 732} 733 734function rotateimg() 735{ 736 if (event.target.classList.contains('rotate_l')) 737 { 738 cropper.rotate(-90) 739 } else 740 { 741 cropper.rotate(90) 742 } 743} 744 745 746 747 748 749 750function changeField() 751{ 752 event.target.classList.add('changed'); 753} 754 755 756 757 758function closeMaskEditPost() 759{ 760 761 document.body.style.overflow = ''; 762 document.getElementById('maskEditPost').classList.add('hiden') 763 removeEmoji(document.getElementById('maskEditPost').querySelector('.post')) 764 lentaHistoryBack() 765} 766 767function savePost() 768{ 769 if (this.classList.contains('endedit')) 770 { 771 closeMaskEditPost() 772 return 773 } 774 let arrf = [], arrv = [], arrt = [], arrvideo = [], posteditblock = this.closest('.post.editpost'), postType = posteditblock.getAttribute('data-typepost'); 775 posteditblock.querySelectorAll('.post_fotopanel .new.deletephoto').forEach(function (el) { 776 el.remove() 777 }) 778 posteditblock.querySelectorAll('.post_fotopanel .deletephoto').forEach(function (el) { 779 posteditblock.querySelector('.post_fotopanel').insertAdjacentElement('beforeend', el) 780 }) 781 posteditblock.querySelectorAll('.post_fotopanel>*').forEach(function (el, index) { 782 783 if (Number(el.getAttribute('data-num')) != index + 1) { 784 el.classList.add('changenum'); 785 el.setAttribute('data-num', index + 1); 786 } 787 788 }) 789 let numAction = posteditblock.querySelectorAll('.post_fotopanel>*').length + 1; 790 posteditblock.querySelectorAll('.editfield.changed').forEach(function (el) 791 { 792 arrf.push(el.getAttribute('data-field')); 793 arrv.push(setvalfield(el)); 794 arrt.push(el.getAttribute('data-type')); 795 }); 796 797 if (postType === 'storyPiece') 798 { 799 arrf.push('namearticle'); 800 arrv.push('storyPiece'); 801 arrt.push('text'); 802 803 arrf.push('mainPost'); 804 arrv.push(posteditblock.getAttribute('data-idStory')); 805 arrt.push('int'); 806 807 } 808 let htags = [], htO = posteditblock.querySelectorAll('.hashtags .hashtag .hashtegtext'); 809 if (htO.length > 0) 810 { 811 htO.forEach(function (el) 812 { 813 htags.push(el.innerText) 814 }) 815 816 arrf.push('hashtag'); 817 arrv.push(htags.join("; ")); 818 arrt.push('text'); 819 } 820 var videobl = posteditblock.querySelectorAll('.uploadedvideo iframe '); 821 if (videobl.length > 0) 822 { 823 videobl.forEach(function (el) 824 { 825 var datav = {}; 826 datav['id'] = el.getAttribute('data-id'); 827 datav['type'] = el.getAttribute('data-type'); 828 datav['n'] = el.closest('.uploadedvideo').getAttribute('data-num'); 829 datav['caption'] = el.closest('.uploadedvideo').querySelector('.photo_caption').innerHTML 830 arrvideo.push(datav); 831 }) 832 } 833 834 835 if (arrf.length > 0 || arrvideo.length > 0 || posteditblock.querySelectorAll('.uploadedfoto,.uploadedvideo,.changenum').length > 0) 836 { 837 838 winMessage.show({ProgressBarPos: 0, SetnumAction: numAction}); 839 winMessage.show({content: 'ÐÑпÑавлÑÑ'}); 840 let id = posteditblock.getAttribute('data-id') 841 var data = {}; 842 data['id'] = id; 843 data['fields'] = arrf; 844 data['values'] = arrv; 845 data['types'] = arrt; 846 data['video'] = arrvideo; 847 data['table'] = 'postlenta'; 848 postAjaxJson("../dogmem/aj/edittablefields.php", data, saveResult); 849 function saveResult(data) 850 { 851 winMessage.show({ProgressBarPosPlus: 1}); 852 let d = JSON.parse(data); 853 if (Number(d['id']) > 0) 854 { 855 var postblock = null; 856 posteditblock.setAttribute('data-id', d['id']) 857 if (postType != 'storyPiece') { 858 if (id == 0)
859 { ////////////ÐÐÐЫРÐÐСТ 860 postblock = document.querySelector('.post.shablon').cloneNode(true) 861 postblock.setAttribute('post_cuser', "") 862 postblock.classList.remove('shablon') 863 document.querySelector('.lenta').insertAdjacentElement('afterbegin', postblock) 864 postblock.setAttribute('data-id', d['id']) 865 postblock.setAttribute('data-n', 1) 866 seteventToPost(); 867 postblock.querySelector('.flexdiv[post_owner]').setAttribute('data-id', document.querySelector('#maindiv').getAttribute('data-iduser')) 868 postblock.querySelector('.postfooter .menucomment').setAttribute('data-id', d['id']) 869 870 } else 871 { //////////// ÐÐСТ ÐТРÐÐÐÐТÐÐ ÐÐÐÐ 872 postblock = document.querySelector('.post[post_cuser]:not(.editpost)[data-id="' + id + '"]') 873 } 874 } 875 videobl.forEach(function (el) 876 { 877 el.classList.remove('loading', 'changenum') 878 }) 879 saveMedia(posteditblock, postblock) 880 if (posteditblock.querySelector('.plan_posttosocial')&&typeof (savePostToSocial) === "function") 881 {savePostToSocial(posteditblock)} 882 } else 883 { 884 winMessage.show({content: 'ÐÑибка пÑи ÑÐ¾Ñ Ñанении. ' + d['error'], append: true}); 885 } 886 887 } 888 889 } else 890 { if (posteditblock.querySelector('.plan_posttosocial')&&typeof (savePostToSocial) === "function") 891 {savePostToSocial(posteditblock)} 892 winMessage.close({CloseAfter: 1000}) 893 } 894 895 function saveMedia(posteditblock, post) 896 { 897 posteditblock.querySelectorAll('.post_fotopanel .new.deletephoto').forEach(function (el) 898 { 899 el.remove() 900 }) 901 902 let id = posteditblock.getAttribute('data-id'), mediaBlocks = posteditblock.querySelectorAll('.post_fotopanel>*'), action = 10, num = 1; 903 904 mediaBlocks.forEach(function (el, index) 905 { 906 action = 10; 907 num = el.getAttribute('data-num'); 908 var caption = el.querySelector('.photo_caption').innerHTML 909 if (el.classList.contains('uploadedvideo') && el.classList.contains('iframe')) 910 { 911// ниÑего, Ñже оÑпÑавлено 912 } else 913 { 914 if (el.classList.contains('changenum')) 915 { 916 action = 0; 917 } 918 if (el.classList.contains('deletephoto')) 919 { 920 action = -1; 921 } 922 if (el.classList.contains('new')) 923 { 924 action = 1; 925 } 926 } 927 928 if (action < 10) { 929 el.classList.add('loading'); 930 if (el.classList.contains('uploadedfoto')) 931 { 932 var valuesrc = el.querySelector('img').getAttribute('src'), filename = el.querySelector('img').getAttribute('data-filename'); 933 winMessage.show({content: 'ÐагÑÑÐ¶Ð°Ñ ÑоÑо â' + num, append: false, possiblClose: false}); 934 postAjax("../breedadmin/aj/uploadfotocrop.php", 'id=' + id + '&action=' + action + '&ownerphoto=post&value=' + valuesrc + '&fotoname=ÑоÑо к поÑÑ ' + id + '&filename=' + filename + '&num=' + num + '&caption=' + caption, photoOnLoad); 935 }
936 ///////////////////*************************************************/////////////////////////////******** 937 if (el.classList.contains('uploadedvideo') && el.classList.contains('video')) 938 { 939 var formData = new FormData(document.getElementById('forvideo')); 940 if (action === 1) 941 {formData.append("file", el.querySelector('input').files[0]);} 942 if (action < 1) { 943 formData.append("filename", el.querySelector('video').getAttribute('src').replace(/^.*[\\/]/, ''));} 944 formData.append("id", id); 945 formData.append("action", action); 946 formData.append("num", num); 947 formData.append("caption", caption); 948 winMessage.show({content: 'ÐагÑÑÐ¶Ð°Ñ Ð²Ð¸Ð´ÐµÐ¾ Ñайл â' + el.getAttribute('data-num'), append: true, possiblClose: false}); 949 var xhttp = new XMLHttpRequest(); 950 xhttp.open("POST", "aj/uploadVideo.php", true); 951 xhttp.onreadystatechange = function () 952 { 953 if (this.readyState === 4 && this.status == 200) { 954 VideoOnLoad(this.responseText) 955 956 } 957 }; 958 xhttp.send(formData); 959 } 960 } 961 }); 962 endLoadMedia(posteditblock, post) 963 function photoOnLoad(datafrom) 964 { 965 if (datafrom && datafrom != 'error') { 966 var data = JSON.parse(datafrom); 967 var arrok = data['ok'], arrerror = data['error'], ermes = '', c_img = null; 968 // let bl = posteditblock.querySelectorAll('.uploadedfoto[data-num="' + arrok['num'] + '"]') 969 if (arrerror.length > 0) 970 { 971 for (var item in arrerror) 972 { 973 ermes = ermes + arrerror[item].num + ' - ' + arrerror[item].text + '<br>'; 974 } 975 if (ermes !== '') 976 { 977 winMessage.show({content: ermes, append: true, scroll: true, color: 'red'}); 978 } 979 } 980 winMessage.show({ProgressBarPosPlus: 1}); 981 982 if (arrok['rezult'] >= 0) 983 { 984 posteditblock.querySelector('.post_fotopanel .uploadedfoto[data-num="' + arrok.num + '"] ').classList.remove('loading', 'new', 'changenum'); 985 if (arrok['rezult'] == 1) 986 { 987 c_img = posteditblock.querySelector('.post_fotopanel .uploadedfoto[data-num="' + arrok.num + '"] img') 988 c_img.setAttribute('src', '../photo/post/S/' + arrok['filename']) 989 c_img.setAttribute('data-srcset', '../photo/post/' + arrok['filename']) 990 c_img.setAttribute('data-filename', arrok['filename']) 991 // posteditblock.querySelector('.post_fotopanel .uploadedfoto[data-num="' + arrok.num + '"] .uphotptools').remove() 992 } 993 } 994 if (arrok['rezult'] == -1) 995 { 996 posteditblock.querySelector('.post_fotopanel .uploadedfoto[data-num="' + arrok.num + '"] ').remove(); 997 } 998 endLoadMedia(posteditblock, post) 999 } else 1000 { 1001 winMessage.show({content: 'ÐÑи загÑÑзке изобÑÐ°Ð¶ÐµÐ½Ð¸Ñ Ð¿ÑоизоÑла оÑибка. ÐопÑобÑйÑе измениÑÑ ÑоÑо ', append: false}); 1002 } 1003 } 1004 1005 function VideoOnLoad(responseText) 1006 { 1007 var response; 1008 if (responseText) { 1009 1010 try { 1011 response = JSON.parse(responseText); 1012 } catch (e) { 1013 winMessage.show({content: ' Ðа ÑеÑвеÑе пÑоизоÑла оÑибка.', append: true, possiblClose: false}); 1014 console.error(responseText); 1015 return 1016 } 1017 1018 } 1019 1020 winMessage.show({ProgressBarPosPlus: 1}); 1021 var c_el = posteditblock.querySelector('.post_fotopanel [data-num="' + response.num + '"]'); 1022 if (response.upload) { 1023 if (Number(response.action) == 1) {
1024 winMessage.show({content: ' Ðидео Ñайл â' + response.num + ' загÑÑжен ÑÑпеÑно.', append: false, possiblClose: false}); 1025 c_el.classList.remove('loading', 'new'); 1026 c_el.querySelector('video').setAttribute('src', '../shortvideo/dogmem/' + response.filename) 1027 } 1028 if (Number(response.action) == -1) { 1029 c_el.remove() 1030 } 1031 if (Number(response.action) == 0) { 1032 c_el.classList.remove('loading', 'changenum'); 1033 } 1034 1035 } else { 1036 c_el.classList.add('error'); 1037 winMessage.show({content: ' Ðидео Ñайл â' + response.num + ' не загÑÑжен или загÑÑжен Ñ Ð¾Ñибкой. ÐеÑоÑÑно, он ÑлиÑком болÑÑой или пÑоизоÑел Ñбой пÑи пеÑедаÑе на ÑеÑвеÑ.', append: true, possiblClose: false}); 1038 } 1039 endLoadMedia(posteditblock, post) 1040 } 1041 1042 1043 1044 1045 }//saveMedia 1046 1047 endLoadMedia = function (posteditblock, post) 1048 { 1049 if (posteditblock.querySelectorAll('.post_fotopanel .loading').length === 0) 1050 { 1051 fillValues(posteditblock, post) 1052 if (posteditblock.querySelectorAll('.post_fotopanel .error').length > 0) 1053 { 1054 winMessage.show({content: 'ÐаннÑе загÑÑÐ¶ÐµÐ½Ñ Ñ Ð¾Ñибками.', append: false}); 1055 winMessage.close({CloseAfter: 4000}) 1056 mediaToPost(posteditblock, post) 1057 1058 } else { 1059 var id = posteditblock.getAttribute('data-id') 1060 winMessage.show({ProgressBarPos: numAction}); 1061 winMessage.show({content: 'ÐаннÑе загÑÑженÑ.', append: false}); 1062 winMessage.close({CloseAfter: 4000}) 1063 mediaToPost(posteditblock, post) 1064 if (post) { 1065 post.scrollIntoView({block: "center", inline: "center"}); 1066 } 1067 closeMaskEditPost() 1068 } 1069 1070 } 1071 1072 function mediaToPost(posteditblock, post) 1073 { 1074 if (posteditblock.getAttribute('data-typepost') != 'storyPiece') { 1075 var caption_ = '', num = ''; 1076 post.querySelectorAll(' .post_fotopanel .slider__item').forEach(function (el) 1077 { 1078 el.remove() 1079 }) 1080 posteditblock.querySelectorAll(' .post_fotopanel >*').forEach(function (el) 1081 { 1082 num = el.getAttribute('data-num'); 1083 caption_ = posteditblock.querySelector('.post_fotopanel [data-num="' + num + '"] .photo_caption').innerHTML; 1084 if (el.classList.contains('video') || el.classList.contains('iframe')) { 1085 var iframe = el.querySelector('video,iframe').cloneNode(true); 1086 iframe.setAttribute('width', 560) 1087 iframe.setAttribute('height', 315) 1088 var newvideo = document.createElement('div'); 1089 newvideo.classList.add('slider__item', 'video') 1090 newvideo.setAttribute('data-num', num) 1091 newvideo.insertAdjacentElement('beforeend', iframe) 1092 post.querySelector('.post_fotopanel .slider__items').insertAdjacentElement('beforeend', newvideo) 1093 post.querySelector('.post_fotopanel .slider__items [data-num="' + num + '"]').insertAdjacentHTML('beforeend', '<div class="photo_caption">' + caption_ + '</div>') 1094 } 1095 if (el.classList.contains('uploadedfoto')) { 1096 var f_name = el.querySelector('img').getAttribute('data-filename') 1097 post.querySelector('.post_fotopanel .slider__items').insertAdjacentHTML('beforeend', '<picture class="slider__item" data-num="' + num + '"><img src="../photo/post/S/' + f_name + '" data-srcset="../photo/post/' + f_name + '" data-filename="' + f_name + '"><div class="photo_caption">' + caption_ + '</div></picture>') 1098 1099 } 1100 }); 1101 if (posteditblock.classList.contains('new')) 1102 { 1103 slideShow('.post[data-id="' + id + '"] .slider'); 1104 posteditblock.classList.remove('new') 1105 } else 1106 { 1107 if (post.querySelector('.slider').reorganize) 1108 { 1109 post.querySelector('.slider').reorganize(); 1110 } 1111 } 1112 } 1113 } 1114 } 1115 function fillValues(from, to) 1116 { 1117 if (from.getAttribute('data-typepost') == 'storyPiece') { 1118 var idPiece = from.getAttribute('data-id'); 1119 var p_item = null, media = null; 1120 if (from.querySelector('.post_fotopanel img,.post_fotopanel iframe, .post_fotopanel video')) 1121 { 1122 media = from.querySelector('.post_fotopanel img,.post_fotopanel iframe, .post_fotopanel video').cloneNode() 1123 } 1124 p_item = document.querySelector('#maskEditStory .postStoryBlock .minipiece[data-idPiece="' + idPiece + '"]') 1125 if (p_item == null) 1126 { 1127 p_item = document.querySelector('.minipiece.shablon').cloneNode(true) 1128 document.querySelector('#maskEditStory .postStoryBlock .addPiece').insertAdjacentElement('beforebegin', p_item) // Ð¼Ñ Ð¶Ðµ еÑе в ÑедакÑоÑе 1129 p_item.addEventListener('click', editStoryPiecebtn) 1130 p_item.querySelector('.closediv').addEventListener('click', closediv) 1131 p_item.classList.remove('hiden', 'shablon') 1132 p_item.setAttribute('data-idPiece', idPiece); 1133 1134 } else 1135 { 1136 p_item.querySelectorAll('.media>*').forEach(function (el) { 1137 el.remove() 1138 }) 1139 } 1140 if (media) p_item.querySelector('.media').insertAdjacentElement('beforeend', media) 1141 if (from.querySelector('.post_title textarea') && from.querySelector('.post_title textarea').value != '') { 1142 p_item.querySelector('.piece_text').innerText = from.querySelector('.post_title textarea').value.substring(0, 40); 1143 } else 1144 { 1145 p_item.querySelector('.piece_text').innerText = from.querySelector('.post_content textarea').value.substring(0, 40); 1146 } 1147 1148 } else { 1149 to.setAttribute('data-typepost', from.getAttribute('data-typepost')) 1150 to.querySelector('.post_content').innerText = (from.querySelector('textarea[data-field="posttext"]')) ? from.querySelector('textarea[data-field="posttext"]').value : ''; 1151 to.querySelector('.post_title').innerText = from.querySelector('textarea[data-field="title"]').value.replace(/\n/g, ''); 1152 if (from.querySelector('input[data-field="suspendDate"]')) to.setAttribute('data-suspendDate', setvalfield(from.querySelector('input[data-field="suspendDate"]'))); 1153 if (from.querySelector('input[data-field="onlyMyLenta"]')) to.setAttribute('data-onlymylenta', setvalfield(from.querySelector('input[data-field="onlyMyLenta"]'))); 1154 if (from.querySelector('input[data-field="noshow"]')) to.setAttribute('data-noshow', setvalfield(from.querySelector('input[data-field="noshow"]'))); 1155 1156 setHashTagsToPost(from, to) 1157 1158 if (from.querySelector('#avtor').value.trim() != '' && from.querySelector('#avtorlink').value.trim() != '') 1159 { 1160 to.querySelector('.avtor').innerHTML = '<a class="avtorlink" href="' + from.querySelector('#avtorlink').value.trim() + '">' + from.querySelector('#avtor').value.trim() + '</a> '; 1161 } else 1162 { 1163 if (from.querySelector('#avtor').value.trim() != '') 1164 { 1165 to.querySelector('.avtor').innerHTML = from.querySelector('#avtor').value.trim(); 1166 } 1167 if (from.querySelector('#avtorlink').value.trim() != '') 1168 { 1169 to.querySelector('.avtor').innerHTML = '<a class="avtorlink" href="' + from.querySelector('#avtorlink').value.trim() + '">ÐвÑоÑ</a> '; 1170 } 1171 } 1172 from.querySelectorAll('.editfield.changed').forEach(function (el) 1173 { 1174 el.classList.remove('changed') 1175 }) 1176 } 1177 } 1178 1179} 1180 1181function setHashTagsToPost(from, to) 1182{ 1183 var htO = from.querySelectorAll('.hashtags .hashtag .hashtegtext'); 1184 if (htO.length > 0) 1185 { 1186 var post_hashtags = to.querySelector('.post_hashtags') 1187 if (post_hashtags == null) 1188 { 1189 to.querySelector('.post_content').insertAdjacentHTML('afterend', '<div class="post_hashtags"></div>') 1190 post_hashtags = to.querySelector('.post_hashtags') 1191 } else 1192 { 1193 post_hashtags.querySelectorAll('a').forEach(function (el) 1194 { 1195 el.remove() 1196 }); 1197 } 1198 htO.forEach(function (el) 1199 { 1200 post_hashtags.insertAdjacentHTML('beforeend', '<a href="../dogmem/?findstr=' + el.innerText + '" >' + el.innerText + '</a>'); 1201 }) 1202 } 1203} 1204 1205 1206function setNewHashTag() 1207{ 1208 if (event.keyCode === 13) 1209 { 1210 if (this.value.trim() != '') 1211 { 1212 let newHashtag = document.querySelector('.hashtag.shablon').cloneNode(true) 1213 newHashtag.classList.remove('shablon') 1214 newHashtag.querySelector('.hashtegtext').innerText = this.value 1215 this.closest('.post_hashtags').querySelector('.hashtags').append(newHashtag) 1216 this.value = ''; 1217 } 1218 } 1219} 1220 1221 1222function winLinkVideoShow() 1223{ 1224 document.querySelector('.addvideolink').classList.remove('noshow') 1225} 1226 1227//function closeWinAddVideoLink() 1228//{ 1229// 1230// document.querySelector('.addvideolink').classList.add('noshow') 1231//}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.