navigation-editor.php 80 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937
  1. <?php
  2. /**
  3. * @package Revolution Slider
  4. * @author ThemePunch <info@themepunch.com>
  5. * @link http://revolution.themepunch.com/
  6. * @copyright 2015 ThemePunch
  7. */
  8. if( !defined( 'ABSPATH') ) exit();
  9. $nav = new RevSliderNavigation();
  10. $navigation = intval(RevSliderBase::getGetVar('navigation', 0));
  11. $navigs = $nav->get_all_navigations();
  12. $rsopr = new RevSliderOperations();
  13. $font_families = $rsopr->getArrFontFamilys();
  14. ?>
  15. <div class='wrap'>
  16. <div class="clear_both"></div>
  17. <div class="title_line nobgnopd" style="margin-bottom: 20px !important;">
  18. <?php
  19. $icon_general = '<div class="icon32" id="icon-options-general"></div>';
  20. echo apply_filters( 'rev_icon_general_filter', $icon_general );
  21. ?>
  22. <div class="view_title">
  23. <?php _e('Navigation Editor', 'revslider'); ?>
  24. </div>
  25. </div>
  26. <div class="setting_box navig" style="margin-bottom: 20px;">
  27. <h3><span class="setting-step-number">1</span><span style="max-width: 400px;"><?php _e('Select the Navigation Category to Edit', 'revslider'); ?></span> <a original-title="" class="button-primary revblue" id="rs-add-new-navigation-element" href="javascript:void(0);"><?php _e('Add New', 'revslider'); ?></a></h3>
  28. <div class="table-titles">
  29. <div class="rs-nav-table-cell rs-nav-table-title"><?php _e('#ID', 'revslider'); ?></div>
  30. <div class="rs-nav-table-cell rs-nav-table-title"><?php _e('Skin Name', 'revslider'); ?></div>
  31. <div class="rs-nav-table-cell rs-nav-table-title"><?php _e('Arrows', 'revslider'); ?></div>
  32. <div class="rs-nav-table-cell rs-nav-table-title"><?php _e('Bullets', 'revslider'); ?></div>
  33. <div class="rs-nav-table-cell rs-nav-table-title"><?php _e('Thumbs', 'revslider'); ?></div>
  34. <div class="rs-nav-table-cell rs-nav-table-title"><?php _e('Tabs', 'revslider'); ?></div>
  35. <div class="rs-nav-table-cell rs-nav-table-title" style="width:auto;text-align:left;padding:0px 20px;"><?php _e('Actions', 'revslider'); ?></div>
  36. </div>
  37. <div id="list-of-navigations" style="max-height:430px;overflow:hidden;position:relative;top:0px;left:0px;">
  38. <div class="rs-nav-table tablecontent">
  39. <?php
  40. //all will be added here through JavaScript
  41. ?>
  42. </div>
  43. </div>
  44. </div>
  45. <div style="clear: both;"></div>
  46. <div class="setting_box navig" style="margin-bottom: 20px;">
  47. <div class="rs-editing-wrapper" style="display: none;">
  48. <h3 style="border:0;"><span class="setting-step-number">2</span><span style="max-width: 400px;"><?php _e('Editing', 'revslider'); ?> <span class="rs-nav-editing-title"></span></span> <a href="javascript:void(0);" class="button-primary revred rs-remove-nav-element"><?php _e('Remove', 'revslider'); ?></a></h3>
  49. <div class="rs-editing-markups-wrap">
  50. <div class="rs-markup-selector">
  51. <div class="rs-selector-title"><?php _e('Markup', 'revslider'); ?></div> <span class="rs-editor-open-field"><i class="revicon-list-add"></i></span>
  52. </div>
  53. <div class="rs-markup-wrapper" style="display: none;">
  54. <div class="rs-markup-elements">
  55. <div style="padding: 20px;" class="closemeshowhide">
  56. <div class="helper-wrappers">
  57. <h4><?php _e('Actions', 'revslider'); ?></h4>
  58. <ul class="rs-element-list">
  59. <!-- <li id="reset-markup-arrow" data-call="arrows_markup"><span class="libtn"><?php _e('Reset Defaults', 'revslider'); ?><span class="more-values-available resetme"></span></span></li>
  60. <li id="reset-markup-bullets" data-call="bullets_markup"><span class="libtn"><?php _e('Reset Defaults', 'revslider'); ?><span class="more-values-available resetme"></span></span></li>
  61. <li id="reset-markup-thumbs" data-call="thumbs_markup"><span class="libtn"><?php _e('Reset Defaults', 'revslider'); ?><span class="more-values-available resetme"></span></span></li>
  62. <li id="reset-markup-tabs" data-call="tabs_markup"><span class="libtn"><?php _e('Reset Defaults', 'revslider'); ?><span class="more-values-available resetme"></span></span></li>-->
  63. <li><span class="libtn"><?php _e('Parameters', 'revslider'); ?><span class="more-values-available"></span></span>
  64. <ul style="display: none;" class="rs-element-add">
  65. <li data-call="params_special" data-paramid="title"><span class="libtn"><?php _e('Slide Title', 'revslider'); ?></span></li>
  66. <li data-call="params_special" data-paramid="description"><span class="libtn"><?php _e('Slide Description', 'revslider'); ?></span></li>
  67. <?php
  68. for($i=1;$i<=10;$i++){
  69. ?>
  70. <li data-call="params_markup" data-paramid="<?php echo $i; ?>"><span class="libtn"><?php _e('Parameter ', 'revslider'); ?> <?php echo $i; ?></span></li>
  71. <?php
  72. }
  73. ?>
  74. </ul>
  75. </li>
  76. </ul>
  77. </div>
  78. </div>
  79. <div class="showhidehelper"></div>
  80. </div>
  81. <textarea name="rs-cm-markup" id="rs-cm-markup"></textarea>
  82. </div><div class="rs-css-selector open">
  83. <div class="rs-selector-title"><?php _e('CSS', 'revslider'); ?></div> <span class="rs-editor-open-field"><i class="revicon-list-add"></i></span>
  84. </div>
  85. <div class="rs-css-wrapper" style="display: none;">
  86. <div class="rs-css-elements">
  87. <div style="padding: 20px;" class="closemeshowhide">
  88. <div class="helper-wrappers rea-open">
  89. <h4><span class="libtn"><?php _e('Style Helper', 'revslider'); ?><span class="more-values-available"></span></span></h4>
  90. <ul class="rs-element-list collapsable" style="display:block">
  91. <li data-call="color_value"><span class="libtn"><?php _e('Color Value', 'revslider'); ?><span class="more-values-available"></span></span>
  92. <div style="display: none;" class="rs-element-add rs-element-add-color">
  93. <input type="text" name="rs-color" class="my-color-field" value="#000000">
  94. <span class="tp-clearfix"></span>
  95. <a href="javascript:void(0);" id="rs-add-css-color" class="button-primary revblue" original-title=""><?php _e('Add', 'revslider'); ?></a>
  96. </div>
  97. </li>
  98. <li data-call="border_radius"><span class="libtn"><?php _e('Border Radius', 'revslider'); ?><span class="more-values-available"></span></span>
  99. <div style="display: none;" class="rs-element-add rs-element-add-border-radius">
  100. <label><?php _e('Top Left', 'revslider'); ?></label>
  101. <input class="rs-small-input" type="text" name="rs-border-radius-top-left" value="1"></td>
  102. <label><?php _e('Top Right', 'revslider'); ?></label>
  103. <input class="rs-small-input" type="text" name="rs-border-radius-top-right" value="1"></td>
  104. <label><?php _e('Bottom Right', 'revslider'); ?></label>
  105. <input class="rs-small-input" type="text" name="rs-border-radius-bottom-right" value="1"></td>
  106. <label><?php _e('Bottom Left', 'revslider'); ?></label>
  107. <input class="rs-small-input" type="text" name="rs-border-radius-bottom-left" value="1"></td>
  108. <span class="tp-clearfix"></span>
  109. <a href="javascript:void(0);" id="rs-add-css-border-radius" class="button-primary revblue" original-title=""><?php _e('Add', 'revslider'); ?></a>
  110. </div>
  111. </li>
  112. <li data-call="border"><span class="libtn"><?php _e('Border', 'revslider'); ?><span class="more-values-available"></span></span>
  113. <div style="display: none;" class="rs-element-add rs-element-add-border">
  114. <label><?php _e('Top', 'revslider'); ?></label>
  115. <input class="rs-small-input" type="text" name="rs-border-top" value="1">
  116. <label><?php _e('Right', 'revslider'); ?></label>
  117. <input class="rs-small-input" type="text" name="rs-border-right" value="1">
  118. <label><?php _e('Bottom', 'revslider'); ?></label>
  119. <input class="rs-small-input" type="text" name="rs-border-bottom" value="1">
  120. <label><?php _e('Left', 'revslider'); ?></label>
  121. <input class="rs-small-input" type="text" name="rs-border-left" value="1">
  122. <span class="tp-clearfix"></span>
  123. <input type="text" name="rs-border-color" class="my-color-field" value="#000000">
  124. <span class="tp-clearfix"></span>
  125. <a href="javascript:void(0);" id="rs-add-css-border" class="button-primary revblue" original-title=""><?php _e('Add', 'revslider'); ?></a>
  126. </div>
  127. </li>
  128. <li data-call="text_shadow"><span class="libtn"><?php _e('Text-Shadow', 'revslider'); ?><span class="more-values-available"></span></span>
  129. <div style="display: none;" class="rs-element-add rs-element-add-text-shadow">
  130. <label><?php _e('Angle', 'revslider'); ?></label>
  131. <input class="rs-small-input" type="text" name="rs-text-shadow-angle" value="0">
  132. <label><?php _e('Distance', 'revslider'); ?></label>
  133. <input class="rs-small-input" type="text" name="rs-text-shadow-distance" value="0">
  134. <label><?php _e('Blur', 'revslider'); ?></label>
  135. <input class="rs-small-input" type="text" name="rs-text-shadow-blur" value="0">
  136. <span class="tp-clearfix"></span>
  137. <input type="text" name="rs-text-shadow-color" class="my-color-field" value="#000000">
  138. <span class="tp-clearfix"></span>
  139. <a href="javascript:void(0);" id="rs-add-css-text-shadow" class="button-primary revblue" original-title=""><?php _e('Add', 'revslider'); ?></a>
  140. </div>
  141. </li>
  142. <li data-call="box_shadow"><span class="libtn"><?php _e('Box-Shadow', 'revslider'); ?><span class="more-values-available"></span></span>
  143. <div style="display: none;" class="rs-element-add rs-element-add-box-shadow">
  144. <label><?php _e('Angle', 'revslider'); ?></label>
  145. <input class="rs-small-input" type="text" name="rs-box-shadow-angle" value="0">
  146. <label><?php _e('Distance', 'revslider'); ?></label>
  147. <input class="rs-small-input" type="text" name="rs-box-shadow-distance" value="0">
  148. <label><?php _e('Blur', 'revslider'); ?></label>
  149. <input class="rs-small-input" type="text" name="rs-box-shadow-blur" value="0">
  150. <span class="tp-clearfix"></span>
  151. <input type="text" name="rs-box-shadow-color" class="my-color-field" value="#000000">
  152. <span class="tp-clearfix"></span>
  153. <a href="javascript:void(0);" id="rs-add-css-box-shadow" class="button-primary revblue" original-title=""><?php _e('Add', 'revslider'); ?></a>
  154. </div>
  155. </li>
  156. <li data-call="font_families"><span class="libtn"><?php _e('Font Family', 'revslider'); ?><span class="more-values-available"></span></span>
  157. <div style="display: none;" class="rs-element-add rs-element-add-box-shadow">
  158. <select name="rs-font-family" style="width: 160px">
  159. <?php
  160. foreach($font_families as $handle => $name){
  161. if($name['label'] == 'Dont Show Me') continue;
  162. ?>
  163. <option value="<?php echo esc_attr($name['label']); ?>"><?php echo esc_attr($name['label']); ?></option>
  164. <?php
  165. }
  166. ?>
  167. </select>
  168. <a href="javascript:void(0);" id="rs-add-css-font-family" class="button-primary revblue" original-title=""><?php _e('Add', 'revslider'); ?></a>
  169. </div>
  170. </li>
  171. </ul>
  172. </div>
  173. <div class="helper-wrappers">
  174. <!--<h4><span class="libtn"><?php _e('Resets', 'revslider'); ?><span class="more-values-available"></span></span></h4>
  175. <ul class="rs-element-list collapsable" style="display:none">
  176. <li id="reset-css-arrow" data-call="arrows_css"><span class="libtn"><?php _e('Classes & Style', 'revslider'); ?><span class="more-values-available resetme"></span></span></li>
  177. <li id="reset-css-arrow-empty" data-call="arrows_css_empty"><span class="libtn"><?php _e('Only Classes', 'revslider'); ?><span class="more-values-available resetme"></span></span></li>
  178. <li id="reset-css-bullets" data-call="bullets_css"><span class="libtn"><?php _e('Classes & Style', 'revslider'); ?><span class="more-values-available resetme"></span></span></li>
  179. <li id="reset-css-bullets-empty" data-call="bullets_css_empty"><span class="libtn"><?php _e('Only Classes', 'revslider'); ?><span class="more-values-available resetme"></span></span></li>
  180. <li id="reset-css-thumbs" data-call="thumbs_css"><span class="libtn"><?php _e('Classes & Style', 'revslider'); ?><span class="more-values-available resetme"></span></span></li>
  181. <li id="reset-css-thumbs-empty" data-call="thumbs_css_empty"><span class="libtn"><?php _e('Only Classes', 'revslider'); ?><span class="more-values-available resetme"></span></span></li>
  182. <li id="reset-css-tabs" data-call="tabs_css"><span class="libtn"><?php _e('Classes & Style', 'revslider'); ?><span class="more-values-available resetme"></span></span></li>
  183. <li id="reset-css-tabs-empty" data-call="tabs_css_empty"><span class="libtn"><?php _e('Only Classes', 'revslider'); ?><span class="more-values-available resetme"></span></span></li>
  184. </ul>-->
  185. </div>
  186. <div class="helper-wrappers">
  187. <h4><span class="libtn"><?php _e('Dynamic Values', 'revslider'); ?><span class="more-values-available"></span></span></h4>
  188. <ul class="rs-element-list collapsable" id="rs-placeholder-container" style="display:none">
  189. <li class="rs-always-stay">
  190. <div class="rs-element-add rs-element-add-placeholder">
  191. <a href="javascript:void(0);" id="rs-add-placeholder" class="button-primary revblue" original-title=""><?php _e('Add', 'revslider'); ?></a>
  192. </div>
  193. </li>
  194. </ul>
  195. </div>
  196. </div>
  197. <div class="showhidehelper"></div>
  198. </div>
  199. <textarea name="rs-cm-css" id="rs-cm-css"></textarea>
  200. </div>
  201. </div>
  202. <div class="rs-editing-preview-wrap">
  203. <div class="rs-editing-preview-overlay"></div>
  204. <div class="rs-arrows-preview">
  205. <div class="tp-arrows tp-leftarrow"></div>
  206. <div class="tp-arrows tp-rightarrow"></div>
  207. </div>
  208. <div class="rs-bullets-preview"></div>
  209. <div class="rs-thumbs-preview"></div>
  210. <div class="rs-tabs-preview"></div>
  211. <input id="rs-preview-color-changer" type="text" name="rs-preview-color" class="bg-color-field" value="#000000">
  212. <span class="little-info"><?php _e('Live Preview - Hover & Click for test', 'revslider'); ?></span>
  213. <span class="little-sizes">
  214. <?php _e('Suggested Width:', 'revslider'); ?>
  215. <input class="rs-small-input" type="text" name="rs-test-width" value="160" style="width:45px !important; margin-right:15px;">
  216. <?php _e('Suggested Height:', 'revslider'); ?>
  217. <input class="rs-small-input" type="text" name="rs-test-height" value="160" style="width:45px !important;">
  218. </span>
  219. </div>
  220. <div style="clear: both;"></div>
  221. </div>
  222. </div>
  223. <div id="preview-nav-wrapper">
  224. <div class="rs-editing-preview-overlay"></div>
  225. <div class="rs-arrows-preview">
  226. <div class="tp-arrows tp-leftarrow"></div>
  227. <div class="tp-arrows tp-rightarrow"></div>
  228. </div>
  229. <div class="rs-bullets-preview"></div>
  230. <div class="rs-thumbs-preview"></div>
  231. <div class="rs-tabs-preview"></div>
  232. </div>
  233. <!--a class="button-primary revgreen" id="rs-save-navigation-style" href="javascript:void(0);"><i class="rs-icon-save-light"></i><?php _e('Save All Changes','revslider'); ?></a-->
  234. <script type="text/javascript">
  235. var rs_navigations = jQuery.parseJSON(<?php echo RevSliderFunctions::jsonEncodeForClientSide($navigs); ?>) || new Array();
  236. jQuery(document).ready(function(){
  237. var rs_current_editing = false;
  238. var cur_edit_type = false;
  239. var latest_nav_id = 0;
  240. var global_navigation_template = wp.template( "rs-navigation-wrap" );
  241. var global_navigation_template_header = wp.template( "rs-navigation-header-wrap" );
  242. rs_add_all_navigation_entries();
  243. function rs_add_navigation_header(title, type){
  244. var data = { title: title, type: type };
  245. var content = global_navigation_template_header(data);
  246. jQuery('.rs-nav-table.tablecontent').append(content);
  247. }
  248. function rs_add_navigation_element(nav_values, is_new){
  249. var data = {
  250. 'name': nav_values['name'],
  251. 'id': nav_values['id'],
  252. 'show-arrows': 'none',
  253. 'hide-arrows': 'block',
  254. 'show-bullets': 'none',
  255. 'hide-bullets': 'block',
  256. 'show-thumbs': 'none',
  257. 'hide-thumbs': 'block',
  258. 'show-tabs': 'none',
  259. 'hide-tabs': 'block'
  260. };
  261. if(typeof(nav_values['css']) !== 'undefined' && nav_values['css'] !== null){
  262. if(typeof(nav_values['css']['arrows']) !== 'undefined' && nav_values['css']['arrows'] !== null){
  263. data['hide-arrows'] = 'none';
  264. data['show-arrows'] = 'block';
  265. }
  266. if(typeof(nav_values['css']['bullets']) !== 'undefined' && nav_values['css']['bullets'] !== null){
  267. data['hide-bullets'] = 'none';
  268. data['show-bullets'] = 'block';
  269. }
  270. if(typeof(nav_values['css']['thumbs']) !== 'undefined' && nav_values['css']['thumbs'] !== null){
  271. data['hide-thumbs'] = 'none';
  272. data['show-thumbs'] = 'block';
  273. }
  274. if(typeof(nav_values['css']['tabs']) !== 'undefined' && nav_values['css']['tabs'] !== null){
  275. data['hide-tabs'] = 'none';
  276. data['show-tabs'] = 'block';
  277. }
  278. }
  279. data['has-original'] = false;
  280. if(typeof(nav_values['settings']) !== 'undefined' && typeof(nav_values['settings']['original']) !== 'undefined'){
  281. data['has-original'] = true;
  282. }
  283. data['edit'] = (typeof(nav_values['default']) !== 'undefined' && nav_values['default'] == true) ? false : true;
  284. data['show_text'] = (typeof(nav_values['default']) !== 'undefined' && nav_values['default'] == true) ? '<?php _e('View', 'revslider'); ?>' : '<?php _e('Edit', 'revslider'); ?>';
  285. var content = global_navigation_template(data);
  286. if(is_new){
  287. jQuery('.rs-default-t-wrap').before(content);
  288. }else{
  289. jQuery('.rs-nav-table.tablecontent').append(content);
  290. }
  291. }
  292. var rs_nav_placeholder = {
  293. arrows: '<div class="tp-arr-allwrapper">'+"\n\t"+'<div class="tp-arr-iwrapper">'+"\n\t\t"+'<div class="tp-arr-imgholder"></div>'+"\n\t\t"+'<div class="tp-arr-titleholder"></div>'+"\n\t\t"+'<div class="tp-arr-subtitleholder"></div>'+"\n\t"+'</div>'+"\n"+'</div>',
  294. bullets: '<span class="tp-bullet-image"></span>'+"\n"+'<span class="tp-bullet-title"></span>',
  295. thumbs: '<span class="tp-thumb-image"></span><span class="tp-thumb-title"></span>',
  296. tabs: '<span class="tp-tab-image"></span><span class="tp-tab-title"></span>'
  297. };
  298. var rs_css_placeholder = {
  299. arrows: '.{{class}}.tparrows {'+"\n\t"+'cursor:pointer;'+"\n\t"+'background:#000;'+"\n\t"+'background:rgba(0,0,0,0.5);'+"\n\t"+'width:40px;'+"\n\t"+'height:40px;'+"\n\t"+'position:absolute;'+"\n\t"+'display:block;'+"\n\t"+'z-index:100;'+"\n"+'}'+"\n"+
  300. '.{{class}}.tparrows:hover {'+"\n\t"+'background:#000;'+"\n"+'}'+"\n"+
  301. '.{{class}}.tparrows:before {'+"\n\t"+'font-family: "revicons";'+"\n\t"+'font-size:15px;'+"\n\t"+'color:#fff;'+"\n\t"+'display:block;'+"\n\t"+'line-height: 40px;'+"\n\t"+'text-align: center;'+"\n"+'}'+"\n"+
  302. '.{{class}}.tparrows.tp-leftarrow:before {'+"\n\t"+'content: "\\e824";'+"\n"+'}'+"\n"+
  303. '.{{class}}.tparrows.tp-rightarrow:before {'+"\n\t"+'content: "\\e825";'+"\n"+'}'+"\n"+
  304. '.{{class}} .tp-arr-allwrapper {'+"\n"+'}'+"\n"+
  305. '.{{class}} .tp-arr-iwrapper {'+"\n"+'}'+"\n"+
  306. '.{{class}} .tp-arr-imgholder {'+"\n"+'}'+"\n"+
  307. '.{{class}} .tp-arr-titleholder {'+"\n"+'}'+"\n"+
  308. '.{{class}} .tp-arr-subtitleholder {'+"\n"+'}'+"\n",
  309. arrows_empty:'.{{class}}.tparrows {'+"\n"+'}'+"\n"+
  310. '.{{class}}.tparrows:hover {'+"\n"+'}'+"\n"+
  311. '.{{class}}.tparrows:before {'+"\n"+'}'+"\n"+
  312. '.{{class}}.tparrows.tp-leftarrow:before {'+"\n"+'}'+"\n"+
  313. '.{{class}}.tparrows.tp-rightarrow:before {'+"\n"+'}'+"\n"+
  314. '.{{class}} .tp-arr-allwrapper {'+"\n"+'}'+"\n"+
  315. '.{{class}} .tp-arr-iwrapper {'+"\n"+'}'+"\n"+
  316. '.{{class}} .tp-arr-imgholder {'+"\n"+'}'+"\n"+
  317. '.{{class}} .tp-arr-titleholder {'+"\n"+'}'+"\n"+
  318. '.{{class}} .tp-arr-subtitleholder {'+"\n"+'}'+"\n",
  319. bullets:'.{{class}}.tp-bullets {'+"\n"+'}'+"\n"+
  320. '.{{class}}.tp-bullets:before {'+"\n\t"+'content:" ";'+"\n\t"+'position:absolute;'+"\n\t"+'width:100%;'+"\n\t"+'height:100%;'+"\n\t"+'background:#fff;'+"\n\t"+'padding:10px;'+"\n\t"+'margin-left:-10px;margin-top:-10px;'+"\n\t"+'box-sizing:content-box;'+"\n"+'}'+"\n"+
  321. '.{{class}} .tp-bullet {'+"\n\t"+'width:12px;'+"\n\t"+'height:12px;'+"\n\t"+'position:absolute;'+"\n\t"+'background:#aaa;'+"\n\t"+'border:3px solid #e5e5e5;'+"\n\t"+'border-radius:50%;'+"\n\t"+'cursor: pointer;'+"\n\t"+'box-sizing:content-box;'+"\n"+'}'+"\n"+
  322. '.{{class}} .tp-bullet:hover,'+"\n"+
  323. '.{{class}} .tp-bullet.selected {'+"\n\t"+'background:#666;'+"\n"+'}'+"\n"+
  324. '.{{class}} .tp-bullet-image {'+"\n"+'}'+"\n"+
  325. '.{{class}} .tp-bullet-title {'+"\n"+'}'+"\n",
  326. bullets_empty:'.{{class}}.tp-bullets {'+"\n"+'}'+"\n"+
  327. '.{{class}} .tp-bullet {'+"\n"+'}'+"\n"+
  328. '.{{class}} .tp-bullet:hover,'+"\n"+
  329. '.{{class}} .tp-bullet.selected {'+"\n"+'}'+"\n"+
  330. '.{{class}} .tp-bullet-image {'+"\n"+'}'+"\n"+
  331. '.{{class}} .tp-bullet-title {'+"\n"+'}'+"\n",
  332. thumbs:'',
  333. tabs:''
  334. }
  335. var rs_cm_markup_editor = CodeMirror.fromTextArea(document.getElementById("rs-cm-markup"), {
  336. lineNumbers: true,
  337. smartIndent:false,
  338. //lineWrapping:true,
  339. mode: 'text/html',
  340. onChange: function(){ rs_cm_modified('markup', rs_cm_markup_editor); drawEditor();},
  341. onCursorActivity: function() {
  342. rs_cm_markup_editor.setLineClass(hlLineM, null, null);
  343. hlLineM = rs_cm_markup_editor.setLineClass(rs_cm_markup_editor.getCursor().line, null, "activeline");
  344. rs_cm_markup_editor.matchHighlight("CodeMirror-matchhighlight");
  345. }
  346. });
  347. rs_cm_markup_editor.setSize(null, 600);
  348. var rs_cm_css_editor = CodeMirror.fromTextArea(document.getElementById("rs-cm-css"), {
  349. lineNumbers: true,
  350. smartIndent:false,
  351. //lineWrapping:true,
  352. mode: 'css',
  353. onChange: function(){ rs_cm_modified('css', rs_cm_css_editor);drawEditor(); },
  354. onCursorActivity: function() {
  355. rs_cm_css_editor.setLineClass(hlLineC, null, null);
  356. hlLineC = rs_cm_css_editor.setLineClass(rs_cm_css_editor.getCursor().line, null, "activeline");
  357. rs_cm_css_editor.matchHighlight("CodeMirror-matchhighlight");
  358. }
  359. });
  360. var hlLineM = rs_cm_markup_editor.setLineClass(0, "activeline"),
  361. hlLineC = rs_cm_css_editor.setLineClass(0, "activeline");
  362. //----------------------------------------------------
  363. // DRAW PREVIEW OF NAVIGATION ELEMENTS
  364. //----------------------------------------------------
  365. var previewNav = function(sbut,mclass,the_css,the_markup,settings, cur_edit_type) {
  366. the_css = replace_placeholder_in_css(the_css, mclass, cur_edit_type);
  367. var ap = jQuery('#preview-nav-wrapper .rs-arrows-preview'),
  368. bp = jQuery('#preview-nav-wrapper .rs-bullets-preview'),
  369. tabp = jQuery('#preview-nav-wrapper .rs-tabs-preview'),
  370. thumbp = jQuery('#preview-nav-wrapper .rs-thumbs-preview'),
  371. sizer = jQuery('#preview-nav-wrapper .little-sizes');
  372. ap.html("");
  373. bp.html("");
  374. tabp.html("");
  375. thumbp.html("");
  376. ap.hide();
  377. bp.hide();
  378. tabp.hide();
  379. thumbp.hide();
  380. sizer.hide();
  381. if (sbut.hasClass("rs-nav-arrows-edit")) {
  382. ap.show();
  383. var pattern = new RegExp(":hover",'g');
  384. var t = '<style>'+the_css.replace(pattern,'.fakehover')+'</style>';
  385. t = t + '<div class="'+mclass+' tparrows tp-leftarrow">'+the_markup+'</div>';
  386. t = t + '<div class="'+mclass+' tparrows tp-rightarrow">'+the_markup+'</div>';
  387. ap.html(t);
  388. setTimeout(function() {
  389. try{ap.find('.tp-rightarrow').addClass("fakehover");} catch(e) {}
  390. },200);
  391. } else
  392. if (sbut.hasClass("rs-nav-bullets-edit")) {
  393. bp.show();
  394. var t = '<style>'+the_css+'</style>';
  395. t = t + '<div class="'+mclass+' tp-bullets">'
  396. for (var i=0;i<5;i++) {
  397. t = t + '<div class="tp-bullet">'+the_markup+'</div>';
  398. }
  399. t= t + '</div>';
  400. bp.html(t);
  401. var b = bp.find('.tp-bullet').first(),
  402. bw = b.outerWidth(true),
  403. bh = b.outerHeight(true),
  404. mw = 0;
  405. bp.find('.tp-bullet').each(function(i) {
  406. var e = jQuery(this);
  407. if (i==0)
  408. setTimeout(function() {
  409. try{e.addClass("selected");} catch(e) {}
  410. },150);
  411. var np = i*bw + i*10;
  412. e.css({left:np+"px"});
  413. mw = mw + bw + 10;
  414. })
  415. mw = mw-10;
  416. bp.find('.tp-bullets').css({width:mw, height:bh});
  417. } else
  418. if (sbut.hasClass("rs-nav-tabs-edit")) {
  419. tabp.show();
  420. var t = '<style>'+the_css+'</style>';
  421. t = t + '<div class="'+mclass+'"><div class="tp-tab">'+the_markup+'</div></div>';
  422. tabp.html(t);
  423. var s = new Object();
  424. s.w = 160,
  425. s.h = 160;
  426. if (settings!="" && settings!=undefined) {
  427. if (settings.width!=undefined && settings.width.tabs!=undefined)
  428. s.w=settings.width.tabs;
  429. if (settings.height!=undefined && settings.height.tabs!=undefined)
  430. s.h=settings.height.tabs;
  431. }
  432. tabp.find('.tp-tab').each(function(){
  433. jQuery(this).css({width:s.w+"px",height:s.h+"px"});
  434. });
  435. } else
  436. if (sbut.hasClass("rs-nav-thumbs-edit")) {
  437. thumbp.show();
  438. var t = '<style>'+the_css+'</style>';
  439. t = t + '<div class="'+mclass+'"><div class="tp-thumb">'+the_markup+'</div></div>';
  440. thumbp.html(t);
  441. var s = new Object();
  442. s.w = 160,
  443. s.h = 160;
  444. if (settings!="" && settings!=undefined) {
  445. if (settings.width!=undefined && settings.width.thumbs!=undefined)
  446. s.w=settings.width.thumbs;
  447. if (settings.height!=undefined && settings.height.thumbs!=undefined)
  448. s.h=settings.height.thumbs;
  449. }
  450. thumbp.find('.tp-thumb').each(function(){
  451. jQuery(this).css({width:s.w+"px",height:s.h+"px"});
  452. });
  453. }
  454. }
  455. //----------------------------------------------------
  456. // DRAW PREVIEW OF NAVIGATION ELEMENTS
  457. //----------------------------------------------------
  458. var drawEditor = function() {
  459. var sline = jQuery('.rs-nav-table-row.rs-nav-entry-wrap.selected'),
  460. sbut = sline.find('a.selected'),
  461. ap = jQuery('.rs-editing-preview-wrap .rs-arrows-preview'),
  462. bp = jQuery('.rs-editing-preview-wrap .rs-bullets-preview'),
  463. tabp = jQuery('.rs-editing-preview-wrap .rs-tabs-preview'),
  464. thumbp = jQuery('.rs-editing-preview-wrap .rs-thumbs-preview'),
  465. sizer = jQuery('.rs-editing-preview-wrap .little-sizes'),
  466. mclass = UniteAdminRev.sanitize_input(jQuery('.rs-nav-table-row.rs-nav-entry-wrap.selected').find('input[name="navigation-name"]').val().toLowerCase());
  467. ap.html("");
  468. bp.html("");
  469. tabp.html("");
  470. thumbp.html("");
  471. ap.hide();
  472. bp.hide();
  473. tabp.hide();
  474. thumbp.hide();
  475. sizer.hide();
  476. var cur_css = rs_cm_css_editor.getValue();
  477. cur_css = replace_placeholder_in_css(cur_css, mclass);
  478. if (sbut.hasClass("rs-nav-arrows-edit")) {
  479. ap.show();
  480. var t = '<style>'+cur_css+'</style>';
  481. t = t + '<div class="'+mclass+' tparrows tp-leftarrow">'+rs_cm_markup_editor.getValue()+'</div>';
  482. t = t + '<div class="'+mclass+' tparrows tp-rightarrow">'+rs_cm_markup_editor.getValue()+'</div>';
  483. ap.html(t);
  484. } else
  485. if (sbut.hasClass("rs-nav-bullets-edit")) {
  486. bp.show();
  487. var t = '<style>'+cur_css+'</style>';
  488. t = t + '<div class="'+mclass+' tp-bullets">'
  489. for (var i=0;i<5;i++) {
  490. t = t + '<div class="tp-bullet">'+rs_cm_markup_editor.getValue()+'</div>';
  491. }
  492. t= t + '</div>';
  493. bp.html(t);
  494. var b = bp.find('.tp-bullet').first(),
  495. bw = b.outerWidth(true),
  496. bh = b.outerHeight(true),
  497. mw = 0;
  498. bp.find('.tp-bullet').each(function(i) {
  499. jQuery(this).click(function() {
  500. bp.find('.tp-bullet').removeClass("selected");
  501. jQuery(this).addClass("selected");
  502. })
  503. var np = i*bw + i*10;
  504. jQuery(this).css({left:np+"px"});
  505. mw = mw + bw + 10;
  506. })
  507. mw = mw-10;
  508. bp.find('.tp-bullets').css({width:mw, height:bh});
  509. } else
  510. if (sbut.hasClass("rs-nav-tabs-edit")) {
  511. tabp.show();
  512. var t = '<style>'+cur_css+'</style>';
  513. t = t + '<div class="'+mclass+'"><div class="tp-tab">'+rs_cm_markup_editor.getValue()+'</div></div>';
  514. tabp.html(t);
  515. changeTabThumbSize();
  516. sizer.show();
  517. } else
  518. if (sbut.hasClass("rs-nav-thumbs-edit")) {
  519. thumbp.show();
  520. var t = '<style>'+cur_css+'</style>';
  521. t = t + '<div class="'+mclass+'"><div class="tp-thumb">'+rs_cm_markup_editor.getValue()+'</div></div>';
  522. thumbp.html(t);
  523. sizer.show();
  524. changeTabThumbSize();
  525. }
  526. }
  527. jQuery('input[name="rs-test-width"]').on("change",changeTabThumbSize);
  528. jQuery('input[name="rs-test-height"]').on("change",changeTabThumbSize);
  529. function changeTabThumbSize() {
  530. var tabp = tabp = jQuery('.rs-tabs-preview'),
  531. thumbp = jQuery('.rs-thumbs-preview');
  532. tabp.find('.tp-tab').css({width:jQuery('input[name="rs-test-width"]').val(), height:jQuery('input[name="rs-test-height"]').val()});
  533. thumbp.find('.tp-thumb').css({width:jQuery('input[name="rs-test-width"]').val(), height:jQuery('input[name="rs-test-height"]').val()});
  534. }
  535. rs_cm_css_editor.setSize(null, 600);
  536. function rs_cm_modified(add_to, editor){
  537. if(rs_current_editing !== false && cur_edit_type !== false){
  538. for(var key in rs_navigations){
  539. if(rs_navigations[key]['id'] == rs_current_editing){
  540. rs_navigations[key][add_to][cur_edit_type] = editor.getValue();
  541. break;
  542. }
  543. }
  544. }
  545. }
  546. // COLLAPSE UL ON CLICK
  547. jQuery('body').on('click','.rs-editing-wrapper h4 .libtn',function() {
  548. var _t = jQuery(this),
  549. hw = _t.closest('.helper-wrappers'),
  550. ul = hw.find('ul.collapsable');
  551. ul.addClass("infocus");
  552. jQuery('.rs-editing-wrapper ul.collapsable').each(function() {
  553. var ul = jQuery(this),
  554. hw = ul.closest('.helper-wrappers');
  555. if (!ul.hasClass("infocus") && hw.hasClass("rea-open")) {
  556. ul.slideUp(100);
  557. hw.removeClass("rea-open")
  558. }
  559. });
  560. if (hw.hasClass("rea-open")) {
  561. ul.slideUp(100);
  562. hw.removeClass("rea-open");
  563. } else {
  564. ul.slideDown(100);
  565. hw.addClass("rea-open");
  566. }
  567. ul.removeClass("infocus");
  568. });
  569. var rs_replace = function(str, find, replace) {
  570. return str.replace(new RegExp(find, 'g'), replace);
  571. }
  572. function convertAnytoRGBorRGBA(a,c) {
  573. if (a==="color" || a==="color-rgba") {
  574. if (c.indexOf("rgb")>=0) {
  575. c = c.split('(')[1].split(")")[0];
  576. }
  577. else{
  578. c = UniteAdminRev.convertHexToRGB(c);
  579. c = c[0]+","+c[1]+","+c[2];
  580. }
  581. if (a==="color-rgba" && c.split(",").length<4) c = c+",1";
  582. }
  583. return c;
  584. }
  585. /**
  586. * Default navigations have a different handle, replace them for the preview
  587. **/
  588. var return_true_handle = function(css_handle){
  589. var def = {
  590. 'hesperiden': 'round',
  591. 'gyges': 'navbar',
  592. 'hades': 'preview1',
  593. 'ares': 'preview2',
  594. 'hebe': 'preview3',
  595. 'hermes': 'preview4',
  596. 'hephaistos': 'round-old',
  597. 'persephone': 'square-old',
  598. 'erinyen': 'navbar-old'
  599. };
  600. css_handle = (def[css_handle] !== undefined) ? def[css_handle] : css_handle;
  601. return css_handle;
  602. }
  603. var replace_placeholder_in_css = function(css, css_handle, nav_type){
  604. if(nav_type === undefined){
  605. var nav_type = rs_get_current_nav_type();
  606. }
  607. css_handle = return_true_handle(css_handle);
  608. for(var key in rs_navigations){
  609. if(rs_navigations[key]['handle'] != css_handle) continue;
  610. if(typeof(rs_navigations[key]['settings']) !== 'undefined'){
  611. if(rs_navigations[key]['settings']['placeholders'] == undefined) return css;
  612. }
  613. for(var phkey in rs_navigations[key]['settings']['placeholders']){
  614. if(rs_navigations[key]['settings']['placeholders'][phkey]['nav-type'] !== nav_type) continue;
  615. var d = rs_navigations[key]['settings']['placeholders'][phkey];
  616. switch(d['type']){
  617. case 'color':
  618. css = rs_replace(css, '##'+d['handle']+'##', convertAnytoRGBorRGBA('color',d['data']['color']));
  619. break;
  620. case 'color-rgba':
  621. css = rs_replace(css, '##'+d['handle']+'##', convertAnytoRGBorRGBA('color-rgba',d['data']['color-rgba']));
  622. break;
  623. case 'font-family':
  624. css = rs_replace(css, '##'+d['handle']+'##', d['data'].font_family);
  625. break;
  626. case 'custom':
  627. css = rs_replace(css, '##'+d['handle']+'##', d['data'].custom);
  628. break;
  629. default:
  630. //return false;
  631. break;
  632. }
  633. }
  634. }
  635. return css;
  636. }
  637. jQuery('body').on('click', '.rs-nav-arrows-edit, .rs-nav-bullets-edit, .rs-nav-thumbs-edit, .rs-nav-tabs-edit', function(){
  638. var nav_id = jQuery(this).closest('.rs-nav-table-row').attr('id').replace('rs-nav-table-', ''),
  639. edit_title = jQuery(this).closest('.rs-nav-table-row').find('input[name="navigation-name"]').val(),
  640. cur_edit = {};
  641. for(var key in rs_navigations){
  642. if(rs_navigations[key]['id'] == nav_id){
  643. cur_edit = jQuery.extend(true, {}, rs_navigations[key]);
  644. break;
  645. }
  646. }
  647. jQuery('#reset-markup-arrow').hide();
  648. jQuery('#reset-markup-bullets').hide();
  649. jQuery('#reset-markup-tabs').hide();
  650. jQuery('#reset-markup-thumbs').hide();
  651. jQuery('#reset-css-arrow').hide();
  652. jQuery('#reset-css-bullets').hide();
  653. jQuery('#reset-css-tabs').hide();
  654. jQuery('#reset-css-thumbs').hide();
  655. jQuery('#reset-css-arrow-empty').hide();
  656. jQuery('#reset-css-bullets-empty').hide();
  657. jQuery('#reset-css-tabs-empty').hide();
  658. jQuery('#reset-css-thumbs-empty').hide();
  659. if(jQuery.isEmptyObject(cur_edit)) return false;
  660. if(jQuery(this).hasClass('rs-nav-arrows-edit')){
  661. edit_title += ' - ' + rev_lang.arrows;
  662. cur_edit_type = 'arrows';
  663. jQuery('#reset-markup-arrow').show();
  664. jQuery('#reset-css-arrow').show();
  665. jQuery('#reset-css-arrow-empty').show();
  666. }else if(jQuery(this).hasClass('rs-nav-bullets-edit')){
  667. edit_title += ' - ' + rev_lang.bullets;
  668. cur_edit_type = 'bullets';
  669. jQuery('#reset-markup-bullets').show();
  670. jQuery('#reset-css-bullets').show();
  671. jQuery('#reset-css-bullets-empty').show();
  672. }else if(jQuery(this).hasClass('rs-nav-thumbs-edit')){
  673. edit_title += ' - ' + rev_lang.thumbnails;
  674. cur_edit_type = 'thumbs';
  675. jQuery('#reset-markup-thumbs').show();
  676. jQuery('#reset-css-thumbs').show();
  677. jQuery('#reset-css-thumbs-empty').show();
  678. }else if(jQuery(this).hasClass('rs-nav-tabs-edit')){
  679. edit_title += ' - ' + rev_lang.tabs;
  680. cur_edit_type = 'tabs';
  681. jQuery('#reset-markup-tabs').show();
  682. jQuery('#reset-css-tabs').show();
  683. jQuery('#reset-css-tabs-empty').show();
  684. }else{
  685. return false;
  686. }
  687. var the_css = (typeof(cur_edit['css']) !== 'undefined' && cur_edit['css'] !== null && typeof(cur_edit['css'][cur_edit_type]) !== 'undefined') ? cur_edit['css'][cur_edit_type] : '';
  688. var the_markup = (typeof(cur_edit['markup']) !== 'undefined' && cur_edit['markup'] !== null && typeof(cur_edit['markup'][cur_edit_type]) !== 'undefined') ? cur_edit['markup'][cur_edit_type] : rs_nav_placeholder[cur_edit_type];
  689. if(cur_edit['css'] == null) cur_edit['css'] = {};
  690. if(cur_edit['markup'] == null) cur_edit['markup'] = {};
  691. if((typeof(cur_edit['css']) == 'undefined' || typeof(cur_edit['css'][cur_edit_type]) == 'undefined') || (typeof(cur_edit['markup']) == 'undefined' || typeof(cur_edit['markup'][cur_edit_type]) == 'undefined')){
  692. if(typeof(cur_edit.default) !== 'undefined' && cur_edit.default == true) return false;
  693. if(!confirm(rev_lang.create_this_nav_element)){
  694. return false;
  695. }else{
  696. if(rs_navigations[key]['css'] == null) rs_navigations[key]['css'] = {};
  697. if(rs_navigations[key]['markup'] == null) rs_navigations[key]['markup'] = {};
  698. rs_navigations[key]['css'][cur_edit_type] = the_css;
  699. rs_navigations[key]['markup'][cur_edit_type] = the_markup;
  700. rs_navigations[key]['settings']['width'] = {"thumbs":"160","arrows":"160","bullets":"160","tabs":"160"};
  701. rs_navigations[key]['settings']['height'] = {"thumbs":"160","arrows":"160","bullets":"160","tabs":"160"};
  702. jQuery(this).find('.rs-edit-nav').show();
  703. jQuery(this).find('.rs-edit-cancel-nav').hide();
  704. }
  705. }
  706. jQuery('.rs-nav-table-row').removeClass('selected');
  707. jQuery('.rs-nav-table-row').find('*').removeClass('selected');
  708. jQuery(this).closest('.rs-nav-table-row').addClass('selected');
  709. jQuery(this).closest('.rs-nav-table-cell').addClass('selected');
  710. jQuery(this).addClass('selected');
  711. jQuery('.rs-editing-wrapper').show();
  712. jQuery('.rs-nav-editing-title').text(edit_title);
  713. rs_current_editing = nav_id;
  714. rs_cm_css_editor.setValue(the_css);
  715. rs_cm_markup_editor.setValue(the_markup);
  716. rs_cm_css_editor.refresh();
  717. rs_cm_markup_editor.refresh();
  718. cur_edit.settings = cur_edit.settings === undefined || typeof(cur_edit.settings) === 'string' ? {width: {"thumbs":"160","arrows":"160","bullets":"160","tabs":"160"}, height: {"thumbs":"160","arrows":"160","bullets":"160","tabs":"160"}} : cur_edit.settings;
  719. cur_edit.settings.width = cur_edit.settings.width === undefined || typeof(cur_edit.settings.width) === 'string' ? {"thumbs":"160","arrows":"160","bullets":"160","tabs":"160"} : cur_edit.settings.width;
  720. cur_edit.settings.height = cur_edit.settings.height === undefined || typeof(cur_edit.settings.height) === 'string' ? {"thumbs":"160","arrows":"160","bullets":"160","tabs":"160"} : cur_edit.settings.height;
  721. cur_edit.settings.width[cur_edit_type] = cur_edit.settings.width[cur_edit_type] === undefined ? "160" : cur_edit.settings.width[cur_edit_type];
  722. cur_edit.settings.height[cur_edit_type] = cur_edit.settings.height[cur_edit_type] === undefined ? "160" : cur_edit.settings.height[cur_edit_type];
  723. jQuery('input[name="rs-test-width"]').val(cur_edit.settings.width[cur_edit_type]);
  724. jQuery('input[name="rs-test-height"]').val(cur_edit.settings.height[cur_edit_type]);
  725. drawEditor();
  726. jQuery('.rs-markup-selector').click();
  727. setCMSize();
  728. if(typeof(cur_edit.default) !== 'undefined' && cur_edit.default == true){ //disable both editors
  729. rs_cm_css_editor.setOption("readOnly", true);
  730. rs_cm_markup_editor.setOption("readOnly", true);
  731. }else{ //enable both editors
  732. rs_cm_css_editor.setOption("readOnly", false);
  733. rs_cm_markup_editor.setOption("readOnly", false);
  734. }
  735. remove_placeholder();
  736. add_placeholder(cur_edit);
  737. });
  738. var remove_placeholder = function(){
  739. jQuery('#rs-placeholder-container li').each(function(){
  740. if(!jQuery(this).hasClass('rs-always-stay')){
  741. jQuery(this).remove();
  742. }
  743. });
  744. }
  745. var add_placeholder = function(cur_edit){
  746. //add placeholder to CSS if they exist
  747. if(cur_edit.settings !== undefined && cur_edit.settings.placeholders !== undefined){
  748. var nav_type = rs_get_current_nav_type();
  749. for(var key in cur_edit.settings.placeholders){
  750. if(cur_edit.settings.placeholders[key]['nav-type'] != nav_type) continue;
  751. //add to list
  752. var ph_title = '';
  753. switch(cur_edit.settings.placeholders[key]['type']){
  754. case 'color':
  755. ph_title = '<?php _e('Color', 'revslider'); ?>';
  756. break;
  757. case 'color-rgba':
  758. ph_title = '<?php _e('Color-RGBA', 'revslider'); ?>';
  759. break;
  760. case 'font-family':
  761. ph_title = '<?php _e('Font Family', 'revslider'); ?>';
  762. break;
  763. case 'custom':
  764. ph_title = '<?php _e('Custom', 'revslider'); ?>';
  765. break;
  766. default:
  767. continue;
  768. break;
  769. }
  770. jQuery('#rs-placeholder-container').prepend('<li data-placeholder="##'+cur_edit.settings.placeholders[key]['handle']+'##"><span class="rs-placeholder-title">'+cur_edit.settings.placeholders[key]['title']+'</span><a href="javascript:void(0);" class="rs-add-placeholder"><i class="eg-icon-plus"></i></a><a href="javascript:void(0);" class="rs-edit-placeholder"><i class="eg-icon-cog"></i></a><a href="javascript:void(0);" class="rs-remove-placeholder"><i class="eg-icon-trash"></i></a></li>');
  771. }
  772. }
  773. }
  774. jQuery('body').on('click', '.rs-edit-placeholder', function(){
  775. var placeholder = jQuery(this).closest('li').data('placeholder').replace(/#/g, '');
  776. var cur_id = rs_nav_get_selected_id();
  777. var nav_type = rs_get_current_nav_type();
  778. for(var key in rs_navigations){
  779. if(rs_navigations[key]['id'] != cur_id) continue;
  780. if(typeof(rs_navigations[key]['settings']) !== 'undefined'){
  781. if(rs_navigations[key]['settings']['placeholders'] == undefined) rs_navigations[key]['settings']['placeholders'] = [];
  782. }
  783. for(var phkey in rs_navigations[key]['settings']['placeholders']){
  784. if(rs_navigations[key]['settings']['placeholders'][phkey]['nav-type'] !== nav_type) continue;
  785. if(rs_navigations[key]['settings']['placeholders'][phkey]['handle'] == placeholder){
  786. rs_open_placeholder_dialog(rs_navigations[key]['settings']['placeholders'][phkey], phkey, key);
  787. return true;
  788. }
  789. }
  790. }
  791. alert('<?php _e('Entry not found', 'revslider'); ?>');
  792. });
  793. jQuery('body').on('click', '.rs-remove-placeholder', function(){
  794. if(confirm('<?php _e('Delete this Placeholder?', 'revslider'); ?>')){
  795. var placeholder = jQuery(this).closest('li').data('placeholder').replace(/#/g, '');
  796. var cur_id = rs_nav_get_selected_id();
  797. var nav_type = rs_get_current_nav_type();
  798. for(var key in rs_navigations){
  799. if(rs_navigations[key]['id'] != cur_id) continue;
  800. if(typeof(rs_navigations[key]['settings']) !== 'undefined'){
  801. if(rs_navigations[key]['settings']['placeholders'] == undefined) rs_navigations[key]['settings']['placeholders'] = [];
  802. }
  803. for(var phkey in rs_navigations[key]['settings']['placeholders']){
  804. if(rs_navigations[key]['settings']['placeholders'][phkey]['nav-type'] !== nav_type) continue;
  805. if(rs_navigations[key]['settings']['placeholders'][phkey]['handle'] == placeholder){
  806. delete(rs_navigations[key]['settings']['placeholders'][phkey]);
  807. remove_placeholder();
  808. add_placeholder(rs_navigations[key]);
  809. return true;
  810. }
  811. }
  812. }
  813. alert('<?php _e('Could not delete, entry not found', 'revslider'); ?>');
  814. }
  815. });
  816. jQuery('body').on('click', '#rs-placeholder-container li .rs-add-placeholder', function(){
  817. if(rs_check_if_default_nav()) return false;
  818. if(jQuery(this).closest('li').data('placeholder') == undefined) return false;
  819. var css = jQuery(this).closest('li').data('placeholder');
  820. rs_cm_css_editor.replaceSelection(css+"\n","end");
  821. });
  822. // SHOW ELEMENT ON HOVER
  823. jQuery('body').on('mouseenter', '.rs-nav-arrows-edit, .rs-nav-bullets-edit, .rs-nav-thumbs-edit, .rs-nav-tabs-edit', function(){
  824. var e = jQuery(this),
  825. nav_id = e.closest('.rs-nav-table-row').attr('id').replace('rs-nav-table-', ''),
  826. edit_title = e.closest('.rs-nav-table-row').find('input[name="navigation-name"]').val(),
  827. cur_edit = {};
  828. for(var key in rs_navigations){
  829. if(rs_navigations[key]['id'] == nav_id){
  830. cur_edit = jQuery.extend(true, {}, rs_navigations[key]);
  831. break;
  832. }
  833. }
  834. var cur_edit_type="";
  835. if(e.hasClass('rs-nav-arrows-edit')){
  836. cur_edit_type = 'arrows';
  837. }else if(e.hasClass('rs-nav-bullets-edit')){
  838. cur_edit_type = 'bullets';
  839. }else if(e.hasClass('rs-nav-thumbs-edit')){
  840. cur_edit_type = 'thumbs';
  841. }else if(e.hasClass('rs-nav-tabs-edit')){
  842. cur_edit_type = 'tabs';
  843. }else{
  844. return false;
  845. }
  846. var the_css = (typeof(cur_edit['css']) !== 'undefined' && cur_edit['css'] !== null && typeof(cur_edit['css'][cur_edit_type]) !== 'undefined') ? cur_edit['css'][cur_edit_type] : '',
  847. the_markup = (typeof(cur_edit['markup']) !== 'undefined' && cur_edit['markup'] !== null && typeof(cur_edit['markup'][cur_edit_type]) !== 'undefined') ? cur_edit['markup'][cur_edit_type] : rs_nav_placeholder[cur_edit_type],
  848. sline = e.closest('.rs-nav-table-row.rs-nav-entry-wrap'),
  849. settings = (typeof(cur_edit['settings']) !== 'undefined' && cur_edit['settings'] !== null) ? cur_edit['settings'] : "",
  850. mclass = UniteAdminRev.sanitize_input(sline.find('input[name="navigation-name"]').val().toLowerCase());
  851. if(cur_edit['css'] == null) return false;
  852. if(cur_edit['markup'] == null) return false;
  853. previewNav(e,mclass,the_css,the_markup,settings, cur_edit_type);
  854. var pos = e.offset(),
  855. pp =jQuery('#viewWrapper').offset(),
  856. ll = pos.left-pp.left,
  857. tt = pos.top-pp.top+65;
  858. punchgs.TweenLite.set(jQuery('#preview-nav-wrapper'),{top:tt,left:ll,autoAlpha:1,overwrite:"all"});
  859. });
  860. jQuery('body').on('mouseleave', '.rs-nav-arrows-edit, .rs-nav-bullets-edit, .rs-nav-thumbs-edit, .rs-nav-tabs-edit', function(e){
  861. punchgs.TweenLite.set(jQuery('#preview-nav-wrapper'),{autoAlpha:0});
  862. });
  863. jQuery('.rs-markup-selector').click(function(){
  864. jQuery('.rs-markup-wrapper').show();
  865. jQuery('.rs-css-wrapper').hide();
  866. jQuery(this).addClass('open');
  867. jQuery('.rs-css-selector').removeClass('open');
  868. rs_cm_markup_editor.refresh();
  869. setCMSize();
  870. });
  871. jQuery('.rs-css-selector').click(function(){
  872. jQuery('.rs-css-wrapper').show();
  873. jQuery('.rs-markup-wrapper').hide();
  874. jQuery(this).addClass('open');
  875. jQuery('.rs-markup-selector').removeClass('open');
  876. rs_cm_css_editor.refresh();
  877. setCMSize();
  878. });
  879. jQuery('.rs-element-list li .libtn').click(function(){
  880. if(rs_check_if_default_nav()) return false;
  881. var li = jQuery(this).parent(),
  882. call = li.data('call'),
  883. ins = li.data('insert'),
  884. edit_title = UniteAdminRev.sanitize_input(jQuery('.rs-nav-table-row.rs-nav-entry-wrap.selected').find('input[name="navigation-name"]').val().toLowerCase());
  885. if (call!=='params_markup' && call!=='params_special')
  886. jQuery('.rs-element-add').slideUp(100);
  887. //rs_cm_markup_editor.replaceSelection(rs_nav_placeholder['arrows'],"end");
  888. if (call==='arrows_markup')
  889. rs_cm_markup_editor.setValue(rs_nav_placeholder['arrows']);
  890. else
  891. if (call==='bullets_markup')
  892. rs_cm_markup_editor.setValue(rs_nav_placeholder['bullets']);
  893. else
  894. if (call==='thumbs_markup')
  895. rs_cm_markup_editor.setValue(rs_nav_placeholder['thumbs']);
  896. else
  897. if (call==='tabs_markup')
  898. rs_cm_markup_editor.setValue(rs_nav_placeholder['tabs']);
  899. else
  900. if (call==='arrows_css')
  901. rs_cm_css_editor.setValue(rs_css_placeholder['arrows'].replace(/\{\{class\}\}/g,edit_title).toLowerCase());
  902. else
  903. if (call==='arrows_css_empty')
  904. rs_cm_css_editor.setValue(rs_css_placeholder['arrows_empty'].replace(/\{\{class\}\}/g,edit_title).toLowerCase());
  905. else
  906. if (call==='bullets_css')
  907. rs_cm_css_editor.setValue(rs_css_placeholder['bullets'].replace(/\{\{class\}\}/g,edit_title).toLowerCase());
  908. else
  909. if (call==='bullets_css_empty')
  910. rs_cm_css_editor.setValue(rs_css_placeholder['bullets_empty'].replace(/\{\{class\}\}/g,edit_title).toLowerCase());
  911. else
  912. if (call==='params_markup')
  913. rs_cm_markup_editor.replaceSelection('{{param'+li.data('paramid')+'}}',"end");
  914. else
  915. if (call==='params_special')
  916. rs_cm_markup_editor.replaceSelection('{{'+li.data('paramid')+'}}',"end");
  917. else {
  918. var add = false;
  919. if (!li.hasClass("rea-open")) {
  920. li.find('.rs-element-add').slideDown(100);
  921. add = true;
  922. }
  923. jQuery('.rs-element-list li').removeClass("rea-open");
  924. if (add) li.addClass("rea-open");
  925. }
  926. });
  927. jQuery('.my-color-field').tpColorPicker({mode:"single"});
  928. jQuery('.bg-color-field').tpColorPicker({
  929. mode:"single",
  930. change:function() {
  931. jQuery('.rs-editing-preview-overlay').css({backgroundColor:window.RevColor.get(jQuery('#rs-preview-color-changer').val())})
  932. }
  933. });
  934. jQuery('input[name="rs-test-width"], input[name="rs-test-height"]').change(function(){
  935. if(rs_check_if_default_nav()) return false;
  936. if(rs_current_editing !== false && cur_edit_type !== false){
  937. for(var key in rs_navigations){
  938. if(rs_navigations[key]['id'] == rs_current_editing){
  939. if(typeof(rs_navigations[key]['settings']) == 'undefined' || typeof(rs_navigations[key]['settings']) == 'string') rs_navigations[key]['settings'] = {};
  940. rs_navigations[key]['settings'] = rs_navigations[key]['settings'] === undefined || typeof(rs_navigations[key]['settings']) === 'string' ? {width: {"thumbs":"160","arrows":"160","bullets":"160","tabs":"160"}, height: {"thumbs":"160","arrows":"160","bullets":"160","tabs":"160"}} : rs_navigations[key]['settings'];
  941. rs_navigations[key]['settings'].width = rs_navigations[key]['settings'].width === undefined || typeof(rs_navigations[key]['settings'].width) === 'string' ? {"thumbs":"160","arrows":"160","bullets":"160","tabs":"160"} : rs_navigations[key]['settings'].width;
  942. rs_navigations[key]['settings'].height = rs_navigations[key]['settings'].height === undefined || typeof(rs_navigations[key]['settings'].height) === 'string' ? {"thumbs":"160","arrows":"160","bullets":"160","tabs":"160"} : rs_navigations[key]['settings'].height;
  943. rs_navigations[key]['settings']['height'][cur_edit_type] = parseInt(jQuery('input[name="rs-test-height"]').val());
  944. rs_navigations[key]['settings']['width'][cur_edit_type] = parseInt(jQuery('input[name="rs-test-width"]').val());
  945. break;
  946. }
  947. }
  948. }
  949. });
  950. jQuery('#rs-save-navigation-style').click(function(){
  951. var marr = [];
  952. for(var key in rs_navigations){
  953. if(rs_navigations[key].default !== true) marr.push(rs_navigations[key]);
  954. }
  955. UniteAdminRev.ajaxRequest('change_navigations', marr, function(data){
  956. var cur_id = rs_nav_get_selected_id();
  957. if(cur_id !== false)
  958. var cur_type = rs_nav_get_selected_nav_type(cur_id);
  959. if(data.success == true){
  960. rs_navigations = data.navs;
  961. //rebuild all entries
  962. jQuery('.rs-nav-entry-wrap').remove();
  963. latest_nav_id = 0;
  964. rs_add_all_navigation_entries();
  965. }
  966. rs_nav_unselect_all();
  967. if(cur_id !== false)
  968. rs_nav_select_by_id(cur_id, cur_type);
  969. });
  970. });
  971. jQuery('body').on('click', '.rs-nav-reset', function(){
  972. if(confirm(rev_lang.this_will_reset_navigation)){
  973. var nav_id = jQuery(this).closest('.rs-nav-table-row').attr('id').replace('rs-nav-table-', '');
  974. for(var key in rs_navigations){
  975. if(rs_navigations[key]['id'] != nav_id) continue;
  976. if(typeof(rs_navigations[key]['settings']) !== 'undefined' && typeof(rs_navigations[key]['settings']['original']) !== 'undefined'){
  977. rs_navigations[key]['css'] = {};
  978. if(typeof(rs_navigations[key]['settings']['original']['css']) !== 'undefined'){
  979. for(var ckey in rs_navigations[key]['settings']['original']['css']){
  980. rs_navigations[key]['css'][ckey] = rs_navigations[key]['settings']['original']['css'][ckey];
  981. }
  982. }
  983. rs_navigations[key]['markup'] = {};
  984. if(typeof(rs_navigations[key]['settings']['original']['markup']) !== 'undefined'){
  985. for(var ckey in rs_navigations[key]['settings']['original']['markup']){
  986. rs_navigations[key]['markup'][ckey] = rs_navigations[key]['settings']['original']['markup'][ckey];
  987. }
  988. }
  989. }
  990. }
  991. //refresh all elements in editor
  992. var cur_id = rs_nav_get_selected_id();
  993. if(cur_id !== false)
  994. var cur_type = rs_nav_get_selected_nav_type(cur_id);
  995. jQuery('.rs-nav-entry-wrap').remove();
  996. latest_nav_id = 0;
  997. rs_add_all_navigation_entries();
  998. rs_nav_unselect_all();
  999. if(cur_id !== false)
  1000. rs_nav_select_by_id(cur_id, cur_type);
  1001. }
  1002. });
  1003. jQuery('body').on('click', '.rs-nav-delete', function(){
  1004. var nav_id = jQuery(this).closest('.rs-nav-table-row').attr('id').replace('rs-nav-table-', '');
  1005. if(confirm(rev_lang.delete_navigation)){
  1006. for(var key in rs_navigations){
  1007. if(rs_navigations[key]['id'] != nav_id) continue;
  1008. if(typeof(rs_navigations[key]['new']) !== 'undefined' && rs_navigations[key]['new'] == true){
  1009. delete rs_navigations[key];
  1010. jQuery('#rs-nav-table-'+nav_id).remove();
  1011. rs_nav_unselect_all();
  1012. return true;
  1013. }
  1014. }
  1015. UniteAdminRev.ajaxRequest('delete_navigation', nav_id, function(data){
  1016. if(data.success == true){
  1017. for(var key in rs_navigations){
  1018. if(rs_navigations[key]['id'] != nav_id) continue;
  1019. delete rs_navigations[key];
  1020. break;
  1021. }
  1022. jQuery('#rs-nav-table-'+nav_id).remove();
  1023. rs_nav_unselect_all();
  1024. }
  1025. });
  1026. }
  1027. });
  1028. jQuery('body').on('click', '.rs-nav-duplicate',function(){
  1029. var nav_id = jQuery(this).closest('.rs-nav-table-row').attr('id').replace('rs-nav-table-', '');
  1030. latest_nav_id++;
  1031. for(var key in rs_navigations){
  1032. if(rs_navigations[key]['id'] == nav_id){
  1033. var the_copy = jQuery.extend(true, the_copy, rs_navigations[key]);
  1034. the_copy['id'] = latest_nav_id;
  1035. the_copy['name'] += '-'+latest_nav_id;
  1036. the_copy['handle'] += '-'+latest_nav_id;
  1037. if(rs_check_if_default_nav(nav_id)){
  1038. delete(the_copy['default']);
  1039. }
  1040. if(typeof(the_copy['settings']) === 'undefined' || the_copy['settings'] == '' || the_copy['settings'] == null) the_copy['settings'] = {};
  1041. the_copy['settings']['original'] = {css:{},markup:{}};
  1042. the_copy['settings']['original']['css'] = rs_navigations[key]['css'];
  1043. var re = new RegExp('.'+rs_navigations[key]['name'].toLowerCase(), 'g'); //for defaults
  1044. //var re2 = new RegExp('.'+ += '-'+latest_nav_id;, 'g'); //for custom
  1045. for(var t in the_copy['css']){
  1046. the_copy['css'][t] = the_copy['css'][t].replace(re, '.'+the_copy['name'].toLowerCase()).toLowerCase();
  1047. //the_copy['css'][t] = the_copy['css'][t].replace(re2, '.'+the_copy['handle'].toLowerCase()).toLowerCase();
  1048. }
  1049. the_copy['settings']['original']['markup'] = rs_navigations[key]['markup'];
  1050. rs_add_navigation_element(the_copy, true);
  1051. the_copy['new'] = true;
  1052. rs_navigations.push(the_copy);
  1053. break;
  1054. }
  1055. }
  1056. });
  1057. var updateNavName = function() {
  1058. var inp = jQuery(".focused-navname"),
  1059. cell = inp.closest('.rs-nav-table-row.rs-nav-entry-wrap'),
  1060. curselected = cell.hasClass("selected"),
  1061. updated = false,
  1062. nav_id = inp.closest('.rs-nav-table-row').attr('id').replace('rs-nav-table-', ''),
  1063. name = inp.val(),
  1064. name_handle = UniteAdminRev.sanitize_input(name).toLowerCase();
  1065. jQuery(".focused-navname").removeClass("focused-navname")
  1066. if(name_handle.length < 3){
  1067. alert(rev_lang.name_too_short_sanitize_3);
  1068. return false;
  1069. }
  1070. for(var key in rs_navigations){
  1071. if(rs_navigations[key]['id'] == nav_id){
  1072. updated = key;
  1073. continue;
  1074. }
  1075. if(rs_navigations[key]['name'] == name){
  1076. alert(rev_lang.nav_name_already_exists);
  1077. return false;
  1078. }
  1079. }
  1080. if(updated !== false){
  1081. var oldname = rs_navigations[updated]['handle'],
  1082. oldname_b = rs_navigations[updated]['name'];
  1083. rs_navigations[updated]['name'] = name;
  1084. rs_navigations[updated]['handle'] = name_handle;
  1085. var regex = new RegExp("\\."+oldname+"|."+oldname_b,"gi");
  1086. if (curselected) {
  1087. var el = cell.find('.selected .selected');
  1088. el = el.hasClass('rs-nav-bullets-edit') ? "bullets" : el.hasClass('rs-nav-arrows-edit') ? "arrows" : el.hasClass('rs-nav-thumbs-edit') ? "thumbs" : el.hasClass('rs-nav-tabs-edit') ? "tabs" : "none";
  1089. if (el!=="none") {
  1090. rs_cm_css_editor.setValue(rs_cm_css_editor.getValue().replace(regex,"."+name_handle));
  1091. rs_cm_markup_editor.setValue(rs_cm_markup_editor.getValue().replace(regex,"."+name_handle));
  1092. }
  1093. }
  1094. if (rs_navigations[updated].css.arrows) rs_navigations[updated].css.arrows = rs_navigations[updated].css.arrows.replace(regex,"."+name_handle);
  1095. if (rs_navigations[updated].markup.arrows) rs_navigations[updated].markup.arrows = rs_navigations[updated].markup.arrows.replace(regex,"."+name_handle);
  1096. if (rs_navigations[updated].css.bullets) rs_navigations[updated].css.bullets = rs_navigations[updated].css.bullets.replace(regex,"."+name_handle);
  1097. if (rs_navigations[updated].markup.bullets) rs_navigations[updated].markup.bullets = rs_navigations[updated].markup.bullets.replace(regex,"."+name_handle);
  1098. if (rs_navigations[updated].css.thumbs) rs_navigations[updated].css.thumbs = rs_navigations[updated].css.thumbs.replace(regex,"."+name_handle);
  1099. if (rs_navigations[updated].markup.thumbs) rs_navigations[updated].markup.thumbs = rs_navigations[updated].markup.thumbs.replace(regex,"."+name_handle);
  1100. if (rs_navigations[updated].css.tabs) rs_navigations[updated].css.tabs = rs_navigations[updated].css.tabs.replace(regex,"."+name_handle);
  1101. if (rs_navigations[updated].markup.tabs) rs_navigations[updated].markup.tabs = rs_navigations[updated].markup.tabs.replace(regex,"."+name_handle);
  1102. jQuery(this).parent().siblings('.rs-nav-name-wrap').find('.rs-nav-name-text').text(rs_navigations[updated]['name']);
  1103. jQuery(this).parent().siblings('.rs-nav-name-wrap').show();
  1104. jQuery(this).parent().hide();
  1105. }else{
  1106. alert(rev_lang.could_not_update_nav_name);
  1107. }
  1108. }
  1109. jQuery('body').on('click', '.rs-nav-name-wrap', function(){
  1110. //check if this is a default
  1111. var nav_id = jQuery(this).closest('.rs-nav-table-row').attr('id').replace('rs-nav-table-', '');
  1112. if(rs_check_if_default_nav(nav_id)) return false;
  1113. jQuery(this).siblings('.rs-nav-name-edit-wrap').show().find('input').focus();
  1114. jQuery(this).hide();
  1115. });
  1116. jQuery('body').on('click', '.rs-edit-navigation-name', updateNavName);
  1117. jQuery('body').on('focus','input[name="navigation-name"]',function() {
  1118. jQuery(this).addClass("focused-navname");
  1119. });
  1120. jQuery('body').on('blur','input[name="navigation-name"]',updateNavName);
  1121. jQuery('body').on('click', '.rs-nav-save', function(){
  1122. var nav_id = jQuery(this).closest('.rs-nav-table-row').attr('id').replace('rs-nav-table-', '');
  1123. for(var key in rs_navigations){
  1124. if(rs_navigations[key]['id'] == nav_id){
  1125. UniteAdminRev.ajaxRequest('change_specific_navigation', rs_navigations[key], function(data){
  1126. var cur_id = rs_nav_get_selected_id();
  1127. if(cur_id !== false)
  1128. var cur_type = rs_nav_get_selected_nav_type(cur_id);
  1129. if(data.success == true){
  1130. rs_navigations = data.navs;
  1131. //rebuild all entries
  1132. jQuery('.rs-nav-entry-wrap').remove();
  1133. latest_nav_id = 0;
  1134. rs_add_all_navigation_entries();
  1135. }
  1136. rs_nav_unselect_all();
  1137. if(cur_id !== false)
  1138. rs_nav_select_by_id(cur_id, cur_type);
  1139. });
  1140. break;
  1141. }
  1142. }
  1143. });
  1144. jQuery('body').on('click', '.rs-remove-nav-element', function(){
  1145. if(rs_current_editing === false) return false;
  1146. if(confirm(rev_lang.remove_nav_element)){
  1147. for(var key in rs_navigations){
  1148. if(rs_navigations[key]['id'] == rs_current_editing){
  1149. delete rs_navigations[key]['css'][cur_edit_type];
  1150. delete rs_navigations[key]['markup'][cur_edit_type];
  1151. rs_nav_unselect_all();
  1152. break;
  1153. }
  1154. }
  1155. }
  1156. });
  1157. function rs_nav_get_selected_id(){
  1158. var curselel = jQuery('.rs-nav-entry-wrap.selected');
  1159. if(curselel.length == 0) return false;
  1160. var cur_id = curselel.attr('id').replace('rs-nav-table-','');
  1161. return cur_id;
  1162. }
  1163. function rs_nav_get_selected_nav_type(nav_id){
  1164. var nav_el = jQuery('#rs-nav-table-'+nav_id);
  1165. return nav_el.find('.rs-nav-table-cell.selected .selected').attr('class').replace('selected', '');
  1166. }
  1167. function rs_nav_select_by_id(nav_id, nav_type){
  1168. var found = false;
  1169. jQuery('#rs-nav-table-'+nav_id).find('.'+nav_type).click();
  1170. }
  1171. function rs_nav_unselect_all(){
  1172. rs_current_editing = false;
  1173. cur_edit_type = false;
  1174. jQuery('.rs-nav-table-row').removeClass('selected');
  1175. jQuery('.rs-nav-table-cell').each(function(){
  1176. if(jQuery(this).hasClass('selected')){
  1177. jQuery(this).find('.rs-edit-nav').hide();
  1178. jQuery(this).find('.rs-edit-cancel-nav').show();
  1179. }
  1180. jQuery(this).removeClass('selected');
  1181. });
  1182. jQuery('.rs-nav-table-row').find('*').removeClass('selected');
  1183. jQuery('.rs-editing-wrapper').hide();
  1184. }
  1185. function rs_check_if_default_nav(check_id){
  1186. var check_for = (check_id !== undefined) ? check_id : rs_current_editing;
  1187. if(check_for !== false){
  1188. for(var key in rs_navigations){
  1189. if(rs_navigations[key]['id'] == check_for){
  1190. if(typeof(rs_navigations[key]['default']) !== 'undefined' && rs_navigations[key]['default'] == true) return true;
  1191. }
  1192. }
  1193. }
  1194. return false;
  1195. }
  1196. function rs_add_all_navigation_entries(){
  1197. rs_add_navigation_header('<?php _e('Custom Navigations', 'revslider'); ?>', 'rs-custom-t-wrap');
  1198. for(var i = 1; i<=2; i++){
  1199. if(i === 2) rs_add_navigation_header('<?php _e('Default Navigations', 'revslider'); ?>', 'rs-default-t-wrap');
  1200. for(var key in rs_navigations){
  1201. if(i === 1){
  1202. if(typeof(rs_navigations[key]['default']) !== 'undefined') continue;
  1203. }else{
  1204. if(typeof(rs_navigations[key]['default']) === 'undefined') continue;
  1205. }
  1206. if(parseInt(rs_navigations[key]['id']) > parseInt(latest_nav_id) && parseInt(rs_navigations[key]['id']) < 5000) latest_nav_id = parseInt(rs_navigations[key]['id']);
  1207. if(typeof(rs_navigations[key]['settings']) !== 'object'){
  1208. rs_navigations[key]['settings'] = jQuery.parseJSON(rs_navigations[key]['settings']);
  1209. }
  1210. if(typeof(rs_navigations[key]['settings']) == 'string' || rs_navigations[key]['settings'] == null) rs_navigations[key]['settings'] = {};
  1211. rs_add_navigation_element(rs_navigations[key]);
  1212. }
  1213. }
  1214. }
  1215. jQuery('#rs-add-css-color').click(function(){
  1216. if(rs_check_if_default_nav()) return false;
  1217. var br_c = jQuery('input[name="rs-color"]').val();
  1218. var css = 'color: '+br_c+';';
  1219. rs_cm_css_editor.replaceSelection(css+"\n","end");
  1220. });
  1221. jQuery('#rs-add-css-border-radius').click(function(){
  1222. if(rs_check_if_default_nav()) return false;
  1223. var br_tl = Math.round(jQuery('input[name="rs-border-radius-top-left"]').val());
  1224. var br_tr = Math.round(jQuery('input[name="rs-border-radius-top-right"]').val());
  1225. var br_br = Math.round(jQuery('input[name="rs-border-radius-bottom-right"]').val());
  1226. var br_bl = Math.round(jQuery('input[name="rs-border-radius-bottom-left"]').val());
  1227. //css = '-webkit-border-radius: '+br_tl+'px '+br_tr+'px '+br_br+'px '+br_bl+'px;'+"\n";
  1228. //css += '-moz-border-radius: '+br_tl+'px '+br_tr+'px '+br_br+'px '+br_bl+'px;'+"\n";
  1229. var css = 'border-radius: '+br_tl+'px '+br_tr+'px '+br_br+'px '+br_bl+'px;';
  1230. rs_cm_css_editor.replaceSelection(css+"\n","end");
  1231. });
  1232. jQuery('#rs-add-css-border').click(function(){
  1233. if(rs_check_if_default_nav()) return false;
  1234. var br_t = Math.round(jQuery('input[name="rs-border-top"]').val());
  1235. var br_r = Math.round(jQuery('input[name="rs-border-right"]').val());
  1236. var br_b = Math.round(jQuery('input[name="rs-border-bottom"]').val());
  1237. var br_l = Math.round(jQuery('input[name="rs-border-left"]').val());
  1238. var br_c = window.RevColor.get(jQuery('input[name="rs-border-color"]').val());
  1239. var css = 'border-top: solid '+br_t+'px '+br_c+';';
  1240. css += "\n"+'border-right: solid '+br_r+'px '+br_c+';';
  1241. css += "\n"+'border-bottom: solid '+br_b+'px '+br_c+';';
  1242. css += "\n"+'border-left: solid '+br_l+'px '+br_c+';';
  1243. rs_cm_css_editor.replaceSelection(css+"\n","end");
  1244. });
  1245. jQuery('#rs-add-css-text-shadow').click(function(){
  1246. if(rs_check_if_default_nav()) return false;
  1247. var ts_a = Math.round(jQuery('input[name="rs-text-shadow-angle"]').val());
  1248. var ts_d = Math.round(jQuery('input[name="rs-text-shadow-distance"]').val());
  1249. var ts_b = Math.round(jQuery('input[name="rs-text-shadow-blur"]').val());
  1250. var ts_c = jQuery('input[name="rs-text-shadow-color"]').val();
  1251. ts_a = ts_a*((Math.PI)/180);
  1252. var x = Math.round(ts_d * Math.cos(ts_a));
  1253. var y = Math.round(ts_d * Math.sin(ts_a));
  1254. var css = 'text-shadow: '+x+'px '+y+'px '+ts_b+'px '+window.RevColor.get(jQuery('input[name="rs-text-shadow-color"]').val())+';';
  1255. rs_cm_css_editor.replaceSelection(css+"\n","end");
  1256. });
  1257. jQuery('#rs-add-css-box-shadow').click(function(){
  1258. if(rs_check_if_default_nav()) return false;
  1259. var bs_a = Math.round(jQuery('input[name="rs-box-shadow-angle"]').val());
  1260. var bs_d = Math.round(jQuery('input[name="rs-box-shadow-distance"]').val());
  1261. var bs_b = Math.round(jQuery('input[name="rs-box-shadow-blur"]').val());
  1262. var bs_c = window.RevColor.get(jQuery('input[name="rs-box-shadow-color"]').val());
  1263. bs_c = UniteAdminRev.convertHexToRGB(bs_c);
  1264. bs_a = bs_a*((Math.PI)/180);
  1265. var x = Math.round(bs_d * Math.cos(bs_a));
  1266. var y = Math.round(bs_d * Math.sin(bs_a));
  1267. var css = 'box-shadow: '+x+'px '+y+'px '+bs_b+'px '+bs_c+';';
  1268. rs_cm_css_editor.replaceSelection(css+"\n","end");
  1269. });
  1270. jQuery('#rs-add-css-font-family').click(function(){
  1271. if(rs_check_if_default_nav()) return false;
  1272. var ff = jQuery('select[name="rs-font-family"] option:selected').val();
  1273. var css = 'font-family: '+ff+';';
  1274. rs_cm_css_editor.replaceSelection(css+"\n","end");
  1275. });
  1276. jQuery('#rs-add-placeholder').click(function(){
  1277. if(rs_check_if_default_nav()) return false;
  1278. jQuery('select[name="ph-type"] option[value="color"]').attr('selected', 'selected');
  1279. jQuery('select[name="ph-type"]').change();
  1280. rs_open_placeholder_dialog();
  1281. });
  1282. var rs_open_placeholder_dialog = function(entry, phkey, key){
  1283. if(entry != undefined){
  1284. switch(entry['type']){
  1285. case 'color':
  1286. jQuery('input[name="ph-color"]').val(entry['data'].color);
  1287. jQuery('input[name="ph-color"]').change();
  1288. break;
  1289. case 'color-rgba':
  1290. jQuery('input[name="ph-color-rgba"]').val(entry['data']['color-rgba']);
  1291. jQuery('input[name="ph-color-rgba"]').change();
  1292. break;
  1293. case 'font-family':
  1294. jQuery('select[name="ph-font-family"] option[value="'+entry['data'].font_family+'"]').attr('selected', true);
  1295. break;
  1296. case 'custom':
  1297. jQuery('input[name="ph-custom"]').val(entry['data'].custom);
  1298. break;
  1299. default:
  1300. alert('<?php _e('Wrong Handle', 'revslider'); ?>');
  1301. return false;
  1302. break;
  1303. }
  1304. jQuery('input[name="ph-id"]').val(phkey);
  1305. jQuery('input[name="ph-handle"]').val(entry['handle']);
  1306. jQuery('input[name="ph-title"]').val(entry['title']);
  1307. jQuery('select[name="ph-type"] option[value="'+entry['type']+'"]').attr('selected', true);
  1308. jQuery('select[name="ph-type"]').change();
  1309. jQuery('select[name="ph-nav-type"] option[value="'+entry['nav-type']+'"]').attr('selected', 'selected');
  1310. var btn_title = "<?php _e('Currently Editing:', 'revslider'); ?> "+entry['title'];
  1311. var btn_text = '<?php _e('Update', 'revslider'); ?>';
  1312. }else{
  1313. //check what type we currently are
  1314. var nav_type = rs_get_current_nav_type();
  1315. var btn_title = "<?php _e('Currently Editing a New Dynamic Value', 'revslider'); ?>";
  1316. jQuery('input[name="ph-id"]').val('NEW');
  1317. jQuery('input[name="ph-handle"]').val('');
  1318. jQuery('input[name="ph-title"]').val('');
  1319. jQuery('input[name="ph-color"]').val('#000000');
  1320. jQuery('input[name="ph-color"]').change();
  1321. jQuery('input[name="ph-color-rgba"]').val('0,0,0,0');
  1322. jQuery('input[name="ph-color-rgba"]').change();
  1323. jQuery('select[name="ph-font-family"] option:first-child').attr('selected', true);
  1324. jQuery('input[name="ph-custom"]').val('');
  1325. jQuery('select[name="ph-nav-type"] option[value="'+nav_type+'"]').attr('selected', 'selected');
  1326. var btn_text = '<?php _e('Add', 'revslider'); ?>';
  1327. }
  1328. jQuery('#add-placeholder-dialog').dialog({
  1329. modal:true,
  1330. draggable:false,
  1331. resizable:false,
  1332. width:600,
  1333. height:370,
  1334. closeOnEscape:true,
  1335. title:btn_title,
  1336. dialogClass:'wp-dialog',
  1337. buttons: [ { text: btn_text, click: function() {
  1338. var ph_title = UniteAdminRev.sanitize_input(jQuery('input[name="ph-title"]').val());
  1339. var ph_handle = UniteAdminRev.sanitize_input(jQuery('input[name="ph-handle"]').val());
  1340. var ph_type = jQuery('select[name="ph-type"] option:selected').val();
  1341. var ph_nav_type = jQuery('select[name="ph-nav-type"] option:selected').val();
  1342. var ph_data = {};
  1343. var ph_id = jQuery('input[name="ph-id"]').val();
  1344. switch(ph_type){
  1345. case 'color':
  1346. ph_data.color = jQuery('input[name="ph-color"]').val();
  1347. break;
  1348. case 'color-rgba':
  1349. ph_data['color-rgba'] = jQuery('input[name="ph-color-rgba"]').val();
  1350. break;
  1351. case 'font-family':
  1352. ph_data.font_family = jQuery('select[name="ph-font-family"] option:selected').val();
  1353. break;
  1354. case 'custom':
  1355. ph_data.custom = jQuery('input[name="ph-custom"]').val();
  1356. break;
  1357. default:
  1358. alert('<?php _e('Wrong Handle', 'revslider'); ?>');
  1359. return false;
  1360. break;
  1361. }
  1362. if(ph_handle !== '' && ph_title !== ''){
  1363. var cur_id = rs_nav_get_selected_id();
  1364. for(var key in rs_navigations){
  1365. if(rs_navigations[key]['handle'] == ph_handle){
  1366. alert('<?php _e('Handle already existing', 'revslider'); ?>');
  1367. return false;
  1368. }
  1369. }
  1370. for(var key in rs_navigations){
  1371. if(rs_navigations[key]['id'] != cur_id) continue;
  1372. if(typeof(rs_navigations[key]['settings']) !== 'undefined'){
  1373. if(rs_navigations[key]['settings']['placeholders'] == undefined) rs_navigations[key]['settings']['placeholders'] = [];
  1374. }
  1375. if(ph_id == 'NEW'){
  1376. rs_navigations[key]['settings']['placeholders'].push({'title': ph_title, 'handle': ph_handle, 'type': ph_type, 'nav-type': ph_nav_type, 'data': ph_data});
  1377. }else{
  1378. rs_navigations[key]['settings']['placeholders'][ph_id] = {'title': ph_title, 'handle': ph_handle, 'type': ph_type, 'nav-type': ph_nav_type, 'data': ph_data};
  1379. }
  1380. remove_placeholder();
  1381. add_placeholder(rs_navigations[key]);
  1382. jQuery(this).dialog('close');
  1383. drawEditor();
  1384. return true;
  1385. }
  1386. alert('<?php _e('Navigation not found', 'revslider'); ?>');
  1387. }else{
  1388. alert('<?php _e('Please add a valid handle/title', 'revslider'); ?>');
  1389. }
  1390. } } ],
  1391. });
  1392. }
  1393. jQuery('select[name="ph-type"]').change(function(){
  1394. var the_type = jQuery(this).val();
  1395. jQuery(this).closest('ul').find('li').hide();
  1396. jQuery(this).closest('li').show();
  1397. jQuery(this).closest('ul').find('li[data-menu="'+the_type+'"]').show();
  1398. jQuery(this).closest('ul').find('li[data-menu="always"]').show();
  1399. jQuery(this).closest('ul').find('li[data-menu="never"]').hide();
  1400. });
  1401. jQuery('#rs-add-new-navigation-element').click(function(){
  1402. latest_nav_id++;
  1403. var the_copy = {};
  1404. the_copy['id'] = latest_nav_id;
  1405. the_copy['name'] = 'New-'+latest_nav_id;
  1406. the_copy['handle'] = 'new-'+latest_nav_id;
  1407. the_copy['settings'] = {};
  1408. rs_add_navigation_element(the_copy, true);
  1409. the_copy['new'] = true;
  1410. rs_navigations.push(the_copy);
  1411. });
  1412. jQuery('#list-of-navigations').perfectScrollbar({wheelPropagation:true});
  1413. jQuery('#list-of-navigations').perfectScrollbar('update');
  1414. var rs_get_current_nav_type = function(){
  1415. var ret = 'arrows';
  1416. jQuery('.rs-nav-arrows-edit').each(function(){
  1417. if(jQuery(this).hasClass('selected')){
  1418. ret = 'arrows';
  1419. }
  1420. });
  1421. jQuery('.rs-nav-bullets-edit').each(function(){
  1422. if(jQuery(this).hasClass('selected')){
  1423. ret = 'bullets';
  1424. }
  1425. });
  1426. jQuery('.rs-nav-thumbs-edit').each(function(){
  1427. if(jQuery(this).hasClass('selected')){
  1428. ret = 'thumbs';
  1429. }
  1430. });
  1431. jQuery('.rs-nav-tabs-edit').each(function(){
  1432. if(jQuery(this).hasClass('selected')){
  1433. ret = 'tabs';
  1434. }
  1435. });
  1436. return ret;
  1437. }
  1438. var setCMSize = function() {
  1439. var newsize = (jQuery('.rs-editing-markups-wrap').width() - jQuery('.rs-css-elements').width())-25;
  1440. jQuery('.CodeMirror .CodeMirror-lines').css({width:newsize + "px"});
  1441. }
  1442. jQuery(window).resize(setCMSize);
  1443. jQuery('.showhidehelper').click(function() {
  1444. var elm = jQuery('.rs-markup-elements'),
  1445. elc = jQuery('.rs-css-elements');
  1446. if (elm.hasClass("small")) {
  1447. elm.css({width:"auto",minWidth:"200px"});
  1448. elc.css({width:"auto",minWidth:"200px"});
  1449. jQuery('.closemeshowhide').show();
  1450. jQuery('.showhidehelper').removeClass("small");
  1451. elm.removeClass("small");
  1452. } else {
  1453. elm.css({width:"20px",minWidth:"20px"});
  1454. elc.css({width:"20px",minWidth:"20px"});
  1455. elm.addClass("small");
  1456. jQuery('.showhidehelper').addClass("small");
  1457. jQuery('.closemeshowhide').hide();
  1458. }
  1459. setCMSize();
  1460. });
  1461. });
  1462. setTimeout(function() {
  1463. // jQuery('#rs-nav-table-15 .rs-nav-tabs-edit').click();
  1464. },1000)
  1465. </script>
  1466. </div>
  1467. <script type="text/html" id="tmpl-rs-navigation-header-wrap">
  1468. <div class="rs-nav-table-row rs-nav-entry-wrap rs-nav-fullrow {{ data['type'] }}">
  1469. <div class="rs-nav-table-cell rs-nav-fullcell">{{ data['title'] }}</div>
  1470. </div>
  1471. </script>
  1472. <script type="text/html" id="tmpl-rs-navigation-wrap">
  1473. <div class="rs-nav-table-row rs-nav-entry-wrap" id="rs-nav-table-{{ data['id'] }}">
  1474. <div class="rs-nav-table-cell">{{ data['id'] }}</div>
  1475. <div class="rs-nav-table-cell" style="position: relative;">
  1476. <span class="rs-nav-name-edit-wrap" style="display: none;"><input class="regular-text" name="navigation-name" type="text" value="{{ data['name'] }}" /> <i class="input-edit-icon rs-edit-navigation-name"></i></span>
  1477. <span class="rs-nav-name-wrap"><span class="rs-nav-name-text">{{ data['name'] }}</span> <# if ( data.edit ) { #><i class="input-edit-icon"></i><# } #></span>
  1478. </div>
  1479. <div class="rs-nav-table-cell">
  1480. <a href="javascript:void(0);" class="rs-nav-arrows-edit">
  1481. <span class="rs-edit-nav" style="display:{{ data['show-arrows'] }}">{{ data['show_text'] }}</span>
  1482. <i class="eg-icon-plus-circled rs-edit-cancel-nav" style="display:{{ data['hide-arrows'] }}"></i>
  1483. </a>
  1484. </div>
  1485. <div class="rs-nav-table-cell">
  1486. <a href="javascript:void(0);" class="rs-nav-bullets-edit">
  1487. <span class="rs-edit-nav" style="display:{{ data['show-bullets'] }}">{{ data['show_text'] }}</span>
  1488. <i class="eg-icon-plus-circled rs-edit-cancel-nav" style="display:{{ data['hide-bullets'] }}"></i>
  1489. </a>
  1490. </div>
  1491. <div class="rs-nav-table-cell">
  1492. <a href="javascript:void(0);" class="rs-nav-thumbs-edit">
  1493. <span class="rs-edit-nav" style="display:{{ data['show-thumbs'] }}">{{ data['show_text'] }}</span>
  1494. <i class="eg-icon-plus-circled rs-edit-cancel-nav" style="display:{{ data['hide-thumbs'] }}"></i>
  1495. </a>
  1496. </div>
  1497. <div class="rs-nav-table-cell">
  1498. <a href="javascript:void(0);" class="rs-nav-tabs-edit">
  1499. <span class="rs-edit-nav" style="display:{{ data['show-tabs'] }}">{{ data['show_text'] }}</span>
  1500. <i class="eg-icon-plus-circled rs-edit-cancel-nav" style="display:{{ data['hide-tabs'] }}"></i>
  1501. </a>
  1502. </div>
  1503. <div class="rs-nav-table-cell"><# if ( data.edit ) { #><a href="javascript:void(0);" class="rs-nav-delete"><i class="revicon-trash"></i></a><# } #></div>
  1504. <div class="rs-nav-table-cell"><a href="javascript:void(0);" class="rs-nav-duplicate"><i class="revicon-picture"></i></a></div>
  1505. <!--<div class="rs-nav-table-cell"><# if ( data['has-original'] ) { #><a href="javascript:void(0);" class="rs-nav-reset"><i class="eg-icon-ccw-1"></i></a><# } #></div>-->
  1506. <div class="rs-nav-table-cell"><# if ( data.edit ) { #><a href="javascript:void(0);" class="rs-nav-save"><i class="revicon-arrows-ccw"></i></a><# } #></div>
  1507. <div class="rs-nav-table-cell">&nbsp;</div>
  1508. </div>
  1509. </script>
  1510. <div id="add-placeholder-dialog" style="display: none">
  1511. <input type="hidden" name="ph-id" value="NEW">
  1512. <ul id="placeholder-options">
  1513. <li data-menu="never" style="display: none;">
  1514. <label><?php _e('On Navigation:', 'revslider'); ?></label>
  1515. <select name="ph-nav-type">
  1516. <option value="arrows"><?php _e('Arrows', 'revslider'); ?></option>
  1517. <option value="bullets"><?php _e('Bullets', 'revslider'); ?></option>
  1518. <option value="thumbs"><?php _e('Thumbs', 'revslider'); ?></option>
  1519. <option value="tabs"><?php _e('Tabs', 'revslider'); ?></option>
  1520. </select>
  1521. </li>
  1522. <li>
  1523. <label><?php _e('Type:', 'revslider'); ?></label>
  1524. <select name="ph-type">
  1525. <option value="color"><?php _e('Color RGB', 'revslider'); ?></option>
  1526. <option value="color-rgba"><?php _e('Color RGBA', 'revslider'); ?></option>
  1527. <option value="font-family"><?php _e('Font Family', 'revslider'); ?></option>
  1528. <option value="custom"><?php _e('Text/Custom', 'revslider'); ?></option>
  1529. </select>
  1530. </li>
  1531. <li data-menu="always">
  1532. <label><?php _e('Title:', 'revslider'); ?></label>
  1533. <input type="text" name="ph-title" value="">
  1534. </li>
  1535. <li data-menu="always">
  1536. <label><?php _e('Handle:', 'revslider'); ?></label>
  1537. <span style="margin-left:-20px">##<input type="text" name="ph-handle" value="">##</span>
  1538. </li>
  1539. <li data-menu="color">
  1540. <label><?php _e('Default Value:', 'revslider'); ?></label>
  1541. <input type="text" name="ph-color" class="my-color-field" value="#000000">
  1542. </li>
  1543. <li data-menu="color-rgba">
  1544. <label><?php _e('Default Value:', 'revslider'); ?></label>
  1545. <input type="text" name="ph-color-rgba" class="my-color-field" value="0,0,0,0">
  1546. </li>
  1547. <li data-menu="font-family">
  1548. <label><?php _e('Default Value:', 'revslider'); ?></label>
  1549. <select name="ph-font-family" style="width: 112px;">
  1550. <?php
  1551. foreach($font_families as $handle => $name){
  1552. if($name['label'] == 'Dont Show Me') continue;
  1553. ?>
  1554. <option value="<?php echo esc_attr($name['label']); ?>"><?php echo esc_attr($name['label']); ?></option>
  1555. <?php
  1556. }
  1557. ?>
  1558. </select>
  1559. </li>
  1560. <li data-menu="custom">
  1561. <label><?php _e('Default Value:', 'revslider'); ?></label>
  1562. <input type="text" name="ph-custom" value="">
  1563. </li>
  1564. </ul>
  1565. </div>