Commit b2f394a5dd4f03ece344b3f550cf90e2b6dc4963

Authored by Andrey Karpikov
1 parent f9af8348

check error not correct remove and sort items

@@ -859,7 +859,10 @@ jQuery(document).ready(function () { @@ -859,7 +859,10 @@ jQuery(document).ready(function () {
859 ], 859 ],
860 }); 860 });
861 861
862 - $this.closest(".wrapper-block").find('> .panel-group').append($data); 862 + $this
  863 + .closest(".wrapper-block")
  864 + .find("> .panel-group")
  865 + .append($data);
863 866
864 $data.find("input:file").each(function () { 867 $data.find("input:file").each(function () {
865 ajaxFileUpload.initFileInput($(this)); 868 ajaxFileUpload.initFileInput($(this));
@@ -878,6 +881,10 @@ jQuery(document).ready(function () { @@ -878,6 +881,10 @@ jQuery(document).ready(function () {
878 var $this = $(this), 881 var $this = $(this),
879 url = $this.attr("href"); 882 url = $this.attr("href");
880 883
  884 + $(".sort-repeat-row, .delete-repeat-row").addClass(
  885 + "not-possible-click"
  886 + );
  887 +
881 jQuery.ajax({ 888 jQuery.ajax({
882 type: "POST", 889 type: "POST",
883 url: url, 890 url: url,
@@ -885,6 +892,10 @@ jQuery(document).ready(function () { @@ -885,6 +892,10 @@ jQuery(document).ready(function () {
885 if (data.status == "ok") { 892 if (data.status == "ok") {
886 $this.closest(".panel").remove(); 893 $this.closest(".panel").remove();
887 } 894 }
  895 +
  896 + $(".sort-repeat-row, .delete-repeat-row").removeClass(
  897 + "not-possible-click"
  898 + );
888 }, 899 },
889 }); 900 });
890 901
@@ -902,9 +913,12 @@ jQuery(document).ready(function () { @@ -902,9 +913,12 @@ jQuery(document).ready(function () {
902 $currentItem = $this.closest(".panel"), 913 $currentItem = $this.closest(".panel"),
903 $prevItem = $currentItem.prev(), 914 $prevItem = $currentItem.prev(),
904 $nextItem = $currentItem.next(), 915 $nextItem = $currentItem.next(),
905 - repeat_id = $this.data('repeat-id'),  
906 - parent_id = $this.data('parent-id'); 916 + repeat_id = $this.data("repeat-id"),
  917 + parent_id = $this.data("parent-id");
907 918
  919 + $(".sort-repeat-row, .delete-repeat-row").addClass(
  920 + "not-possible-click"
  921 + );
908 922
909 if ($this.hasClass("sort-up") && $prevItem) { 923 if ($this.hasClass("sort-up") && $prevItem) {
910 $currentItem.insertBefore($prevItem); 924 $currentItem.insertBefore($prevItem);
@@ -917,13 +931,20 @@ jQuery(document).ready(function () { @@ -917,13 +931,20 @@ jQuery(document).ready(function () {
917 position = 1; 931 position = 1;
918 932
919 $wrapper.children().each(function (index) { 933 $wrapper.children().each(function (index) {
920 - data.push({ position: position, index: $(this).data('id').split('_')[1] }); 934 + data.push({
  935 + position: position,
  936 + index: $(this).data("id").split("_")[1],
  937 + });
921 position += 1; 938 position += 1;
922 }); 939 });
923 jQuery.ajax({ 940 jQuery.ajax({
924 type: "POST", 941 type: "POST",
925 url: $wrapper.data("update-url"), 942 url: $wrapper.data("update-url"),
926 - data: { data: data, repeat_id: repeat_id, parent_id: parent_id}, 943 + data: {
  944 + data: data,
  945 + repeat_id: repeat_id,
  946 + parent_id: parent_id,
  947 + },
927 success: function (data) { 948 success: function (data) {
928 if ($this.hasClass("sort-up") && $prevItem) { 949 if ($this.hasClass("sort-up") && $prevItem) {
929 var prevItemId = $prevItem.data("id"), 950 var prevItemId = $prevItem.data("id"),
@@ -938,6 +959,9 @@ jQuery(document).ready(function () { @@ -938,6 +959,9 @@ jQuery(document).ready(function () {
938 $currentItem.data("id", nextItemId); 959 $currentItem.data("id", nextItemId);
939 $nextItem.data("id", currentItemId); 960 $nextItem.data("id", currentItemId);
940 } 961 }
  962 + $(".sort-repeat-row, .delete-repeat-row").removeClass(
  963 + "not-possible-click"
  964 + );
941 }, 965 },
942 }); 966 });
943 967
1 .page-list { 1 .page-list {
2 - .dd3-content{ 2 + .dd3-content {
3 padding: 10px 100px 10px 65px; 3 padding: 10px 100px 10px 65px;
4 } 4 }
5 } 5 }
6 6
7 -.dd3-handle.dd3-page-list-handle{ 7 +.dd3-handle.dd3-page-list-handle {
8 height: 82px !important; 8 height: 82px !important;
9 } 9 }
10 10
11 -.dd3-action{ 11 +.dd3-action {
12 position: absolute; 12 position: absolute;
13 top: 0px; 13 top: 0px;
14 right: 0; 14 right: 0;
15 - height: 82px;  
16 - .dropdown .btn{  
17 - height: 82px; 15 + height: 82px;
  16 + .dropdown .btn {
  17 + height: 82px;
18 } 18 }
19 } 19 }
20 20
21 .dd3-disabled { 21 .dd3-disabled {
22 - .dd3-handle, .dd3-content {opacity:0.5;} 22 + .dd3-handle,
  23 + .dd3-content {
  24 + opacity: 0.5;
  25 + }
23 } 26 }
24 27
25 -.dd-full-width{  
26 - max-width:100% !important; 28 +.dd-full-width {
  29 + max-width: 100% !important;
27 } 30 }
28 31
29 -.text-in-one-string{ 32 +.text-in-one-string {
30 white-space: nowrap; 33 white-space: nowrap;
31 overflow: hidden; 34 overflow: hidden;
32 display: block; 35 display: block;
@@ -34,39 +37,71 @@ @@ -34,39 +37,71 @@
34 float: none; 37 float: none;
35 } 38 }
36 39
37 -.choose-lang{  
38 - padding-left:20px; 40 +.choose-lang {
  41 + padding-left: 20px;
39 } 42 }
40 43
41 -.tt-dataset{ 44 +.tt-dataset {
42 max-height: 200px; 45 max-height: 200px;
43 - overflow-y: scroll; 46 + overflow-y: scroll;
44 } 47 }
45 48
46 -.gray-theme.fr-toolbar .fr-command.fr-btn.fr-disabled, .gray-theme.fr-popup .fr-command.fr-btn.fr-disabled{  
47 - 49 +.gray-theme.fr-toolbar .fr-command.fr-btn.fr-disabled,
  50 +.gray-theme.fr-popup .fr-command.fr-btn.fr-disabled {
48 } 51 }
49 52
50 -.filter .btn-group-toggle > .btn{margin-bottom:30px;position:relative;background-color: #999999;border-color: #999999;}  
51 -.filter .btn-group-toggle > .btn .delete-tag-wrapper{position:absolute;top:-30px;left:0;width:100%;height:30px;}  
52 -.filter .btn-group-toggle > .btn a, .filter .btn-group-toggle > .btn a:hover{text-decoration:none;font-size:14px;line-height:14px;margin-top:10px;display:inline-block;}  
53 -.filter .btn-group-toggle > .btn .delete-tag-wrapper{display:none;}  
54 -.filter .btn-group-toggle > .btn:hover .delete-tag-wrapper{display:block;}  
55 -.filter .btn-group-toggle > .btn:hover{background-color: #5d9cec;border-color: #5d9cec;}  
56 -.checkbox-list{  
57 - input{margin-right:3px;}  
58 - label{margin-right:10px;} 53 +.filter .btn-group-toggle > .btn {
  54 + margin-bottom: 30px;
  55 + position: relative;
  56 + background-color: #999999;
  57 + border-color: #999999;
  58 +}
  59 +.filter .btn-group-toggle > .btn .delete-tag-wrapper {
  60 + position: absolute;
  61 + top: -30px;
  62 + left: 0;
  63 + width: 100%;
  64 + height: 30px;
  65 +}
  66 +.filter .btn-group-toggle > .btn a,
  67 +.filter .btn-group-toggle > .btn a:hover {
  68 + text-decoration: none;
  69 + font-size: 14px;
  70 + line-height: 14px;
  71 + margin-top: 10px;
  72 + display: inline-block;
  73 +}
  74 +.filter .btn-group-toggle > .btn .delete-tag-wrapper {
  75 + display: none;
  76 +}
  77 +.filter .btn-group-toggle > .btn:hover .delete-tag-wrapper {
  78 + display: block;
  79 +}
  80 +.filter .btn-group-toggle > .btn:hover {
  81 + background-color: #5d9cec;
  82 + border-color: #5d9cec;
  83 +}
  84 +.checkbox-list {
  85 + input {
  86 + margin-right: 3px;
  87 + }
  88 + label {
  89 + margin-right: 10px;
  90 + }
59 } 91 }
60 92
61 -.block{display:block !important;} 93 +.block {
  94 + display: block !important;
  95 +}
62 96
63 -.card-header-back{ 97 +.card-header-back {
64 margin-bottom: 10px; 98 margin-bottom: 10px;
65 display: inline-block; 99 display: inline-block;
66 } 100 }
67 101
68 .dropdown-item, 102 .dropdown-item,
69 -.html-generator .html-content .col-inner .col-operation .dropdown-item a, .html-generator .html-content .row-inner .row-operation .dropdown-item a { 103 +.html-generator .html-content .col-inner .col-operation .dropdown-item a,
  104 +.html-generator .html-content .row-inner .row-operation .dropdown-item a {
70 display: block; 105 display: block;
71 width: 100%; 106 width: 100%;
72 padding: 0.25rem 1.5rem; 107 padding: 0.25rem 1.5rem;
@@ -77,4 +112,9 @@ @@ -77,4 +112,9 @@
77 white-space: nowrap; 112 white-space: nowrap;
78 background-color: transparent; 113 background-color: transparent;
79 font-size: 14px !important; 114 font-size: 14px !important;
80 - border: 0; }  
  115 + border: 0;
  116 +}
  117 +
  118 +.not-possible-click {
  119 + pointer-events: none;
  120 +}
@@ -45,6 +45,7 @@ module Kanjai @@ -45,6 +45,7 @@ module Kanjai
45 template_part = @obj.page.page_template.template_parts.find_by_code(@obj.type_content) 45 template_part = @obj.page.page_template.template_parts.find_by_code(@obj.type_content)
46 46
47 h = {} 47 h = {}
  48 + row_items = @obj.page_content_markers.where(repeat_id: params[:repeat_id], parent_id: params[:parent_id]).where.not(row_item: nil).pluck(:row_item).uniq.sort
48 params[:data].each do |key, item| 49 params[:data].each do |key, item|
49 h[item[:index].to_i] = item[:position].to_i 50 h[item[:index].to_i] = item[:position].to_i
50 end 51 end
@@ -53,7 +54,8 @@ module Kanjai @@ -53,7 +54,8 @@ module Kanjai
53 54
54 @obj.page_content_markers.where(repeat_id: params[:repeat_id], parent_id: params[:parent_id]).each do |item| 55 @obj.page_content_markers.where(repeat_id: params[:repeat_id], parent_id: params[:parent_id]).each do |item|
55 if h[item.row_item] 56 if h[item.row_item]
56 - item.update_column(:row_item, h[item.row_item]) 57 + new_row_item_index = h[item.row_item] - 1
  58 + item.update_column(:row_item, row_items[new_row_item_index])
57 end 59 end
58 end 60 end
59 61
1 <% uuid = SecureRandom.uuid %> 1 <% uuid = SecureRandom.uuid %>
2 <% if @row_item.present? %> 2 <% if @row_item.present? %>
3 - <div class="panel panel-default" data-id="<%= @row_item %>"> 3 + <div class="panel panel-default" data-id="<%= uuid %>_<%= @row_item %>">
4 4
5 <div class="panel-heading" style="margin-top:20px;margin-bottom:20px;" role="tab" id="heading_<%= @row_item %>"> 5 <div class="panel-heading" style="margin-top:20px;margin-bottom:20px;" role="tab" id="heading_<%= @row_item %>">
6 <h4> 6 <h4>
1 module Kanjai 1 module Kanjai
2 - VERSION = "0.0.337" 2 + VERSION = "0.0.338"
3 end 3 end