Advertisement
Guest User

Untitled

a guest
Oct 16th, 2019
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
HTML 5 6.17 KB | None | 0 0
  1. <!-- Кнопка Сохранить фильтр лежит рядом с кнопкой Очистить фильтр -->
  2. <button type="button" class="btn white" id="save-filter">Сохранить фильтр</button>
  3. <!-- // -->
  4.  
  5. <div class="modalover modls" id="modal-save-filter" style="display: none;">
  6.     <div class="pn_fltrmob pn_regmap" style="width:35%;">
  7.       <h3>Сохранить фильтр</h3>
  8.       <a href="javascript:void(0)" class="cls_lnkz">
  9.         <i class="icon icon-icn_closes"></i>
  10.       </a>
  11.       <div class="col-xs-12 col-sm-12">
  12.         <div class="pn_regmap_wrapper">
  13.           <div class="pn_regmap_wrapper">
  14.             <form id="save-filter-form" style="width:100%;" action="">
  15.               <input type="hidden" name="ajax_action" value="saveFilter">
  16.               <input type="hidden" name="is_filter_ajax" value="Y">
  17.               <div class="pn_line form-group" style="overflow: hidden;" id="filter-name-field-wrapper">
  18.                 <div class="col-xs-12 col-sm-12">
  19.                   <label class="blck">Название фильтра</label>
  20.                   <input type="text" class="inp form-control" name="filterName" placeholder="Название фильтра" value="" required="">
  21.                 </div>
  22.               </div>
  23.               <div class="pn_line form-group" style="overflow: hidden;display: none;" id="url-field-wrapper">
  24.                 <div class="col-xs-12 col-sm-12">
  25.                   <label class="blck">Ссылка на фильтр</label>
  26.                   <input type="text" class="inp form-control" name="savedFilterUrl" placeholder="Ссылка на фильтр" value="">
  27.                 </div>
  28.               </div>
  29.               <div class="pn_line form-group form-group--is-show-filter" style="overflow: hidden;" id="is-show-filter-field-wrapper">
  30.                 <div class="col-xs-12 col-sm-12 saved-filter-item--active-wrapper">
  31.                   <input name="isShowFilter" type="checkbox" id="is-show-filter" hidden="hidden" class="nostyled" value="Y">
  32.                   <label for="is-show-filter" class="pm_item-name"><span>Включить поиск в подборке</span></label>
  33.                 </div>
  34.               </div>
  35.               <div class="pnhrs"></div>
  36.               <div class="pn_line form-group text-center">
  37.                 <div class="col-xs-12">
  38.                   <input type="submit" name="web_form_submit" class="btn bg red" value="Сохранить">
  39.                 </div>
  40.                 <div class="col-xs-12">
  41.                   <input type="button" name="web_form_save" class="btn bg red copyBuffer" value="Скопировать" style="display: none;" data-copy="" data-placement="top" data-content="скопировано в буфер">
  42.                 </div>
  43.               </div>
  44.             </form>
  45.           </div>
  46.         </div>
  47.       </div>
  48.     </div>
  49.   </div>
  50.   <script>
  51.     $(function () {
  52.       $('.copyBuffer').on('click', function (e) {
  53.         e.preventDefault();
  54.  
  55.         $(this).popover();
  56.         $(this).popover('show');
  57.  
  58.         if ($(this).data('copy').length > 0) {
  59.           copyToClipboard($(this).data('copy'));
  60.         }
  61.  
  62.         setTimeout(function () {
  63.           $('.copyBuffer').popover('destroy');
  64.         }, 1500);
  65.       });
  66.  
  67.       $(document).on('click', '#save-filter', function (e) {
  68.         e.preventDefault();
  69.  
  70.         let saveFilterWindow = $('#modal-save-filter');
  71.  
  72.         $('[name=web_form_submit]', saveFilterWindow).show();
  73.         $('[name=web_form_close]', saveFilterWindow).hide();
  74.         $('[name=web_form_save]', saveFilterWindow).hide();
  75.         $('[name=is-show-filter]', saveFilterWindow).checked = false;
  76.         $('#filter-name-field-wrapper').show();
  77.         $('#is-show-filter-field-wrapper').show();
  78.         $('#url-field-wrapper').hide();
  79.  
  80.         saveFilterWindow.show();
  81.  
  82.         $(saveFilterWindow).find('[name=filterName]').focus();
  83.       });
  84.  
  85.       $('[name=web_form_close]').on('click', function () {
  86.         $(this).parents('.pn_fltrmob').find('.cls_lnkz').trigger('click');
  87.  
  88.         return false;
  89.       });
  90.  
  91.       $('[name=web_form_save]').on('click', function () {
  92.         $(this).parents('.pn_fltrmob').find('[name=savedFilterUrl]').focus().select();
  93.  
  94.         try {
  95.           document.execCommand('copy');
  96.         } catch (error) {
  97.           console.error('Can`t copy');
  98.         }
  99.  
  100.         return false;
  101.       });
  102.  
  103.       $('#save-filter-form').on('submit', function (e) {
  104.         e.preventDefault();
  105.  
  106.         let arFilter = $('#form_apartment_list_filter').serializeArray(),
  107.           arFormData = $(this).serializeArray(),
  108.           data = $.extend(arFilter, arFormData),
  109.           form = this,
  110.           isUseSaveUser = <?= USE_SAVE_USERS ? 'true' : 'false'; ?>;
  111.  
  112.         $.ajax({
  113.           url: '<?= $APPLICATION->GetCurDir() ?>',
  114.           data: data,
  115.           method: 'post',
  116.           dataType: 'json',
  117.           success: function (response) {
  118.             if (response.error) {
  119.               console.error(response.error_msg);
  120.               return;
  121.             }
  122.  
  123.             form.reset();
  124.  
  125.             if (isUseSaveUser) {
  126.               if (response.hasOwnProperty('url') && response.url != '' && response.hasOwnProperty('moveToPublic')) {
  127.                document.location.href = response.url;
  128.               } else {
  129.                 $('#modal-save-filter-send').find('[name=filterXmlId]').val(response.filterXmlId);
  130.                 $('#modal-save-filter-send').show();
  131.               }
  132.             } else {
  133.               $('[name=savedFilterUrl]', $(form)).val(response.url);
  134.               $('.copy_buffer', $(form)).attr({'data-copy': response.url});
  135.  
  136.               $('[name=web_form_submit]').hide();
  137.               $('[name=web_form_close]').show();
  138.               $('[name=web_form_save]').show();
  139.  
  140.               $('#is-show-filter-field-wrapper').hide();
  141.  
  142.               $('#filter-name-field-wrapper').fadeOut(function () {
  143.                 $('#url-field-wrapper').fadeIn(function () {
  144.                   $('[name=savedFilterUrl]', $(this)).focus().select();
  145.                 });
  146.               });
  147.             }
  148.           }
  149.         });
  150.       });
  151.     });
  152.   </script>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement