Advertisement
Ostap34PHP

Untitled

Jun 6th, 2019
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Vue.component('product-attributes',{
  2.     template: `
  3.     <div class="pull-right">
  4.         <button
  5.             type="button"
  6.             class="btn btn-primary"
  7.             data-toggle="modal"
  8.             data-target="#AttributesModal"
  9.             @click="onModalOpen"
  10.          >
  11.             Изменить атрибуты
  12.         </button>      
  13.         <!-- Modal -->
  14.         <div class="modal fade" id="AttributesModal" tabindex="-1" role="dialog" aria-labelledby="AttributesModalLabel">
  15.           <div class="modal-dialog" role="document">
  16.             <div class="modal-content">
  17.               <div class="modal-header">
  18.                 <button type="button" class="close" data-dismiss="modal" aria-label="Close">
  19.                 <span aria-hidden="true">&times;</span></button>
  20.                 <h4 class="modal-title" id="AttributesModalLabel">Изменить атрибуты</h4>
  21.               </div>
  22.               <div class="modal-body">
  23.                 <div class="radio">
  24.                     <label>
  25.                         <input type="radio" v-model ="action_type" value="add">
  26.                         Добавить
  27.                     </label>
  28.                 </div>
  29.                 <div class="radio">
  30.                     <label>
  31.                         <input type="radio" v-model="action_type" value="delete">
  32.                         Удалить
  33.                     </label>
  34.                 </div>
  35.                 <label>
  36.                     Выберите категорию:
  37.                     <select v-model="category" class="form-control">
  38.                         <option v-for="option in categories" :value="option">{{option}}</option>
  39.                     </select>
  40.                 </label>
  41.  
  42.               </div>
  43.               <div class="modal-footer">
  44.                 <button type="button" class="btn btn-default" data-dismiss="modal">Отменить</button>
  45.                 <button type="button" class="btn btn-primary">Отправить изменения</button>
  46.               </div>
  47.             </div>
  48.           </div>
  49.         </div>
  50.     </div>
  51.     `,
  52.     data() {
  53.         return {
  54.             categories: [],
  55.             category: '',
  56.             action_type: 'add'
  57.         }
  58.     },
  59.     methods: {
  60.         onModalOpen() {
  61.             var table = $('#DataTables_Table_0').DataTable();
  62.  
  63.             var allCategories = [];
  64.             $('#DataTables_Table_0 > tbody  > tr').each(function() {
  65.                 var id = $(this).find('td > input[type="checkbox"]').eq(0);
  66.                 var isChecked = id.prop('checked');
  67.                 if(isChecked){
  68.                     var categoryColumn = $(this).find('td').eq(4);
  69.                     var categories = categoryColumn.find('span').toArray().map(function (val, i) {
  70.                         return $(val).text();
  71.                     });
  72.                     allCategories = allCategories.concat(categories);
  73.                 }
  74.             });
  75.  
  76.             this.categories = _.uniq(allCategories)
  77.         }
  78.     }
  79. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement