PageRenderTime 43ms CodeModel.GetById 14ms RepoModel.GetById 0ms app.codeStats 0ms

/public/wp-content/themes/modernize/include/javascript/page-dragging.js

https://gitlab.com/kath.de/cibedo_cibedo.de
JavaScript | 333 lines | 283 code | 25 blank | 25 comment | 46 complexity | 365be6e78b670fe204ec351faf05cdf3 MD5 | raw file
  1. /**
  2. * Goodlayers Page Dragging File
  3. * ---------------------------------------------------------------------
  4. * @version 1.0
  5. * @author Goodlayers
  6. * @link http://goodlayers.com
  7. * @copyright Copyright (c) Goodlayers
  8. * ---------------------------------------------------------------------
  9. * This file contains the jQuery script for Page Dragging
  10. * ---------------------------------------------------------------------
  11. */
  12. jQuery(document).ready(function(){
  13. // All of size that div can be (text, class, value)
  14. var DIV_SIZE = [
  15. ['1/4','element1-4',1/4,['Column','Gallery','Content','Page','Portfolio','Personnel','Testimonial','Slider','Accordion','Tab','Divider','Message-Box','Toggle-Box','Column-Service','Price-Item','Post-Slider','Blog']],
  16. ['1/3','element1-3',1/3,['Column','Gallery','Content','Page','Portfolio','Personnel','Testimonial','Slider','Accordion','Tab','Divider','Message-Box','Toggle-Box','Column-Service','Price-Item','Post-Slider','Blog']],
  17. ['1/2','element1-2',1/2,['Column','Gallery','Content','Page','Portfolio','Personnel','Testimonial','Slider','Accordion','Tab','Divider','Message-Box','Toggle-Box','Column-Service','Price-Item','Post-Slider','Blog']],
  18. ['2/3','element2-3',2/3,['Column','Gallery','Content','Page','Portfolio','Personnel','Testimonial','Slider','Accordion','Tab','Divider','Message-Box','Toggle-Box','Column-Service','Price-Item','Post-Slider','Blog']],
  19. ['3/4','element3-4',3/4,['Column','Gallery','Content','Page','Portfolio','Personnel','Testimonial','Slider','Accordion','Tab','Divider','Message-Box','Toggle-Box','Column-Service','Price-Item','Post-Slider','Blog']],
  20. ['1/1','element1-1',1 ,['Column','Gallery','Content','Page','Portfolio','Personnel','Testimonial','Slider','Accordion','Tab','Divider','Message-Box','Toggle-Box','Column-Service','Price-Item','Post-Slider','Blog','Stunning-Text','Contact-Form']]
  21. ];
  22. var page_item_list = jQuery("#page-element-lists");
  23. var page_methodology = jQuery('#page-methodology');
  24. var page_alignment_val = '';
  25. //Bind sidebar template option
  26. jQuery('input[name="page-option-sidebar-template"]').change(function(){
  27. jQuery(this).parent().parent().find(".check-list").removeClass("check-list");
  28. jQuery(this).siblings("label").children("#check-list").addClass("check-list");
  29. if(jQuery(this).val() == "left-sidebar"){
  30. jQuery("#page-option-choose-left-sidebar").parents(".meta-body").slideDown();
  31. jQuery("#page-option-choose-right-sidebar").parents(".meta-body").slideUp();
  32. }else if(jQuery(this).val() == "right-sidebar"){
  33. jQuery("#page-option-choose-left-sidebar").parents(".meta-body").slideUp();
  34. jQuery("#page-option-choose-right-sidebar").parents(".meta-body").slideDown();
  35. }else if(jQuery(this).val() == "both-sidebar"){
  36. jQuery("#page-option-choose-left-sidebar").parents(".meta-body").slideDown();
  37. jQuery("#page-option-choose-right-sidebar").parents(".meta-body").slideDown();
  38. }else{
  39. jQuery("#page-option-choose-left-sidebar").parents(".meta-body").slideUp();
  40. jQuery("#page-option-choose-right-sidebar").parents(".meta-body").slideUp();
  41. }
  42. });
  43. jQuery('input[name="page-option-sidebar-template"]:checked').triggerHandler("change");
  44. // Change the style of <select>
  45. if (!jQuery.browser.opera) {
  46. jQuery('.meta-input .combobox select').each(function(){
  47. var title = jQuery(this).attr('title');
  48. if( jQuery('option:selected', this).val() != '' ) title = jQuery('option:selected',this).text();
  49. jQuery(this)
  50. .css({'z-index':10,'opacity':0,'-khtml-appearance':'none'})
  51. .after('<span rel="combobox">' + title + '</span>')
  52. .change(function(){
  53. val = jQuery('option:selected',this).text();
  54. jQuery(this).next().text(val);
  55. })
  56. });
  57. };
  58. //Bind the delete element button
  59. var init_object = jQuery("div#gdl-overlay-wrapper");
  60. init_object.find(".delete-element").click(function(){
  61. var deleted_element = jQuery(this).parents('#page-element');
  62. jQuery.confirm({
  63. 'message' : 'Are you sure to do this?',
  64. 'buttons' : {
  65. 'Delete' : {
  66. 'class' : 'confirm-yes',
  67. 'action': function(){
  68. deleted_element.fadeOut( function(){jQuery(this).remove();} );
  69. }
  70. },
  71. 'Cancel' : {
  72. 'class' : 'confirm-no',
  73. 'action': function(){ return false; }
  74. }
  75. }
  76. });
  77. });
  78. //Add Element Size
  79. init_object.find(".add-element-size").click(function(){
  80. jQuery(this).gdlPageAddElementSize();
  81. });
  82. jQuery.fn.gdlPageAddElementSize = function(){
  83. var click_object = jQuery(this).parents('#page-element');
  84. var object_type = click_object.attr('rel');
  85. var is_upper_style = false;
  86. var current_style = '';
  87. for(var i=0; i<DIV_SIZE.length-1; i++){
  88. if(click_object.hasClass(DIV_SIZE[i][1])){
  89. is_upper_style = true;
  90. current_style = DIV_SIZE[i][1];
  91. }
  92. if( is_upper_style && jQuery.inArray(object_type,DIV_SIZE[i+1][3]) > -1){
  93. if( i < DIV_SIZE.length-2 ){
  94. click_object.removeClass(current_style).addClass(DIV_SIZE[i+1][1]);
  95. click_object.find("#element-size-text").html(DIV_SIZE[i+1][0]);
  96. click_object.find("#page-option-item-size").val(DIV_SIZE[i+1][1])
  97. }else if( i == DIV_SIZE.length-2){
  98. click_object.removeClass(current_style).addClass(DIV_SIZE[i+1][1]);
  99. click_object.find("#element-size-text").html(DIV_SIZE[i+1][0]);
  100. click_object.find("#page-option-item-size").val(DIV_SIZE[i+1][1])
  101. }
  102. break;
  103. }
  104. }
  105. }
  106. //Subtract Element size
  107. init_object.find(".sub-element-size").click(function(){
  108. jQuery(this).gdlPageSubElementSize();
  109. });
  110. jQuery.fn.gdlPageSubElementSize = function(){
  111. var click_object = jQuery(this).parents('#page-element');
  112. var object_type = click_object.attr('rel');
  113. var is_lower_style = false;
  114. var current_style = '';
  115. for(var i=DIV_SIZE.length-1; i > 0; i--){
  116. if( click_object.hasClass(DIV_SIZE[i][1]) ){
  117. is_lower_style = true;
  118. current_style = DIV_SIZE[i][1];
  119. }
  120. if( is_lower_style && jQuery.inArray(object_type, DIV_SIZE[i-1][3]) > -1){
  121. if( i > 1 ){
  122. click_object.removeClass(current_style).addClass(DIV_SIZE[i-1][1]);
  123. click_object.find("#element-size-text").html(DIV_SIZE[i-1][0]);
  124. click_object.find("#page-option-item-size").val(DIV_SIZE[i-1][1])
  125. }else if( i == 1){
  126. click_object.removeClass(current_style).addClass(DIV_SIZE[i-1][1]);
  127. click_object.find("#element-size-text").html(DIV_SIZE[i-1][0]);
  128. click_object.find("#page-option-item-size").val(DIV_SIZE[i-1][1])
  129. }
  130. break;
  131. }
  132. }
  133. }
  134. //Bind Add Items
  135. jQuery("input#page-add-item-button").click(function(){
  136. var selectd_list = jQuery(this).siblings(".page-select-element-list-wrapper").children("select");
  137. var clone_item = page_item_list.find('div[rel="' + selectd_list.val() + '"]').clone(true);
  138. if( clone_item ){
  139. clone_item.find("#page-option-item-size").attr('name',function(){
  140. return jQuery(this).attr('id')+ '[]';
  141. });
  142. clone_item.find("#page-option-item-type").attr('name',function(){
  143. return jQuery(this).attr('id')+ '[]';
  144. });
  145. clone_item.css("display","none");
  146. page_methodology.find("#page-selected-elements").append(clone_item);
  147. page_methodology.find(".page-element").fadeIn();
  148. }
  149. });
  150. page_methodology.find("#page-selected-elements").sortable({ forcePlaceholderSize: true, placeholder: 'placeholder' });
  151. // Button effects;
  152. jQuery(".add-element-size").hover(function(){
  153. jQuery(this).addClass("add-element-size-hover");
  154. },function(){
  155. jQuery(this).removeClass("add-element-size-hover");
  156. });
  157. jQuery(".sub-element-size").hover(function(){
  158. jQuery(this).addClass("sub-element-size-hover");
  159. },function(){
  160. jQuery(this).removeClass("sub-element-size-hover");
  161. });
  162. // Tab chooser
  163. jQuery('.page-item-tab').css('display','block');
  164. jQuery(".page-tab-add-more").click(function(){
  165. var added_tab = jQuery(this).siblings(".meta-input").children("#added-tab");
  166. var clone_tab = added_tab.find(".default").clone(true);
  167. clone_tab.attr('class','page-item-tab');
  168. clone_tab.find('input, textarea, select').attr('name', function(){
  169. return jQuery(this).attr('id') + '[]';
  170. });
  171. added_tab.siblings("#tab-num").val(function(){
  172. return parseInt(jQuery(this).val()) + 1;
  173. });
  174. added_tab.children("ul").append(clone_tab);
  175. added_tab.find('.page-item-tab').slideDown();
  176. });
  177. jQuery(".unpick-tab").click(function(){
  178. var deleted_tab = jQuery(this);
  179. jQuery.confirm({
  180. 'message' : 'Are you sure to do this?',
  181. 'buttons' : {
  182. 'Delete' : {
  183. 'class' : 'confirm-yes',
  184. 'action': function(){
  185. deleted_tab.parents('#page-item-tab').slideUp(function(){
  186. jQuery(this).remove();
  187. });
  188. deleted_tab.parents("#added-tab").siblings("#tab-num").val(function(){
  189. return parseInt(jQuery(this).val()) - 1;
  190. });
  191. }
  192. },
  193. 'Cancel' : {
  194. 'class' : 'confirm-no',
  195. 'action': function(){ return false; }
  196. }
  197. }
  198. });
  199. });
  200. // Link type of slider
  201. jQuery("select#page-option-item-slider-linktype, select#page-option-top-slider-linktype").change(function(){
  202. var selected_val = jQuery(this).val();
  203. if(selected_val == 'No Link' || selected_val == 'Lightbox'){
  204. jQuery(this).parent().siblings('div').slideUp();
  205. }else{
  206. if(selected_val == 'Link to URL'){
  207. jQuery(this).parent().siblings('div').not('[rel="video"]').slideDown();
  208. jQuery(this).parent().siblings('div[rel="video"]').slideUp();
  209. }else{
  210. jQuery(this).parent().siblings('div').not('[rel="url"]').slideDown();
  211. jQuery(this).parent().siblings('div[rel="url"]').slideUp();
  212. }
  213. }
  214. });
  215. jQuery('select#page-option-item-slider-linktype, select#page-option-top-slider-linktype').each(function(){
  216. var selected_val = jQuery(this).val();
  217. if(selected_val == 'No Link' || selected_val == 'Lightbox'){
  218. jQuery(this).parent().siblings('div').css('display','none');
  219. }else{
  220. if(selected_val == 'Link to URL'){
  221. jQuery(this).parent().siblings('div').not('[rel="video"]').css('display','block');
  222. jQuery(this).parent().siblings('div[rel="video"]').css('display','none');
  223. }else{
  224. jQuery(this).parent().siblings('div').not('[rel="url"]').css('display','block');
  225. jQuery(this).parent().siblings('div[rel="url"]').css('display','none');
  226. }
  227. }
  228. });
  229. // Upload Image
  230. jQuery("input#upload_image_text_meta").change(function(){
  231. jQuery(this).siblings("input[type='hidden']").val(jQuery(this).val());
  232. });
  233. jQuery('input:button.upload_image_button_meta').click(function() {
  234. example_image = jQuery(this).siblings("#meta-input-example-image");
  235. upload_text = jQuery(this).siblings("#upload_image_text_meta");
  236. attachment_id = jQuery(this).siblings("#upload_image_attachment_id");
  237. tb_show('Upload Media', 'media-upload.php?post_id=&type=image&amp;TB_iframe=true');
  238. var oldSendToEditor = window.send_to_editor;
  239. window.send_to_editor = function(html){
  240. image_url = jQuery(html).attr('href');
  241. thumb_url = jQuery('img',html).attr('src');
  242. attid = jQuery(html).attr('attid');
  243. upload_text.val(image_url);
  244. attachment_id.val(attid);
  245. example_image.html('<img src=' + thumb_url + ' />');
  246. tb_remove();
  247. window.send_to_editor = oldSendToEditor;
  248. }
  249. return false;
  250. });
  251. // Testimonial Option
  252. jQuery("div.combobox #page-option-item-testimonial-display-type").change(function(){
  253. var gdl_category = jQuery(this).parents(".meta-body").siblings(".meta-body").find("#page-option-item-testimonial-category");
  254. var gdl_specific = jQuery(this).parents(".meta-body").siblings(".meta-body").find("#page-option-item-testimonial-specific");
  255. if(jQuery(this).val() == 'Testimonial Category'){
  256. gdl_specific.parents(".meta-body").slideUp();
  257. gdl_category.parents(".meta-body").slideDown();
  258. }else{
  259. gdl_category.parents(".meta-body").slideUp();
  260. gdl_specific.parents(".meta-body").slideDown();
  261. }
  262. });
  263. jQuery("div.combobox #page-option-item-testimonial-display-type").each(function(){
  264. var gdl_category = jQuery(this).parents(".meta-body").siblings(".meta-body").find("#page-option-item-testimonial-category");
  265. var gdl_specific = jQuery(this).parents(".meta-body").siblings(".meta-body").find("#page-option-item-testimonial-specific");
  266. if(jQuery(this).val() == 'Testimonial Category'){
  267. gdl_specific.parents(".meta-body").css('display','none');
  268. gdl_category.parents(".meta-body").css('display','block');
  269. }else{
  270. gdl_category.parents(".meta-body").css('display','none');
  271. gdl_specific.parents(".meta-body").css('display','block');
  272. }
  273. });
  274. // Bind No Top Slider
  275. jQuery('select#page-option-top-slider-types').change(function(){
  276. if(jQuery(this).val()=='No Slider'){
  277. jQuery(this).parents('.meta-body').siblings('.gdl-top-slider-wrapper').slideUp();
  278. jQuery(this).parents('.meta-body').siblings('.gdl-layer-slider-wrapper').slideUp();
  279. }else if(jQuery(this).val()=='Layer Slider'){
  280. jQuery(this).parents('.meta-body').siblings('.gdl-top-slider-wrapper').slideUp();
  281. jQuery(this).parents('.meta-body').siblings('.gdl-layer-slider-wrapper').slideDown();
  282. }else{
  283. jQuery(this).parents('.meta-body').next('.meta-body').slideDown();
  284. jQuery(this).parents('.meta-body').siblings('.gdl-top-slider-wrapper').slideDown();
  285. jQuery(this).parents('.meta-body').siblings('.gdl-layer-slider-wrapper').slideUp();
  286. }
  287. });
  288. jQuery('select#page-option-top-slider-types').each(function(){
  289. if(jQuery(this).val()=='No Slider'){
  290. jQuery(this).parents('.meta-body').siblings('.gdl-top-slider-wrapper').css('display','none');
  291. jQuery(this).parents('.meta-body').siblings('.gdl-layer-slider-wrapper').css('display','none');
  292. }else if(jQuery(this).val()=='Layer Slider'){
  293. jQuery(this).parents('.meta-body').siblings('.gdl-top-slider-wrapper').css('display','none');
  294. jQuery(this).parents('.meta-body').siblings('.gdl-layer-slider-wrapper').css('display','block');
  295. }else{
  296. jQuery(this).parents('.meta-body').siblings('.gdl-top-slider-wrapper').css('display','block');
  297. jQuery(this).parents('.meta-body').siblings('.gdl-layer-slider-wrapper').css('display','none');
  298. }
  299. });
  300. // Page Template Choose
  301. jQuery("#page_template").change(function(){
  302. if(jQuery(this).val() == 'page-sitemap.php'){
  303. jQuery("#page-option").slideUp();
  304. }else{
  305. jQuery("#page-option").slideDown();
  306. }
  307. });
  308. });