init.js 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598
  1. $(document).ready(function(){
  2. if($('.body-login')[0]){
  3. $('input').first().focus();
  4. }
  5. $(".submenu-select-dropdown").each(function(){
  6. $(this).wrap("<span class='submenu-select-wrapper'></span>");
  7. $(this).after("<span class='holder'></span>");
  8. });
  9. $(".submenu-select-dropdown").change(function(){
  10. var selectedOption = $(this).find(":selected").text();
  11. $(this).next(".holder").text(selectedOption);
  12. }).trigger('change');
  13. $('.to-top').on('click', function(evt) {
  14. $("html, body").animate({ scrollTop: 0 }, "normal");
  15. });
  16. $('.ui-button').on('click',function(evt){
  17. var action = $(this).data('action');
  18. var id = $(this).data('id');
  19. if(action=='submit' && document.getElementById(id)){
  20. evt.preventDefault();
  21. $(document.getElementById(id)).submit();
  22. }
  23. });
  24. var isMobile = false; //initiate as false
  25. // device detection
  26. if(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|ipad|iris|kindle|Android|Silk|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(navigator.userAgent)
  27. || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(navigator.userAgent.substr(0,4))){
  28. isMobile = true;
  29. $('body').addClass('mobile');
  30. }
  31. $(window).scroll(function(){hover_menu()});
  32. $('.l-sort-toolbar .sort-by').click(function(){
  33. $('.context-menu.sort-order').toggle().css({left: $(this).position().left - 0});
  34. });
  35. // CREATE BUTTON
  36. $('.l-sort__create-btn').hover(function(){
  37. $(".l-sort__create-btn").append("<div id='add-icon'></div>");
  38. $(".l-sort__create-btn").append("<div id='tooltip'>"+$('.l-sort__create-btn').attr('title').replace(' ','&nbsp;')+"</div>");
  39. }, function(){
  40. $("#add-icon").remove();
  41. $("#tooltip").remove();
  42. });
  43. // SEARCH BOX
  44. $('.l-sort-toolbar__search, .l-sort-toolbar__search-box .search-input').hover(function(){
  45. clearTimeout(VE.tmp.search_display_interval);
  46. clearTimeout(VE.tmp.search_hover_interval);
  47. VE.tmp.search_display_interval = setTimeout(function(){$('.search-input').addClass('activated');}, 150);
  48. }, function(){
  49. clearTimeout(VE.tmp.search_display_interval);
  50. clearTimeout(VE.tmp.search_hover_interval);
  51. VE.tmp.search_hover_interval = setTimeout(function(){
  52. if(!VE.tmp.search_activated && !$(".search-input").val().length){
  53. $(".search-input").removeClass('activated');
  54. }
  55. }, 600);
  56. });
  57. $('.search-input').focus(function(){
  58. VE.tmp.search_activated = 1;
  59. clearTimeout(VE.tmp.search_hover_interval);
  60. });
  61. $('.search-input').blur(function(){
  62. VE.tmp.search_activated = 0;
  63. clearTimeout(VE.tmp.search_hover_interval);
  64. VE.tmp.search_hover_interval = setTimeout(function(){
  65. if(!$(".search-input").val().length){
  66. $(".search-input").removeClass('activated');
  67. }
  68. }, 600);
  69. });
  70. // TIMER
  71. if($('.movement.left').length){
  72. VE.helpers.refresh_timer.right = $('.movement.right');
  73. VE.helpers.refresh_timer.left = $('.movement.left');
  74. VE.helpers.refresh_timer.start();
  75. $('.pause').click(function(){
  76. VE.helpers.refresh_timer.stop();
  77. $('.pause').addClass('hidden');
  78. $('.play').removeClass('hidden');
  79. $('.refresh-timer').addClass('paused');
  80. });
  81. $('.play').click(function(){
  82. VE.helpers.refresh_timer.start();
  83. $('.pause').removeClass('hidden');
  84. $('.play').addClass('hidden');
  85. $('.refresh-timer').removeClass('paused');
  86. });
  87. }
  88. // SORTING
  89. $('#vstobjects input, #vstobjects select, #vstobjects textarea').change(function(){VE.tmp.form_changed=1});
  90. $('.sort-order span').click(function(){
  91. $('.context-menu.sort-order').toggle();
  92. if($(this).hasClass('active'))
  93. return;
  94. $('.sort-order span').removeClass('active');
  95. $(this).addClass('active');
  96. VE.tmp.sort_par = $(this).parent('li').attr('entity');
  97. VE.tmp.sort_as_int = $(this).parent('li').attr('sort_as_int');
  98. VE.tmp.sort_direction = $(this).hasClass('up')*1 || -1;
  99. $('.l-sort .sort-by span b').html($(this).parent('li').find('.name').html());
  100. $('.l-sort .sort-by i').removeClass('fa-sort-amount-up fa-sort-amount-down');
  101. $(this).hasClass('up') ? $('.l-sort .sort-by i').addClass('fa-sort-amount-up') : $('.l-sort .sort-by i').addClass('fa-sort-amount-down');
  102. $('.units .l-unit').sort(function (a, b) {
  103. if(VE.tmp.sort_as_int)
  104. return parseInt($(a).attr(VE.tmp.sort_par)) >= parseInt($(b).attr(VE.tmp.sort_par)) ? VE.tmp.sort_direction : VE.tmp.sort_direction * -1;
  105. else
  106. return $(a).attr(VE.tmp.sort_par) <= $(b).attr(VE.tmp.sort_par) ? VE.tmp.sort_direction : VE.tmp.sort_direction * -1;
  107. }).appendTo(".l-center.units");
  108. });
  109. // STARS
  110. $('.l-unit .l-icon-star').click(function(){
  111. var l_unit = $(this).parents('.l-unit');
  112. if(l_unit.hasClass('l-unit--starred')){
  113. // removing star
  114. $.ajax({
  115. method: "POST",
  116. url: "/delete/favorite/index.php",
  117. data: { v_section: l_unit.attr('v_section'), v_unit_id: l_unit.attr('v_unit_id') }
  118. });
  119. l_unit.attr({'sort-star': 0});
  120. l_unit.removeClass('l-unit--starred');
  121. }
  122. else{
  123. $.ajax({
  124. method: "POST",
  125. url: "/add/favorite/index.php",
  126. data: { v_unit_id: l_unit.attr('v_unit_id'), v_section: l_unit.attr('v_section') }
  127. });
  128. l_unit.attr({'sort-star': 1});
  129. l_unit.addClass('l-unit--starred');
  130. }
  131. });
  132. // Shortcuts
  133. shortcut.add("Ctrl+Enter", function(){
  134. $('form#vstobjects').submit();
  135. }, {
  136. 'type': 'keydown',
  137. 'propagate': false,
  138. 'disable_in_input': false,
  139. 'target': document
  140. }
  141. );
  142. shortcut.add("Ctrl+Backspace", function(){
  143. if(VE.tmp.form_changed && $('form#vstobjects .button.cancel')[0]){
  144. VE.helpers.createConfirmationDialog($('.confirmation-text-redirect'), '', $('form#vstobjects input.cancel').attr('onclick').replace("location.href='", "").replace("'",""));
  145. } else if($('form#vstobjects .button.cancel')[0]){
  146. location.href=$('form#vstobjects input.cancel').attr('onclick').replace("location.href='", "").replace("'","");
  147. } else if($('#vstobjects a.button.cancel')[0]){
  148. location.href=$('#vstobjects a.button.cancel').attr('href');
  149. }
  150. }, {
  151. 'type': 'keydown',
  152. 'propagate': false,
  153. 'disable_in_input': false,
  154. 'target': document
  155. }
  156. );
  157. shortcut.add("f", function(){
  158. $('.search-input').addClass('activated').focus();
  159. }, {
  160. 'type': 'keydown',
  161. 'propagate': false,
  162. 'disable_in_input': true,
  163. 'target': document
  164. }
  165. );
  166. $(window).on('keypress', function(evt) {
  167. var tag = evt.target.tagName.toLowerCase();
  168. if (evt.charCode == 97 && tag != 'input' && tag != 'textarea' && tag != 'selectbox') {
  169. evt.preventDefault();
  170. if (!evt.ctrlKey && !evt.shiftKey) {
  171. if ($('.l-sort__create-btn')[0]) {
  172. location.href=$('.l-sort__create-btn').attr('href');
  173. }
  174. }
  175. else {
  176. if ($('.l-unit .ch-toggle:eq(0)').attr('checked')) {
  177. $('.l-unit').removeClass('selected');
  178. $('.l-unit .ch-toggle').prop('checked', false);
  179. }
  180. else {
  181. $('.l-unit').addClass('selected');
  182. $('.l-unit .ch-toggle').prop('checked', true);
  183. }
  184. }
  185. }
  186. });
  187. shortcut.add("1", function(){
  188. if(VE.tmp.form_changed){
  189. VE.helpers.createConfirmationDialog($('.confirmation-text-redirect'), '', $('.l-stat .l-stat__col:nth-of-type(1) a').attr('href'));
  190. } else {
  191. location.href=$('.l-stat .l-stat__col:nth-of-type(1) a').attr('href');
  192. }
  193. }, {
  194. 'type': 'keydown',
  195. 'propagate': false,
  196. 'disable_in_input': true,
  197. 'target': document
  198. }
  199. );
  200. shortcut.add("2", function(){
  201. if(VE.tmp.form_changed){
  202. VE.helpers.createConfirmationDialog($('.confirmation-text-redirect'), '', $('.l-stat .l-stat__col:nth-of-type(2) a').attr('href'));
  203. } else {
  204. location.href=$('.l-stat .l-stat__col:nth-of-type(2) a').attr('href');
  205. }
  206. }, {
  207. 'type': 'keydown',
  208. 'propagate': false,
  209. 'disable_in_input': true,
  210. 'target': document
  211. }
  212. );
  213. shortcut.add("3", function(){
  214. if(VE.tmp.form_changed){
  215. VE.helpers.createConfirmationDialog($('.confirmation-text-redirect'), '', $('.l-stat .l-stat__col:nth-of-type(3) a').attr('href'));
  216. } else {
  217. location.href=$('.l-stat .l-stat__col:nth-of-type(3) a').attr('href');
  218. }
  219. }, {
  220. 'type': 'keydown',
  221. 'propagate': false,
  222. 'disable_in_input': true,
  223. 'target': document
  224. }
  225. );
  226. shortcut.add("4", function(){
  227. if(VE.tmp.form_changed){
  228. VE.helpers.createConfirmationDialog($('.confirmation-text-redirect'), '', $('.l-stat .l-stat__col:nth-of-type(4) a').attr('href'));
  229. } else {
  230. location.href=$('.l-stat .l-stat__col:nth-of-type(4) a').attr('href');
  231. }
  232. }, {
  233. 'type': 'keydown',
  234. 'propagate': false,
  235. 'disable_in_input': true,
  236. 'target': document
  237. }
  238. );
  239. shortcut.add("5", function(){
  240. if(VE.tmp.form_changed){
  241. VE.helpers.createConfirmationDialog($('.confirmation-text-redirect'), '', $('.l-stat .l-stat__col:nth-of-type(5) a').attr('href'));
  242. } else {
  243. location.href=$('.l-stat .l-stat__col:nth-of-type(5) a').attr('href');
  244. }
  245. }, {
  246. 'type': 'keydown',
  247. 'propagate': false,
  248. 'disable_in_input': true,
  249. 'target': document
  250. }
  251. );
  252. shortcut.add("6", function(){
  253. if(VE.tmp.form_changed){
  254. VE.helpers.createConfirmationDialog($('.confirmation-text-redirect'), '', $('.l-stat .l-stat__col:nth-of-type(6) a').attr('href'));
  255. } else {
  256. location.href=$('.l-stat .l-stat__col:nth-of-type(6) a').attr('href');
  257. }
  258. }, {
  259. 'type': 'keydown',
  260. 'propagate': false,
  261. 'disable_in_input': true,
  262. 'target': document
  263. }
  264. );
  265. shortcut.add("7", function(){
  266. if(VE.tmp.form_changed){
  267. VE.helpers.createConfirmationDialog($('.confirmation-text-redirect'), '', $('.l-stat .l-stat__col:nth-of-type(7) a').attr('href'));
  268. } else {
  269. location.href=$('.l-stat .l-stat__col:nth-of-type(7) a').attr('href');
  270. }
  271. }, {
  272. 'type': 'keydown',
  273. 'propagate': false,
  274. 'disable_in_input': true,
  275. 'target': document
  276. }
  277. );
  278. shortcut.add("h", function(){
  279. $('.shortcuts').toggle();
  280. }, {
  281. 'type': 'keydown',
  282. 'propagate': false,
  283. 'disable_in_input': true,
  284. 'target': document
  285. }
  286. );
  287. shortcut.add("Esc", function(){
  288. $('.shortcuts').hide();
  289. $('input, checkbox, textarea, select').blur();
  290. }, {
  291. 'type': 'keydown',
  292. 'propagate': false,
  293. 'disable_in_input': false,
  294. 'target': document
  295. }
  296. );
  297. shortcut.add("Left", function(){
  298. VE.navigation.move_focus_left();
  299. }, {
  300. 'type': 'keydown',
  301. 'propagate': false,
  302. 'disable_in_input': true,
  303. 'target': document
  304. }
  305. );
  306. shortcut.add("Right", function(){
  307. VE.navigation.move_focus_right();
  308. }, {
  309. 'type': 'keydown',
  310. 'propagate': false,
  311. 'disable_in_input': true,
  312. 'target': document
  313. }
  314. );
  315. shortcut.add("down", function(){
  316. VE.navigation.move_focus_down();
  317. }, {
  318. 'type': 'keydown',
  319. 'propagate': false,
  320. 'disable_in_input': true,
  321. 'target': document
  322. }
  323. );
  324. shortcut.add("up", function(){
  325. VE.navigation.move_focus_up();
  326. }, {
  327. 'type': 'keydown',
  328. 'propagate': false,
  329. 'disable_in_input': true,
  330. 'target': document
  331. }
  332. );
  333. shortcut.add("l", function(){
  334. var elm = $('.units.active .l-unit.focus .shortcut-l');
  335. if(elm.length){
  336. VE.navigation.shortcut(elm);
  337. }
  338. }, {
  339. 'type': 'keydown',
  340. 'propagate': false,
  341. 'disable_in_input': true,
  342. 'target': document
  343. }
  344. );
  345. shortcut.add("s", function(){
  346. var elm = $('.units.active .l-unit.focus .shortcut-s');
  347. if(elm.length){
  348. VE.navigation.shortcut(elm);
  349. }
  350. }, {
  351. 'type': 'keydown',
  352. 'propagate': false,
  353. 'disable_in_input': true,
  354. 'target': document
  355. }
  356. );
  357. shortcut.add("w", function(){
  358. var elm = $('.units.active .l-unit.focus .shortcut-w');
  359. if(elm.length){
  360. VE.navigation.shortcut(elm);
  361. }
  362. }, {
  363. 'type': 'keydown',
  364. 'propagate': false,
  365. 'disable_in_input': true,
  366. 'target': document
  367. }
  368. );
  369. shortcut.add("d", function(){
  370. var elm = $('.units.active .l-unit.focus .shortcut-d');
  371. if(elm.length){
  372. VE.navigation.shortcut(elm);
  373. }
  374. }, {
  375. 'type': 'keydown',
  376. 'propagate': false,
  377. 'disable_in_input': true,
  378. 'target': document
  379. }
  380. );
  381. shortcut.add("r", function(){
  382. var elm = $('.units.active .l-unit.focus .shortcut-r');
  383. if(elm.length){
  384. VE.navigation.shortcut(elm);
  385. }
  386. }, {
  387. 'type': 'keydown',
  388. 'propagate': false,
  389. 'disable_in_input': true,
  390. 'target': document
  391. }
  392. );
  393. shortcut.add("n", function(){
  394. var elm = $('.units.active .l-unit.focus .shortcut-n');
  395. if(elm.length){
  396. VE.navigation.shortcut(elm);
  397. }
  398. }, {
  399. 'type': 'keydown',
  400. 'propagate': false,
  401. 'disable_in_input': true,
  402. 'target': document
  403. }
  404. );
  405. shortcut.add("u", function(){
  406. var elm = $('.units.active .l-unit.focus .shortcut-u');
  407. if(elm.length){
  408. VE.navigation.shortcut(elm);
  409. }
  410. }, {
  411. 'type': 'keydown',
  412. 'propagate': false,
  413. 'disable_in_input': true,
  414. 'target': document
  415. }
  416. );
  417. shortcut.add("Delete", function(){
  418. var elm = $('.units.active .l-unit.focus .shortcut-delete');
  419. if(elm.length){
  420. VE.navigation.shortcut(elm);
  421. }
  422. }, {
  423. 'type': 'keydown',
  424. 'propagate': false,
  425. 'disable_in_input': true,
  426. 'target': document
  427. }
  428. );
  429. shortcut.add("Enter", function(){
  430. if(VE.tmp.form_changed){
  431. if(!$('.ui-dialog').is(':visible')){
  432. VE.helpers.createConfirmationDialog($('.confirmation-text-redirect')[0], '', $(VE.navigation.state.menu_selector + '.focus a').attr('href'));
  433. } else { // if dialog is opened - submitting confirm box by "enter" shortcut
  434. $('.ui-dialog button.submit').click();
  435. }
  436. } else {
  437. if(!$('.ui-dialog').is(':visible')){
  438. var elm = $('.units.active .l-unit.focus .shortcut-enter');
  439. if(elm.length){
  440. VE.navigation.shortcut(elm);
  441. } else {
  442. VE.navigation.enter_focused();
  443. }
  444. } else { // if dialog is opened - submitting confirm box by "enter" shortcut
  445. $('.ui-dialog button.submit').click();
  446. }
  447. }
  448. }, {
  449. 'type': 'keydown',
  450. 'propagate': false,
  451. 'disable_in_input': true,
  452. 'target': document
  453. }
  454. );
  455. $('.shortcuts .close').click(function(){
  456. $('.shortcuts').hide();
  457. });
  458. $('.to-shortcuts').click(function(){
  459. $('.shortcuts').toggle();
  460. });
  461. $(document).click(function(evt){
  462. //close notification popup
  463. if(!$(evt.target).hasClass('l-profile__notifications') && $(evt.target).parents('ul.notification-container').length == 0){
  464. $('.notification-container').hide();
  465. $('.l-profile__notifications').removeClass('active');
  466. }
  467. });
  468. // focusing on the first input at form
  469. if( location.href.indexOf('lead=') == -1 && !$('.ui-dialog').is(':visible') ){
  470. $('#vstobjects .vst-input:not([disabled]), #vstobjects .vst-list:not([disabled])').first().focus();
  471. }
  472. $('.l-profile__notifications').click(function(){
  473. if(!$('.l-profile__notifications').hasClass('active')){
  474. VE.notifications.get_list();
  475. $('.l-profile__notifications').addClass('active');
  476. left = $('.l-profile__notifications').offset().left - $('.notification-container').outerWidth() + 28;
  477. $('.notification-container').css({left: left+'px'});
  478. } else {
  479. $('.notification-container').hide();
  480. $('.l-profile__notifications').removeClass('active');
  481. }
  482. });
  483. VE.navigation.init();
  484. $('.button').attr('title','ctrl+Enter');
  485. $('.button.cancel').attr('title','ctrl+Backspace');
  486. VE.core.register();
  487. if (location.href.search(/list/) != -1) {
  488. var shift_select_ref = $('body').finderSelect({
  489. children: '.l-unit',
  490. 'onFinish': function(evt) {
  491. if ($('.l-content').find('.l-unit.selected').length == $('.l-content').find('.l-unit').length) {
  492. $('.toggle-all').addClass('clicked-on');
  493. }
  494. },
  495. 'toggleAllHook': function() {
  496. if ($('.l-unit').length == $('.ch-toggle:checked').length) {
  497. $('.l-unit.selected').removeClass('selected');
  498. $('.ch-toggle').prop('checked', false);
  499. $('#toggle-all').prop('checked', false);
  500. }
  501. else {
  502. $('.ch-toggle').prop('checked', true);
  503. $('#toggle-all').prop('checked', true);
  504. }
  505. }
  506. });
  507. $('table').on('mousedown', 'td', function(e) {
  508. if (e.ctrlKey) {
  509. e.preventDefault();
  510. }
  511. });
  512. }
  513. //
  514. $('form#objects').on('submit', function(evt) {
  515. $('.l-unit').find('.ch-toggle').prop('checked', false);
  516. $('.l-unit.selected').find('.ch-toggle').prop('checked', true);
  517. });
  518. });