1// Aqui declararemos las funciones para cargar el contenido del panel 2function submitFormAjax(idForm, ajax) { 3 tinyMCE.triggerSave(true, true); 4 var f_data = new FormData(document.getElementById(idForm)); 5 6 console.log(subdirectorio+"/modulo_administracion/ajax/"+ajax+".php"); 7 8 $.ajax({ 9 type: "POST", 10 url: subdirectorio+"/modulo_administracion/ajax/"+ajax+".php", 11 data: f_data, 12 contentType: false, 13 processData: false, 14 success: function(result){ 15 16 var data = JSON.parse(result); 17 $('#dislplayMsj').html(data.html); 18 $('#dislplayMsj').fadeIn(); 19 20 if(!data.error){ 21 if(data.formCrear) { 22 $('#'+idForm).trigger("reset"); 23 } 24 loadTinyMCE(); 25 } 26 27 if(data.catalogo_preview){ 28 var imagen_url = data.catalogo_preview.imagen; 29 var pdf_url = data.catalogo_preview.pdf; 30 if(data.catalogo_preview.imagen){ 31 $('#imagen_destacada').attr('src', imagen_url); 32 } 33 if(data.catalogo_preview.pdf){ 34 $('#pdf_catalogo').attr('href', pdf_url); 35 } 36 37 } 38 39 $("html, body").animate({scrollTop: 0}, 1000); 40 41 }, 42 error: function () { 43 alert("Error llamando a ajax"); 44 }, 45 }); 46} 47 48function loadSection(html) { 49 if($('#muestraContenido').is(':visible')) { 50 $('#muestraContenido').fadeOut('fast', function (){ 51 $('#muestraContenido').load(subdirectorio+'/modulo_administracion/templates/'+html+'.html', 52 function (responseTxt, statusTxt, xhr){ 53 if (statusTxt == "success") 54 $(this).html($(this).html().replace(/{subdirectorio}/, subdirectorio)); 55 $('#muestraContenido').fadeIn(); 56 57 loadTinyMCE(); 58 if (statusTxt == "error") 59 console.log("Error: " + xhr.status + ": " + xhr.statusText); 60 }); 61 }); 62 } 63} 64 65function loadSectionAjax(html, ajax, id = 0) { 66 if($('#muestraContenido').is(':visible')) { 67 $('#muestraContenido').fadeOut('fast', function (){ 68 $.ajax({
69 url: subdirectorio+"/modulo_administracion/ajax/"+ajax+".php", 70 method: 'POST', 71 data:{ 72 'html_cont': html, 73 'subdir':subdirectorio, 74 'id':id 75 }, 76 success: function(result){ 77 var data = JSON.parse(result); 78 if(!data.error){ 79 $('#muestraContenido').html(data.html); 80 $('#muestraContenido').fadeIn(); 81 82 loadTinyMCE(); 83 } 84 85 }, 86 error: function () { 87 alert("Error llamando a ajax"); 88 }, 89 }); 90 }); 91 } 92} 93 94function loadVistaCategoriaFiltros(id_fam, id_subfam = '') { 95 if($('#muestraContenido').is(':visible')) { 96 $('#muestraContenido').fadeOut('fast', function (){ 97 $.ajax({ 98 url: subdirectorio+"/modulo_administracion/ajax/pintaVistaCategoria.php", 99 method: 'POST', 100 data:{ 101 'subdir':subdirectorio, 102 'id_fam':id_fam, 103 'id_subfam':id_subfam 104 }, 105 success: function(result){ 106 var data = JSON.parse(result); 107 if(!data.error){ 108 $('#muestraContenido').html(data.html); 109 $('#muestraContenido').fadeIn(); 110 111 loadTinyMCE(); 112 } 113 114 }, 115 error: function () { 116 alert("Error llamando a ajax"); 117 }, 118 }); 119 }); 120 } 121} 122 123function muestraDetallesSubfamilia(id_fam, id_subfam, id_fam_extra = ''){ 124 if($('#muestraContenido').is(':visible')) { 125 $('#muestraContenido').fadeOut('fast', function (){ 126 $.ajax({
127 url: subdirectorio+"/modulo_administracion/ajax/pintaVistaFamiliaExtra.php", 128 method: 'POST', 129 data:{ 130 'subdir':subdirectorio, 131 'id_fam':id_fam, 132 'id_subfam':id_subfam, 133 'id_fam_extra':id_fam_extra 134 }, 135 success: function(result){ 136 var data = JSON.parse(result); 137 if(!data.error){ 138 $('#muestraContenido').html(data.html); 139 $('#muestraContenido').fadeIn(); 140 141 $('[data-toggle="tooltip"]').tooltip() 142 143 loadTinyMCE(); 144 } 145 146 }, 147 error: function () { 148 alert("Error llamando a ajax"); 149 }, 150 }); 151 }); 152 } 153} 154 155function loadVistaNuevoFiltro(id_fam, id_subfam = '') { 156 if($('#muestraContenido').is(':visible')) { 157 $('#muestraContenido').fadeOut('fast', function (){ 158 $.ajax({
159 url: subdirectorio+"/modulo_administracion/ajax/pintaVistaNuevoFiltro.php", 160 method: 'POST', 161 data:{ 162 'subdir':subdirectorio, 163 'id_fam':id_fam, 164 'id_subfam':id_subfam 165 }, 166 success: function(result){ 167 var data = JSON.parse(result); 168 if(!data.error){ 169 $('#muestraContenido').html(data.html); 170 $('#muestraContenido').fadeIn(); 171 172 loadTinyMCE(); 173 } 174 175 }, 176 error: function () { 177 alert("Error llamando a ajax"); 178 }, 179 }); 180 }); 181 } 182} 183 184function loadVistaNuevaFamiliaExtra(id_fam, id_subfam, id_fam_extra_padre) { 185 if($('#muestraContenido').is(':visible')) { 186 $('#muestraContenido').fadeOut('fast', function (){ 187 $.ajax({ 188 url: subdirectorio+"/modulo_administracion/ajax/pintaVistaNuevaFamiliaExtra.php", 189 method: 'POST', 190 data:{ 191 'subdir':subdirectorio, 192 'id_fam':id_fam, 193 'id_subfam':id_subfam, 194 'id_fam_extra_padre':id_fam_extra_padre 195 }, 196 success: function(result){ 197 var data = JSON.parse(result); 198 if(!data.error){ 199 $('#muestraContenido').html(data.html); 200 $('#muestraContenido').fadeIn(); 201 202 loadTinyMCE(); 203 } 204 205 }, 206 error: function () { 207 alert("Error llamando a ajax"); 208 }, 209 }); 210 }); 211 } 212} 213 214function loadVistaEditaFamiliaExtra(id, id_fam, id_subfam, id_familia_padre = ''){ 215 if($('#muestraContenido').is(':visible')) { 216 $('#muestraContenido').fadeOut('fast', function (){ 217 $.ajax({
218 url: subdirectorio+"/modulo_administracion/ajax/pintaEdicionFamiliaExtra.php", 219 method: 'POST', 220 data:{ 221 'subdir':subdirectorio, 222 'id':id, 223 'id_fam':id_fam, 224 'id_subfam':id_subfam, 225 'id_familia_padre':id_familia_padre 226 }, 227 success: function(result){ 228 if(result){ 229 $('#muestraContenido').html(result); 230 $('#muestraContenido').fadeIn(); 231 232 } 233 234 }, 235 error: function () { 236 alert("Error llamando a ajax"); 237 }, 238 }); 239 }); 240 } 241} 242 243function loadVistaEditaFamiliaSuperior(id){ 244 if($('#muestraContenido').is(':visible')) { 245 $('#muestraContenido').fadeOut('fast', function (){ 246 $.ajax({ 247 url: subdirectorio+"/modulo_administracion/ajax/pintaEdicionFamiliaSuperior.php", 248 method: 'POST', 249 data:{ 250 'subdir':subdirectorio, 251 'id':id 252 }, 253 success: function(result){ 254 if(result){ 255 $('#muestraContenido').html(result); 256 $('#muestraContenido').fadeIn(); 257 258 } 259 260 }, 261 error: function () { 262 alert("Error llamando a ajax"); 263 }, 264 }); 265 }); 266 } 267} 268 269function loadVistaEditaFiltro(id_filtro, id_fam, id_subfam){ 270 if($('#muestraContenido').is(':visible')) { 271 $('#muestraContenido').fadeOut('fast', function (){ 272 $.ajax({
273 url: subdirectorio+"/modulo_administracion/ajax/pintaEdicionFiltro.php", 274 method: 'POST', 275 data:{ 276 'subdir':subdirectorio, 277 'id_filtro':id_filtro, 278 'id_fam':id_fam, 279 'id_subfam':id_subfam 280 }, 281 success: function(result){ 282 if(result){ 283 $('#muestraContenido').html(result); 284 $('#muestraContenido').fadeIn(); 285 286 } 287 288 }, 289 error: function () { 290 alert("Error llamando a ajax"); 291 }, 292 }); 293 }); 294 } 295} 296 297function addCampoForm() { 298 $( ".input-atributo:first" ).clone().appendTo( "#atributos" ); 299} 300 301function eliminaNoticia(id) { 302 303 $.ajax({ 304 url: subdirectorio+"/modulo_administracion/ajax/eliminarNoticia.php", 305 method: 'POST', 306 data:{ 307 'subdir':subdirectorio, 308 'id':id 309 }, 310 success: function(result){ 311 var data = JSON.parse(result); 312 if(!data.error){ 313 $('#eliminarNot').modal('toggle'); 314 loadSectionAjax('template-noticias-list-administracion','pintaListaNoticias'); 315 }else{ 316 alert('Ocurrió un error al eliminar la noticia'); 317 } 318 319 }, 320 error: function () { 321 alert("Error llamando a ajax"); 322 }, 323 }); 324 325} 326function eliminaCategoriaDestacada(uniqid) { 327 328 $.ajax({ 329 url: subdirectorio+"/modulo_administracion/ajax/eliminarCategoriaDestacada.php", 330 method: 'POST', 331 data:{ 332 'subdir':subdirectorio, 333 'uniqid':uniqid 334 }, 335 success: function(result){ 336 var data = JSON.parse(result); 337 if(!data.error){ 338 $('#eliminarCategoriaDestacada').modal('toggle'); 339 loadSectionAjax('categoria_destacada/template-categoria-destacada-administracion','pintaListaCategoriasDestacadas'); 340 }else{ 341 alert('Ocurrió un error al eliminar la categoria'); 342 } 343 344 }, 345 error: function () { 346 alert("Error llamando a ajax"); 347 }, 348 }); 349 350} 351 352function eliminaCatalogo(uniqid) { 353 354 $.ajax({ 355 url: subdirectorio+"/modulo_administracion/ajax/eliminarCatalogo.php", 356 method: 'POST', 357 data:{ 358 'subdir':subdirectorio, 359 'uniqid':uniqid 360 }, 361 success: function(result){ 362 var data = JSON.parse(result); 363 if(!data.error){ 364 $('#eliminarCat').modal('toggle'); 365 loadSectionAjax('catalogos/template-catalogos-administracion','pintaListaCatalogos'); 366 }else{ 367 alert('Ocurrió un error al eliminar el catálogo'); 368 } 369 370 }, 371 error: function () { 372 alert("Error llamando a ajax"); 373 }, 374 }); 375 376} 377 378function eliminaMenu(id) { 379 380 $.ajax({ 381 url: subdirectorio+"/modulo_administracion/ajax/eliminarMenu.php", 382 method: 'POST', 383 data:{ 384 'subdir':subdirectorio, 385 'id':id 386 }, 387 success: function(result){ 388 var data = JSON.parse(result); 389 if(!data.error){ 390 $('#eliminarMenu').modal('toggle'); 391 loadSectionAjax('menus/template-menus-administracion','pintaListaMenus'); 392 }else{ 393 alert('Ocurrió un error al eliminar el menú'); 394 } 395 396 }, 397 error: function () { 398 alert("Error llamando a ajax"); 399 }, 400 }); 401 402} 403 404function eliminaSliderItem(id) { 405 406 $.ajax({ 407 url: subdirectorio+"/modulo_administracion/ajax/eliminarSliderItem.php", 408 method: 'POST', 409 data:{ 410 'subdir':subdirectorio, 411 'id':id 412 }, 413 success: function(result){ 414 var data = JSON.parse(result); 415 if(!data.error){ 416 $('#eliminarSlide').modal('toggle'); 417 loadSectionAjax('slider_admin/template-slides-list-administracion','pintaSlider'); 418 }else{ 419 alert('Ocurrió un error al eliminar la noticia'); 420 } 421 422 }, 423 error: function () { 424 alert("Error llamando a ajax"); 425 }, 426 }); 427 428} 429 430function eliminaComercial(id) { 431 $.ajax({ 432 url: subdirectorio+"/modulo_administracion/ajax/eliminarComercial.php", 433 method: 'POST', 434 data:{ 435 'subdir':subdirectorio, 436 'id':id 437 }, 438 success: function(result){ 439 var data = JSON.parse(result); 440 if(!data.error){ 441 $('#eliminarCom').modal('toggle'); 442 loadSectionAjax('comerciales/template-comerciales-list-administracion','pintaListaComerciales'); 443 }else{ 444 alert('Ocurrió un error al eliminar el comercial'); 445 } 446 447 }, 448 error: function () { 449 alert("Error llamando a ajax"); 450 }, 451 }); 452} 453 454function eliminaFiltro(id) { 455 456 $.ajax({
457 url: subdirectorio+"/modulo_administracion/ajax/eliminarFiltro.php", 458 method: 'POST', 459 data:{ 460 'subdir':subdirectorio, 461 'id':id 462 }, 463 success: function(result){ 464 var data = JSON.parse(result); 465 if(!data.error){ 466 $('#eliminarFiltro').modal('toggle'); 467 $('#tr-'+id).remove(); 468 }else{ 469 alert('Ocurrió un error al eliminar el filtro'); 470 } 471 472 }, 473 error: function () { 474 alert("Error llamando a ajax"); 475 }, 476 }); 477 478} 479 480function eliminaFamiliaExtra(id) { 481 482 $.ajax({ 483 url: subdirectorio+"/modulo_administracion/ajax/eliminarFamiliaExtra.php", 484 method: 'POST', 485 data:{ 486 'subdir':subdirectorio, 487 'id':id 488 }, 489 success: function(result){ 490 var data = JSON.parse(result); 491 if(!data.error){ 492 $('#eliminarFamExtra').modal('toggle'); 493 $('#tr-'+id).remove(); 494 }else{ 495 alert('Ocurrió un error al eliminar la familia extra'); 496 } 497 498 }, 499 error: function () { 500 alert("Error llamando a ajax"); 501 }, 502 }); 503 504} 505 506function eliminaFamiliaSuperior(id) { 507 508 $.ajax({ 509 url: subdirectorio+"/modulo_administracion/ajax/eliminarFamiliaSuperior.php", 510 method: 'POST', 511 data:{ 512 'subdir':subdirectorio, 513 'id':id 514 }, 515 success: function(result){ 516 var data = JSON.parse(result); 517 if(!data.error){ 518 $('#eliminarFamSuperior').modal('toggle'); 519 $('#tr-'+id).remove(); 520 }else{ 521 alert('Ocurrió un error al eliminar la familia superior'); 522 } 523 524 }, 525 error: function () { 526 alert("Error llamando a ajax"); 527 }, 528 }); 529 530} 531 532function borrarAtributo(id) { 533 534 $.ajax({ 535 url: subdirectorio+"/modulo_administracion/ajax/eliminarAtributoFiltro.php", 536 method: 'POST', 537 data:{ 538 'subdir':subdirectorio, 539 'id':id 540 }, 541 success: function(result){ 542 var data = JSON.parse(result); 543 if(!data.error){ 544 $('#atributo-'+id).remove(); 545 }else{ 546 alert('Ocurrió un error al eliminar el atributo'); 547 } 548 549 }, 550 error: function () { 551 alert("Error llamando a ajax"); 552 }, 553 }); 554 555} 556 557function muestraSubfamiliasByFamilia(id_fam){ 558 $('#listaSubfamilias').fadeOut('fast', function (){ 559 $.ajax({
560 url: subdirectorio+"/modulo_administracion/ajax/ajax-get-subfamilias-by-familia.php", 561 method: 'POST', 562 data:{ 563 'subdir':subdirectorio, 564 'id_fam':id_fam 565 }, 566 success: function(result){ 567 var data = JSON.parse(result); 568 if(!data.error){ 569 $('#listaSubfamilias').html(data.html); 570 $('#listaSubfamilias').fadeIn(); 571 }else{ 572 alert('Ocurrió un error al obtener las subfamilias'); 573 } 574 575 }, 576 error: function () { 577 alert("Error llamando a ajax"); 578 }, 579 }); 580 }); 581} 582 583function cargaDatosModal(id, titulo, idModal) { 584 var modal = $('#'+idModal); 585 modal.find('#tituloNotModalEliminar').text(titulo); 586 $("#eliminar").remove(); 587 modal.find('.modal-footer').append( '<span class="nav-link c-pointer btn-warning" id="eliminar" onclick="eliminaNoticia(\''+id+'\');">Borrar</span>' ); 588} 589 590function cargaDatosModalSlider(id, idModal) { 591 var modal = $('#'+idModal); 592 $("#eliminar").remove(); 593 modal.find('.modal-footer').append( '<span class="nav-link c-pointer btn-warning" id="eliminar" onclick="eliminaSliderItem(\''+id+'\');">Borrar</span>' ); 594} 595 596function cargaDatosModalCategoriaDestacada(uniqid, titulo, idModal) { 597 var modal = $('#'+idModal); 598 modal.find('#tituloCategoriaDestacadaModalEliminar').text(titulo); 599 $("#eliminar").remove(); 600 modal.find('.modal-footer').append( '<span class="nav-link c-pointer btn-warning" id="eliminar" onclick="eliminaCategoriaDestacada(\''+uniqid+'\');">Borrar</span>' ); 601} 602 603 604function cargaDatosModalCatalogo(uniqid, titulo, idModal) { 605 var modal = $('#'+idModal); 606 modal.find('#tituloCatModalEliminar').text(titulo); 607 $("#eliminar").remove(); 608 modal.find('.modal-footer').append( '<span class="nav-link c-pointer btn-warning" id="eliminar" onclick="eliminaCatalogo(\''+uniqid+'\');">Borrar</span>' ); 609} 610 611function cargaDatosModalMenu(id, titulo, idModal) { 612 var modal = $('#'+idModal); 613 modal.find('#tituloMenuModalEliminar').text(titulo); 614 $("#eliminar").remove(); 615 modal.find('.modal-footer').append( '<span class="nav-link c-pointer btn-warning" id="eliminar" onclick="eliminaMenu(\''+id+'\');">Borrar</span>' ); 616} 617 618function cargaDatosModalComercial(id, titulo, idModal) { 619 var modal = $('#'+idModal); 620 modal.find('#tituloComModalEliminar').text(titulo); 621 $("#eliminar").remove(); 622 modal.find('.modal-footer').append( '<span class="nav-link c-pointer btn-warning" onclick="eliminaComercial(\''+id+'\');">Borrar</span>' ); 623} 624 625function cargaDatosModalFiltro(id, titulo, idModal) { 626 var modal = $('#'+idModal); 627 modal.find('#tituloFiltroModalEliminar').text(titulo); 628 $("#eliminar").remove(); 629 modal.find('.modal-footer').append( '<span class="nav-link c-pointer btn-warning"" id="eliminar" onclick="eliminaFiltro(\''+id+'\');">Borrar</span>' ); 630} 631 632function cargaDatosModalFamExtra(id, titulo, idModal) { 633 var modal = $('#'+idModal); 634 modal.find('#tituloFamExtraModalEliminar').text(titulo); 635 $("#eliminar").remove(); 636 modal.find('.modal-footer').append( '<span class="nav-link c-pointer btn-warning"" id="eliminar" onclick="eliminaFamiliaExtra(\''+id+'\');">Borrar</span>' ); 637} 638 639function cargaDatosModalFamSuperior(id, titulo, idModal) { 640 var modal = $('#'+idModal); 641 modal.find('#tituloFamSuperiorModalEliminar').text(titulo); 642 $("#eliminar").remove(); 643 modal.find('.modal-footer').append( '<span class="nav-link c-pointer btn-warning"" id="eliminar" onclick="eliminaFamiliaSuperior(\''+id+'\');">Borrar</span>' ); 644} 645 646function loadRelAttrProd(id_filtro, id_fam, id_subfam) { 647 if($('#muestraContenido').is(':visible')) { 648 $('#muestraContenido').fadeOut('fast', function (){ 649 $.ajax({
650 url: subdirectorio+"/modulo_administracion/ajax/pintaRelacionAttrProd.php", 651 method: 'POST', 652 data:{ 653 'subdir':subdirectorio, 654 'id_filtro':id_filtro, 655 'id_fam':id_fam, 656 'id_subfam':id_subfam 657 }, 658 success: function(result){ 659 if(result){ 660 $('#muestraContenido').html(result); 661 $('#muestraContenido').fadeIn(); 662 663 } 664 665 }, 666 error: function () { 667 alert("Error llamando a ajax"); 668 }, 669 }); 670 }); 671 } 672} 673 674function loadRelFamExtraProd(id_fam_extra, id_fam, id_subfam, id_familia_padre = '') { 675 if($('#muestraContenido').is(':visible')) { 676 $('#muestraContenido').fadeOut('fast', function (){ 677 $.ajax({ 678 url: subdirectorio+"/modulo_administracion/ajax/pintaRelacionFamExtraProd.php", 679 method: 'POST', 680 data:{ 681 'subdir':subdirectorio, 682 'id':id_fam_extra, 683 'id_fam':id_fam, 684 'id_subfam':id_subfam, 685 'id_familia_padre':id_familia_padre 686 }, 687 success: function(result){ 688 if(result){ 689 $('#muestraContenido').html(result); 690 $('#muestraContenido').fadeIn(); 691 692 } 693 694 }, 695 error: function () { 696 alert("Error llamando a ajax"); 697 }, 698 }); 699 }); 700 } 701} 702 703 704function loadTinyMCE(){ 705 var useDarkMode = window.matchMedia('(prefers-color-scheme: dark)').matches; 706 tinymce.remove(); 707 tinymce.init({ 708 selector: '#cuerpo', 709 plugins: 'print preview paste importcss searchreplace autolink autosave save directionality code visualblocks visualchars fullscreen image link media template codesample table charmap hr pagebreak nonbreaking anchor toc insertdatetime advlist lists wordcount imagetools textpattern noneditable help charmap quickbars emoticons', 710 language: 'es', 711 imagetools_cors_hosts: ['picsum.photos'], 712 menubar: 'file edit view insert format tools table help ', 713 toolbar: 'undo redo | bold italic underline strikethrough | fontselect fontsizeselect formatselect | alignleft aligncenter alignright al
713ignjustify | outdent indent | numlist bullist | forecolor backcolor removeformat | pagebreak | charmap emoticons | fullscreen preview save print | insertfile image media template link anchor codesample | ltr rtl | code', 714 toolbar_sticky: true, 715 autosave_ask_before_unload: true, 716 autosave_interval: '30s', 717 autosave_prefix: '{path}{query}-{id}-', 718 autosave_restore_when_empty: false, 719 autosave_retention: '2m', 720 721 722 723 // SUBIDA SEGURA Y OBLIGATORIA 724 automatic_uploads: true, 725 images_upload_url: subdirectorio + '/modulo_administracion/ajax/upload_image.php', 726 727 //nunca permitir data:image/base64 728 paste_data_images: true, 729 images_dataimg_filter: function(img) { 730 return true; 731 }, 732 733 //handler personalizado 734 images_upload_handler: function (blobInfo, success, failure) { 735 var xhr = new XMLHttpRequest(); 736 xhr.open('POST', subdirectorio + '/modulo_administracion/ajax/upload_image.php'); 737 738 var formData = new FormData(); 739 formData.append('file', blobInfo.blob(), blobInfo.filename()); 740 741 xhr.onload = function () { 742 if (xhr.status != 200) { 743 failure('Error HTTP: ' + xhr.status); 744 return; 745 } 746 747 var json = JSON.parse(xhr.responseText); 748 749 if (!json || typeof json.location !== 'string') { 750 failure('Respuesta JSON inválida'); 751 return; 752 } 753 754 success(json.location); 755 }; 756 757 xhr.send(formData); 758 }, 759 760 761 // OPCIONES DE IMAGEN 762 file_picker_types: 'image', 763 image_advtab: true, 764 765 //CONFIGURACIÃN GENERAL 766 relative_urls : false, 767 remove_script_host : false, 768 convert_urls : true, 769 verify_html: false, 770 importcss_append: true, 771 772 content_css: [ 773 'https://use.fontawesome.com/releases/v5.15.1/css/all.css', 774 'default' 775 ], 776 image_title: true, 777 /* enable automatic uploads of images represented by blob or data URIs*/ 778 automatic_uploads: true, 779 /* 780 URL of our upload handler (for more details check: https://www.tiny.cloud/docs/configure/file-image-upload/#images_upload_url) 781 images_upload_url: 'postAcceptor.php', 782 here we add custom filepicker only to Image dialog 783 */ 784 file_picker_types: 'image', 785 /* and here's our custom image picker*/ 786 file_picker_callback: function (cb, value, meta) { 787 var input = document.createElement('input'); 788 input.setAttribute('type', 'file'); 789 input.setAttribute('accept', 'image/*'); 790 791 /* 792 Note: In modern browsers input[type="file"] is functional without 793 even adding it to the DOM, but that might not be the case in some older 794 or quirky browsers like IE, so you might want to add it to the DOM 795 just in case, and visually hide it. And do not forget do remove it 796 once you do not need it anymore. 797 */ 798 799 input.onchange = function () { 800 var file = this.files[0]; 801 802 var reader = new FileReader(); 803 reader.onload = function () { 804 /* 805 Note: Now we need to register the blob in TinyMCEs image blob 806 registry. In the next release this part hopefully won't be 807 necessary, as we are looking to handle it internally. 808 */ 809 var id = 'blobid' + (new Date()).getTime(); 810 var blobCache = tinymce.activeEditor.editorUpload.blobCache; 811 var base64 = reader.result.split(',')[1]; 812 var blobInfo = blobCache.create(id, file, base64); 813 blobCache.add(blobInfo); 814 815 /* call the callback and populate the Title field with the file name */ 816 cb(blobInfo.blobUri(), { title: file.name }); 817 }; 818 reader.readAsDataURL(file); 819 }; 820 821 input.click(); 822 }, 823 templates: [], 824 template_cdate_format: '[Date Created (CDATE): %m/%d/%Y : %H:%M:%S]', 825 template_mdate_format: '[Date Modified (MDATE): %m/%d/%Y : %H:%M:%S]', 826 height: 600, 827 image_caption: true, 828 829 quickbars_selection_toolbar: 'bold italic | quicklink h2 h3 blockquote quickimage quicktable', 830 noneditable_noneditable_class: 'mceNonEditable', 831 toolbar_mode: 'sliding', 832 contextmenu: 'link image imagetools table', 833 skin: useDarkMode ? 'oxide-dark' : 'oxide', 834 // content_css: useDarkMode ? 'dark' : 'default', 835 content_style: 'body { font-family:Helvetica,Arial,sans-serif; font-size:14px }' 836 }); 837 838 839} 840 841
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.