Showing
11 changed files
with
80 additions
and
53 deletions
| @@ -1406,6 +1406,7 @@ function send_ajax_form($form){ | @@ -1406,6 +1406,7 @@ function send_ajax_form($form){ | ||
| 1406 | $('#progress-window').modal('hide'); | 1406 | $('#progress-window').modal('hide'); |
| 1407 | $('#progress-window').remove(); | 1407 | $('#progress-window').remove(); |
| 1408 | $(window).trigger('images:update'); | 1408 | $(window).trigger('images:update'); |
| 1409 | + $form.find('.hidden-file-link').remove(); | ||
| 1409 | }); | 1410 | }); |
| 1410 | } | 1411 | } |
| 1411 | } | 1412 | } |
| @@ -1447,7 +1448,7 @@ var addFileForAjaxUpload = function(selector, $form){ | @@ -1447,7 +1448,7 @@ var addFileForAjaxUpload = function(selector, $form){ | ||
| 1447 | $this.fileupload('send', {files: fileToSend}) | 1448 | $this.fileupload('send', {files: fileToSend}) |
| 1448 | .done(function (result, textStatus, jqXHR) { | 1449 | .done(function (result, textStatus, jqXHR) { |
| 1449 | count_upload = count_upload + 1; | 1450 | count_upload = count_upload + 1; |
| 1450 | - if(count_upload == count_files){ | 1451 | + if(count_upload == count_files){ |
| 1451 | send_ajax_form($form); | 1452 | send_ajax_form($form); |
| 1452 | } | 1453 | } |
| 1453 | 1454 | ||
| @@ -1512,7 +1513,7 @@ var initAjaxFileUpload = function(selector){ | @@ -1512,7 +1513,7 @@ var initAjaxFileUpload = function(selector){ | ||
| 1512 | var url = 'https://' + fileInputElem.data('host') + '/' + key; | 1513 | var url = 'https://' + fileInputElem.data('host') + '/' + key; |
| 1513 | 1514 | ||
| 1514 | // create hidden field | 1515 | // create hidden field |
| 1515 | - var input = $("<input />", {type: 'hidden', name: fileInputElem.attr('name'), value: url}) | 1516 | + var input = $("<input />", {type: 'hidden', class: 'hidden-file-link', name: fileInputElem.attr('name'), value: url}) |
| 1516 | form.append(input); | 1517 | form.append(input); |
| 1517 | fileInputElem.val(''); | 1518 | fileInputElem.val(''); |
| 1518 | }, | 1519 | }, |
| @@ -1927,6 +1928,11 @@ jQuery(document).ready(function(){ | @@ -1927,6 +1928,11 @@ jQuery(document).ready(function(){ | ||
| 1927 | }); | 1928 | }); |
| 1928 | }); | 1929 | }); |
| 1929 | 1930 | ||
| 1931 | + $('.choose-lang').change(function(){ | ||
| 1932 | + var url = $(this).find('option:selected').data('url'); | ||
| 1933 | + document.location.href = url; | ||
| 1934 | + }); | ||
| 1935 | + | ||
| 1930 | }); | 1936 | }); |
| 1931 | 1937 | ||
| 1932 | 1938 |
| @@ -71,50 +71,59 @@ jQuery(document).ready(function(){ | @@ -71,50 +71,59 @@ jQuery(document).ready(function(){ | ||
| 71 | }); | 71 | }); |
| 72 | 72 | ||
| 73 | $('.html-generator').on('click', '.col-operation .col-remove', function(){ | 73 | $('.html-generator').on('click', '.col-operation .col-remove', function(){ |
| 74 | - var $this = $(this), | ||
| 75 | - $cell = $this.closest('.col'), | ||
| 76 | - $block = $cell.closest('.html-generator'), | ||
| 77 | - delete_cell_url = $block.data('delete_cell_url'); | ||
| 78 | - | ||
| 79 | - //$cell.data('id') | 74 | + var $this = $(this); |
| 75 | + bootbox.confirm('Are you sure?', function(result) { | ||
| 76 | + if (result) { | ||
| 77 | + var $cell = $this.closest('.col'), | ||
| 78 | + $block = $cell.closest('.html-generator'), | ||
| 79 | + delete_cell_url = $block.data('delete_cell_url'); | ||
| 80 | + | ||
| 81 | + //$cell.data('id') | ||
| 82 | + | ||
| 83 | + jQuery.ajax({ | ||
| 84 | + type: 'POST', | ||
| 85 | + url: delete_cell_url, | ||
| 86 | + data: {structure_id: $cell.data('id')}, | ||
| 87 | + success: function (data) { | ||
| 88 | + $cell.remove(); | ||
| 89 | + } | ||
| 90 | + }); | ||
| 80 | 91 | ||
| 81 | - jQuery.ajax({ | ||
| 82 | - type: 'POST', | ||
| 83 | - url: delete_cell_url, | ||
| 84 | - data: {structure_id: $cell.data('id')}, | ||
| 85 | - success: function (data) { | ||
| 86 | - $cell.remove(); | ||
| 87 | - } | 92 | + }; |
| 88 | }); | 93 | }); |
| 89 | 94 | ||
| 90 | 95 | ||
| 91 | 96 | ||
| 92 | - | ||
| 93 | return false; | 97 | return false; |
| 94 | }); | 98 | }); |
| 95 | 99 | ||
| 96 | 100 | ||
| 97 | $('.html-generator').on('click', '.row-operation .row-remove', function(){ | 101 | $('.html-generator').on('click', '.row-operation .row-remove', function(){ |
| 98 | - var $this = $(this), | ||
| 99 | - $row = $this.closest('.row-fluid'), | ||
| 100 | - $block = $row.closest('.html-generator'), | ||
| 101 | - delete_cell_url = $block.data('delete_cell_url'), | ||
| 102 | - mas_cell_id = []; | ||
| 103 | - | ||
| 104 | - $row.find('.col').each(function(){ | ||
| 105 | - mas_cell_id.push($(this).data('id')); | ||
| 106 | - }); | 102 | + var $this = $(this); |
| 103 | + bootbox.confirm('Are you sure?', function(result) { | ||
| 104 | + if (result) { | ||
| 105 | + var $row = $this.closest('.row-fluid'), | ||
| 106 | + $block = $row.closest('.html-generator'), | ||
| 107 | + delete_cell_url = $block.data('delete_cell_url'), | ||
| 108 | + mas_cell_id = []; | ||
| 109 | + | ||
| 110 | + $row.find('.col').each(function(){ | ||
| 111 | + mas_cell_id.push($(this).data('id')); | ||
| 112 | + }); | ||
| 107 | 113 | ||
| 108 | - jQuery.ajax({ | ||
| 109 | - type: 'POST', | ||
| 110 | - url: delete_cell_url, | ||
| 111 | - data: {structure_ids: mas_cell_id}, | ||
| 112 | - success: function (data) { | ||
| 113 | - $row.remove(); | 114 | + jQuery.ajax({ |
| 115 | + type: 'POST', | ||
| 116 | + url: delete_cell_url, | ||
| 117 | + data: {structure_ids: mas_cell_id}, | ||
| 118 | + success: function (data) { | ||
| 119 | + $row.remove(); | ||
| 120 | + } | ||
| 121 | + }); | ||
| 114 | } | 122 | } |
| 115 | }); | 123 | }); |
| 116 | 124 | ||
| 117 | 125 | ||
| 126 | + | ||
| 118 | return false; | 127 | return false; |
| 119 | }); | 128 | }); |
| 120 | 129 | ||
| @@ -434,14 +443,14 @@ jQuery(document).ready(function(){ | @@ -434,14 +443,14 @@ jQuery(document).ready(function(){ | ||
| 434 | var showCellAction = function(statusClass){ | 443 | var showCellAction = function(statusClass){ |
| 435 | var content = '<div class="col-operation">'+ | 444 | var content = '<div class="col-operation">'+ |
| 436 | '<div class="dropdown">' + | 445 | '<div class="dropdown">' + |
| 437 | - '<button class="btn-xs btn-outline-primary dropdown-toggle dropdown-toggle-nocaret" type="button" data-toggle="dropdown" aria-expanded="false">' + | 446 | + '<a class="dropdown-toggle dropdown-toggle-nocaret" type="button" data-toggle="dropdown" aria-expanded="false">' + |
| 438 | '<span class="dropdown-text"><span class="icon icon-options-vertical"></span></span>' + | 447 | '<span class="dropdown-text"><span class="icon icon-options-vertical"></span></span>' + |
| 439 | - '</button>' + | 448 | + '</a>' + |
| 440 | '<ul class="dropdown-menu">' + | 449 | '<ul class="dropdown-menu">' + |
| 441 | '<li class="dropdown-item"><a class="col-disable" href="javascript;void(0);">'+ statusClass +'</a></li>' + | 450 | '<li class="dropdown-item"><a class="col-disable" href="javascript;void(0);">'+ statusClass +'</a></li>' + |
| 451 | + '<li class="dropdown-item"><a class="col-content" href="javascript;void(0);">Edit</a></li>' + | ||
| 442 | '<li class="dropdown-item"><a class="col-duplicate" href="javascript;void(0);">Duplicate</a></li>' + | 452 | '<li class="dropdown-item"><a class="col-duplicate" href="javascript;void(0);">Duplicate</a></li>' + |
| 443 | - '<li class="dropdown-item"><a class="col-content" href="javascript;void(0);">Content</a></li>' + | ||
| 444 | - '<li class="dropdown-item"><a class="col-edit popover-link" href="javascript;void(0);">Edit</a></li>' + | 453 | + '<li class="dropdown-item"><a class="col-edit popover-link" href="javascript;void(0);">Settings</a></li>' + |
| 445 | '<li class="dropdown-item"><a class="col-remove" href="javascript;void(0);">Remove</a></li>' + | 454 | '<li class="dropdown-item"><a class="col-remove" href="javascript;void(0);">Remove</a></li>' + |
| 446 | '</ul>'+ | 455 | '</ul>'+ |
| 447 | '</div>' + | 456 | '</div>' + |
| @@ -453,16 +462,18 @@ jQuery(document).ready(function(){ | @@ -453,16 +462,18 @@ jQuery(document).ready(function(){ | ||
| 453 | var showRowAction = function(statusClass, isBlockElement){ | 462 | var showRowAction = function(statusClass, isBlockElement){ |
| 454 | var content = '<div class="row-operation">'+ | 463 | var content = '<div class="row-operation">'+ |
| 455 | '<div class="dropdown">' + | 464 | '<div class="dropdown">' + |
| 456 | - '<button class="btn-xs btn-outline-primary dropdown-toggle dropdown-toggle-nocaret" type="button" data-toggle="dropdown" aria-expanded="false">' + | 465 | + '<a class=" dropdown-toggle dropdown-toggle-nocaret" type="button" data-toggle="dropdown" aria-expanded="false">' + |
| 457 | '<span class="dropdown-text"><span class="icon icon-options-vertical"></span></span>' + | 466 | '<span class="dropdown-text"><span class="icon icon-options-vertical"></span></span>' + |
| 458 | - '</button>' + | 467 | + '</a>' + |
| 459 | '<ul class="dropdown-menu">' + | 468 | '<ul class="dropdown-menu">' + |
| 460 | - '<li class="dropdown-item"><a class="col-disable" href="javascript;void(0);">'+ statusClass +'</a></li>' + | ||
| 461 | - '<li class="dropdown-item"><a class="col-duplicate" href="javascript;void(0);">Duplicate</a></li>'; | 469 | + '<li class="dropdown-item"><a class="col-disable" href="javascript;void(0);">'+ statusClass +'</a></li>' |
| 462 | 470 | ||
| 463 | if (isBlockElement){ | 471 | if (isBlockElement){ |
| 464 | - content += '<li class="dropdown-item"><a class="col-content" href="javascript;void(0);">Content</a></li>'; | 472 | + content += '<li class="dropdown-item"><a class="col-content" href="javascript;void(0);">Edit</a></li>'; |
| 465 | } | 473 | } |
| 474 | + | ||
| 475 | + content += '<li class="dropdown-item"><a class="col-duplicate" href="javascript;void(0);">Duplicate</a></li>'; | ||
| 476 | + | ||
| 466 | content += '<li class="dropdown-item"><a class="row-remove" href="javascript;void(0);">Remove</a></li>'; | 477 | content += '<li class="dropdown-item"><a class="row-remove" href="javascript;void(0);">Remove</a></li>'; |
| 467 | 478 | ||
| 468 | content += '</ul>'+ | 479 | content += '</ul>'+ |
| @@ -5226,14 +5226,14 @@ body .jvectormap-zoomout { | @@ -5226,14 +5226,14 @@ body .jvectormap-zoomout { | ||
| 5226 | } | 5226 | } |
| 5227 | 5227 | ||
| 5228 | .html-generator .html-content .row-inner{ | 5228 | .html-generator .html-content .row-inner{ |
| 5229 | - | ||
| 5230 | width:100%; | 5229 | width:100%; |
| 5231 | } | 5230 | } |
| 5232 | 5231 | ||
| 5232 | + | ||
| 5233 | .html-generator .html-content .row-element-block, .html-generator .html-content .row-element-row{ | 5233 | .html-generator .html-content .row-element-block, .html-generator .html-content .row-element-row{ |
| 5234 | position:relative; | 5234 | position:relative; |
| 5235 | padding-right:25px; | 5235 | padding-right:25px; |
| 5236 | - /*padding-left:25px;*/ | 5236 | + padding-left:10px; |
| 5237 | } | 5237 | } |
| 5238 | /* | 5238 | /* |
| 5239 | .html-generator .html-content .row-element-block:before, .html-generator .html-content .row-element-row:before { | 5239 | .html-generator .html-content .row-element-block:before, .html-generator .html-content .row-element-row:before { |
| @@ -34,7 +34,7 @@ module Kanjai | @@ -34,7 +34,7 @@ module Kanjai | ||
| 34 | params[:gallery_image] ||= {} | 34 | params[:gallery_image] ||= {} |
| 35 | params[:gallery_image].each do |key, data| | 35 | params[:gallery_image].each do |key, data| |
| 36 | 36 | ||
| 37 | - obj = S3_BUCKET.object(URI.parse(data['file']).path[1..-1]) | 37 | + obj = S3_BUCKET.object(data['file'].split('/')[3..-1].join('/')) |
| 38 | 38 | ||
| 39 | 39 | ||
| 40 | Image.create({ | 40 | Image.create({ |
| @@ -84,7 +84,7 @@ module Kanjai | @@ -84,7 +84,7 @@ module Kanjai | ||
| 84 | private | 84 | private |
| 85 | 85 | ||
| 86 | def permitted_params | 86 | def permitted_params |
| 87 | - params.permit(:page_template => [:title, :attachment_file_name, | 87 | + params.permit(:page_template => [:title, :attachment_file_name, :notice, |
| 88 | page_content_markers_attributes: [:id, :page_content_id, :marker, :text_value, :attachment_file_name] | 88 | page_content_markers_attributes: [:id, :page_content_id, :marker, :text_value, :attachment_file_name] |
| 89 | ]) | 89 | ]) |
| 90 | end | 90 | end |
| @@ -117,9 +117,9 @@ module Kanjai | @@ -117,9 +117,9 @@ module Kanjai | ||
| 117 | 117 | ||
| 118 | def get_content | 118 | def get_content |
| 119 | if self.type_content == 'rte_editor' | 119 | if self.type_content == 'rte_editor' |
| 120 | - self.text_html.to_s | 120 | + I18n.t('admin.content_types.rte_editor') |
| 121 | elsif self.type_content == 'plugin' | 121 | elsif self.type_content == 'plugin' |
| 122 | - self.controller_name.to_s + '.' + self.action_name.to_s | 122 | + "#{I18n.t('admin.content_types.plugin')}: #{controller_name}.#{action_name}" |
| 123 | else | 123 | else |
| 124 | self.type_content | 124 | self.type_content |
| 125 | end | 125 | end |
| @@ -6,7 +6,7 @@ | @@ -6,7 +6,7 @@ | ||
| 6 | <div class="card-header"> | 6 | <div class="card-header"> |
| 7 | <div class="row"> | 7 | <div class="row"> |
| 8 | <div class="col-md-8"> | 8 | <div class="col-md-8"> |
| 9 | - <%= t('admin.page_langs.title') %> | 9 | + <%= t('admin.templates.page_title') %> |
| 10 | </div> | 10 | </div> |
| 11 | <div class="col-md-4 text-right"> | 11 | <div class="col-md-4 text-right"> |
| 12 | <%= link_to I18n.t('admin.templates.create'), new_admin_page_template_url, class: 'btn btn-primary' %> | 12 | <%= link_to I18n.t('admin.templates.create'), new_admin_page_template_url, class: 'btn btn-primary' %> |
| @@ -5,7 +5,15 @@ | @@ -5,7 +5,15 @@ | ||
| 5 | <li class="nav-item" role="presentation"><a class="nav-link <%= @step == 'general' ? 'active' : '' %>" href="#general" aria-controls="general" role="tab" data-toggle="tab">General</a></li> | 5 | <li class="nav-item" role="presentation"><a class="nav-link <%= @step == 'general' ? 'active' : '' %>" href="#general" aria-controls="general" role="tab" data-toggle="tab">General</a></li> |
| 6 | <li class="nav-item" role="presentation"><a class="nav-link <%= @step == 'meta' ? 'active' : '' %>" href="#meta" aria-controls="meta" role="tab" data-toggle="tab">Meta</a></li> | 6 | <li class="nav-item" role="presentation"><a class="nav-link <%= @step == 'meta' ? 'active' : '' %>" href="#meta" aria-controls="meta" role="tab" data-toggle="tab">Meta</a></li> |
| 7 | <li class="nav-item" role="presentation"><a class="nav-link" href="#content" aria-controls="content" role="tab" data-toggle="tab">Content</a></li> | 7 | <li class="nav-item" role="presentation"><a class="nav-link" href="#content" aria-controls="content" role="tab" data-toggle="tab">Content</a></li> |
| 8 | + <% if Kanjai::PageLang.count > 0 %> | ||
| 9 | + <li class="choose-lang"> | ||
| 10 | + <div class="text-right"> | ||
| 11 | + <%= select_tag :choose_lang, options_for_select(Kanjai::PageLang.all.collect{|lang| [lang.title, lang.code, data: {url: edit_admin_page_url(@page, lang: lang.code)}] }, params[:lang]), class: 'form-control' %> | ||
| 12 | + </div> | ||
| 13 | + </li> | ||
| 14 | + <% end %> | ||
| 8 | </ul><!-- Tab panes--> | 15 | </ul><!-- Tab panes--> |
| 16 | + | ||
| 9 | <% end %> | 17 | <% end %> |
| 10 | <div class="tab-content"> | 18 | <div class="tab-content"> |
| 11 | <div class="tab-pane <%= @step == 'general' || @page.new_record? ? 'active' : '' %>" id="general" role="tabpanel"><%= render partial: 'kanjai/admin/pages/panels/general' %></div> | 19 | <div class="tab-pane <%= @step == 'general' || @page.new_record? ? 'active' : '' %>" id="general" role="tabpanel"><%= render partial: 'kanjai/admin/pages/panels/general' %></div> |
| @@ -19,11 +19,9 @@ | @@ -19,11 +19,9 @@ | ||
| 19 | <%= link_to t('actions.enable'), activate_admin_page_url(page), class: 'dropdown-item' %> | 19 | <%= link_to t('actions.enable'), activate_admin_page_url(page), class: 'dropdown-item' %> |
| 20 | <% end %> | 20 | <% end %> |
| 21 | </li> | 21 | </li> |
| 22 | - <% Kanjai::PageLang.all.each do |lang| %> | ||
| 23 | - <li class="dropdown-item"> | ||
| 24 | - <%= link_to t('actions.edit_with_lang', lang: lang.code), edit_admin_page_url(page, :lang => lang.code), class: 'dropdown-item' %> | ||
| 25 | - </li> | ||
| 26 | - <% end %> | 22 | + <li class="dropdown-item"> |
| 23 | + <%= link_to t('actions.edit'), edit_admin_page_url(page, :lang => Kanjai::PageLang.default), class: 'dropdown-item' %> | ||
| 24 | + </li> | ||
| 27 | <li class="dropdown-item"> | 25 | <li class="dropdown-item"> |
| 28 | <%= link_to t('actions.duplicate'), clone_admin_page_url(page), class: 'dropdown-item' %> | 26 | <%= link_to t('actions.duplicate'), clone_admin_page_url(page), class: 'dropdown-item' %> |
| 29 | </li> | 27 | </li> |