Advertisement
Guest User

Untitled

a guest
May 22nd, 2018
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
HTML 7.65 KB | None | 0 0
  1. <div id="accordion">
  2. <!--tabai sugeneruojami automatiskai su JS-->
  3. </div>
  4.  
  5. <script>
  6.   //--------------------- Automatinis akordeonas ---------------------------
  7. // Pasirinkus kategorija sugeneruojamas akordeonas su katalogais
  8. $('[name=btnCatId]').click(function (e) {
  9.     e.preventDefault();
  10.     var id = $(this).attr("data-groupid");
  11.     loadMaterialCatalogs(id);
  12. });
  13. function loadMaterialCatalogs($groupId) {
  14.     $('#accordion').empty();
  15.     $.getJSON('/profile/materials/catalogs?groupId=' + $groupId, function (result) {
  16.         $.each(result, function (i, field) {
  17.             var accCard = $("<div class='card'/>"),
  18.                     accCardHeader = $("<div class='card-header'/>"),
  19.                     accCardHeaderH5 = $("<h5 class='mb-0'/>"),
  20.                     checkboxas = '<input type="checkbox" name="catCheckbox" id="' + i + '"/>',
  21.                     accCardHeaderA = $("<a class='btn btn-link' name='textureCategoryTitle' data-toggle='collapse' data-target='#collapse-" + i + "' aria-expanded='true'/>"),
  22.                     accCardHeaderInput = $("<input type='text' name='textureCategoryTitleEdit' value='" + result[i].title_en + "' data-catalogid='catalog_id'/>"),
  23.                     accCollapse = $("<div id='collapse-" + i + "' class='collapse' data-parent='#accordion'/>"),
  24.                     accCollapseBody = $("<div class='card-body'/>"),
  25.                     accCollapseEditIcons = $("<div class='editIcons'/>"),
  26.                     btnEdit = "<a href='#' class='btn btn-sm btn-primary' name='btnEdit' title='Redaguoti'><i class='fa fa-edit'></i></a>",
  27.                     btnArchive = "<a href='/profile/materials/archive?id=" + result[i].id + "' class='btn btn-sm btn-danger' name='btnArchive' title='Į šiukšlinę'><i class='fa fa-trash'></i></a>",
  28. //            Teksturu katalogas
  29.                     ul = $("<ul class='texture-catalog'/>"),
  30.                     textureNew = '<li title="Pridėti" name="textureNew"><a href="/profile/materials/add" title="Nauja tekstūra"><i class="fa fa-plus fa-2x"></i></a></li>',
  31.                     //save icons
  32.                     btnSave = '<a href="/profile/materials/save???" class="btn btn-sm btn-success" name="btnSave">Išsaugoti</a>',
  33.                     btnCancel = '<a href="#" class="btn btn-sm btn-outline-dark" name="btnCancel">Atšaukti</a>';
  34.  
  35.             $('#accordion').append(accCard);
  36.             $(accCard).append(accCardHeader);
  37.             $(accCardHeader).append(accCardHeaderH5).append(checkboxas);
  38.             $(accCardHeaderH5).append(accCardHeaderA);
  39.             $(accCardHeaderA).append(result[i].title_en);
  40.             $(accCardHeaderH5).append(accCardHeaderInput);
  41.             //Accordeono kolapsas
  42.             $(accCard).append(accCollapse); // turi buti foreach texture catalog
  43.             $(accCollapse).append(accCollapseBody);
  44.             if (i === 0) {
  45.                 $(accCollapse.addClass('show'));
  46.             }
  47.             $(accCollapseBody).append(accCollapseEditIcons);
  48.             $(accCollapseEditIcons).append(btnEdit);
  49.             $(accCollapseEditIcons).append(btnArchive);
  50.  
  51.             // Uzkraunam visas rastas teksturas i kataloga paga jo id
  52.             $.getJSON('/profile/materials/materials?catalogId=' + result[i].id, function (result) {
  53.                 //Teksturu katalogas
  54.                 $(accCollapseBody).append('<h5 class="pl">Iš viso: ' + result.length + '</h5><div class="cb"></div>');
  55.                 $(accCollapseBody).append(ul);
  56.                 $.each(result, function (j, field) {
  57.                     $(ul).append(
  58.                             '<li>' +
  59.                             '<div class="texture"></div>' + //texture image
  60.                             '<input type="text" name="textureName" value="' + result[j].name + '" data-textureid="' + result[j].id + '" title="' + result[j].name + '" disabled="true"/>' +
  61.                             '<div class="input-group akcija">' + //akcijos wrapper
  62.                             '<div class="input-group-append">' + //input-group-append
  63.                             '<input type="number" min="0" max="100" value="0" class="form-control" placeholder="0" name="textureDiscount" title="Nuolaida" disabled="true"/>' +
  64.                             '<span class="input-group-text">%</span>' + //akcijos procentai
  65.                             '</div>' + //end input-group-append
  66.                             '</div>' + //end akcijos wrapper
  67.                             '<a href="/profile/materials/edit?id=' + result[j].id + '" title="Redaguoti" name="btnEditTexture" class="iconEdit"><i class="fa fa-edit"></i></a>' + //btnEditTexture
  68.                             '<a href="/profile/materials/archivetexture?id=' + result[j].id + '" title="Į šiukšlinę" name="btnDelTexture" class="iconTrash"><i class="fa fa-trash text-danger"></i></a>' + //btnDeleteTexture
  69.                             '</li>'
  70.                             );
  71.                 });
  72.                 $(ul).append(textureNew);
  73.                 $(accCollapseBody).append('<div class="cb"></div>' + '<div class="saveIcons">' + btnSave + btnCancel + '</div>'); // Mygtukai save ir cancel
  74.  
  75.             });
  76.         });
  77.     });
  78. }
  79.  
  80. //-------------------- Texture catalog edit button click --------------------
  81. function enableEditTextures($accTab, enable) {
  82.     var c = $accTab.parents('.card');
  83.     if (enable) {
  84.         $('[name=textureCategoryTitle]').addClass('disabled'); // disable other tabs
  85.         $(c.find('[name=textureCategoryTitle]')).removeClass('disabled'); // keep this tab enabled
  86.         c.find('[name=textureCategoryTitle]').hide(); // hide catalog title
  87.         c.find('[name=textureCategoryTitleEdit]').show(); // show catalog title input
  88.         c.find('[name=btnDelTexture]').show(); // show trashbin icons
  89.         c.find('[name=btnEditTexture]').hide(); // hide edit icons
  90.         c.find('[name=textureName]').prop('disabled', false); // enable all textureName inputs
  91.         c.find('[name=textureDiscount]').prop('disabled', false); // enable all textureDiscount inputs
  92.         $('[name=catCheckbox]').prop('disabled', true); // disable catalog checkboxes
  93.         c.find('[name=textureNew]').hide(); // hide new texture button
  94.         c.find('[name=textureCopy]').hide(); // hide copy texture button
  95.         c.find('.saveIcons').show(); // show save and cancel buttons
  96.         $accTab.hide(); //hide edit button
  97.     } else {
  98.         $('[name=textureCategoryTitle]').removeClass('disabled'); // enable other tabs
  99.         c.find('[name=textureCategoryTitle]').show(); // show catalog title
  100.         c.find('[name=textureCategoryTitleEdit]').hide(); // hide catalog title input
  101.         c.find('[name=btnDelTexture]').hide(); // hide trashbin icons
  102.         c.find('[name=btnEditTexture]').show(); // show edit icons
  103.         c.find('[name=textureName]').prop('disabled', true); // disable all textureName inputs
  104.         c.find('[name=textureDiscount]').prop('disabled', true); // disable all textureDiscount inputs
  105.         $('[name=catCheckbox]').prop('disabled', false); // enable catalog checkboxes
  106.         c.find('[name=textureNew]').show(); // show new texture button
  107.         c.find('[name=textureCopy]').show(); // show copy texture button
  108.         c.find('.saveIcons').hide(); // hide save and cancel buttons
  109.         c.find('[name=btnEdit]').show(); //show edit button
  110.     }
  111. }
  112. // Teksturu valdymas, mygtuku actionai
  113. $(document).on('click', "[name=btnEdit]", function (e) {
  114.     e.preventDefault();
  115.     enableEditTextures($(this), true);
  116. });
  117. $(document).on('click', "[name=btnCancel]", function (e) {
  118.     e.preventDefault();
  119.     enableEditTextures($(this), false);
  120. });
  121. //--------------------- end Automatinis akordeonas ---------------------------
  122. </script>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement