form-advanced.init.js 9.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298
  1. /******/ (function() { // webpackBootstrap
  2. var __webpack_exports__ = {};
  3. /*!**************************************************!*\
  4. !*** ./resources/js/pages/form-advanced.init.js ***!
  5. \**************************************************/
  6. /*
  7. Template Name: Skote - Admin & Dashboard Template
  8. Author: Themesbrand
  9. Website: https://themesbrand.com/
  10. Contact: themesbrand@gmail.com
  11. File: Form Advanced Js File
  12. */
  13. !function ($) {
  14. "use strict";
  15. var AdvancedForm = function AdvancedForm() {};
  16. AdvancedForm.prototype.init = function () {
  17. // Select2
  18. $(".select2").select2();
  19. $(".select2-limiting").select2({
  20. maximumSelectionLength: 2
  21. });
  22. $(".select2-search-disable").select2({
  23. minimumResultsForSearch: Infinity
  24. });
  25. $('.select2-ajax').select2({
  26. ajax: {
  27. url: "https://api.github.com/search/repositories",
  28. dataType: 'json',
  29. delay: 250,
  30. data: function data(params) {
  31. return {
  32. q: params.term,
  33. // search term
  34. page: params.page
  35. };
  36. },
  37. processResults: function processResults(data, params) {
  38. // parse the results into the format expected by Select2
  39. // since we are using custom formatting functions we do not need to
  40. // alter the remote JSON data, except to indicate that infinite
  41. // scrolling can be used
  42. params.page = params.page || 1;
  43. return {
  44. results: data.items,
  45. pagination: {
  46. more: params.page * 30 < data.total_count
  47. }
  48. };
  49. },
  50. cache: true
  51. },
  52. placeholder: 'Search for a repository',
  53. minimumInputLength: 1,
  54. templateResult: formatRepo,
  55. templateSelection: formatRepoSelection
  56. });
  57. function formatRepo(repo) {
  58. if (repo.loading) {
  59. return repo.text;
  60. }
  61. var $container = $("<div class='select2-result-repository clearfix'>" + "<div class='select2-result-repository__avatar'><img src='" + repo.owner.avatar_url + "' /></div>" + "<div class='select2-result-repository__meta'>" + "<div class='select2-result-repository__title'></div>" + "<div class='select2-result-repository__description'></div>" + "<div class='select2-result-repository__statistics'>" + "<div class='select2-result-repository__forks'><i class='fa fa-flash'></i> </div>" + "<div class='select2-result-repository__stargazers'><i class='fa fa-star'></i> </div>" + "<div class='select2-result-repository__watchers'><i class='fa fa-eye'></i> </div>" + "</div>" + "</div>" + "</div>");
  62. $container.find(".select2-result-repository__title").text(repo.full_name);
  63. $container.find(".select2-result-repository__description").text(repo.description);
  64. $container.find(".select2-result-repository__forks").append(repo.forks_count + " Forks");
  65. $container.find(".select2-result-repository__stargazers").append(repo.stargazers_count + " Stars");
  66. $container.find(".select2-result-repository__watchers").append(repo.watchers_count + " Watchers");
  67. return $container;
  68. }
  69. function formatRepoSelection(repo) {
  70. return repo.full_name || repo.text;
  71. }
  72. function formatState(state) {
  73. if (!state.id) {
  74. return state.text;
  75. }
  76. var baseUrl = "assets/images/flags/select2";
  77. var $state = $('<span><img src="' + baseUrl + '/' + state.element.value.toLowerCase() + '.png" class="img-flag" /> ' + state.text + '</span>');
  78. return $state;
  79. }
  80. ;
  81. $(".select2-templating").select2({
  82. templateResult: formatState
  83. }); //colorpicker start
  84. $("#colorpicker-default").spectrum();
  85. $("#colorpicker-showalpha").spectrum({
  86. showAlpha: true
  87. });
  88. $("#colorpicker-showpaletteonly").spectrum({
  89. showPaletteOnly: true,
  90. showPalette: true,
  91. color: '#34c38f',
  92. palette: [['#556ee6', 'white', '#34c38f', 'rgb(255, 128, 0);', '#50a5f1'], ['red', 'yellow', 'green', 'blue', 'violet']]
  93. });
  94. $("#colorpicker-togglepaletteonly").spectrum({
  95. showPaletteOnly: true,
  96. togglePaletteOnly: true,
  97. togglePaletteMoreText: 'more',
  98. togglePaletteLessText: 'less',
  99. color: '#556ee6',
  100. palette: [["#000", "#444", "#666", "#999", "#ccc", "#eee", "#f3f3f3", "#fff"], ["#f00", "#f90", "#ff0", "#0f0", "#0ff", "#00f", "#90f", "#f0f"], ["#f4cccc", "#fce5cd", "#fff2cc", "#d9ead3", "#d0e0e3", "#cfe2f3", "#d9d2e9", "#ead1dc"], ["#ea9999", "#f9cb9c", "#ffe599", "#b6d7a8", "#a2c4c9", "#9fc5e8", "#b4a7d6", "#d5a6bd"], ["#e06666", "#f6b26b", "#ffd966", "#93c47d", "#76a5af", "#6fa8dc", "#8e7cc3", "#c27ba0"], ["#c00", "#e69138", "#f1c232", "#6aa84f", "#45818e", "#3d85c6", "#674ea7", "#a64d79"], ["#900", "#b45f06", "#bf9000", "#38761d", "#134f5c", "#0b5394", "#351c75", "#741b47"], ["#600", "#783f04", "#7f6000", "#274e13", "#0c343d", "#073763", "#20124d", "#4c1130"]]
  101. });
  102. $("#colorpicker-showintial").spectrum({
  103. showInitial: true
  104. });
  105. $("#colorpicker-showinput-intial").spectrum({
  106. showInitial: true,
  107. showInput: true
  108. }); // Time Picker
  109. $('#timepicker').timepicker({
  110. icons: {
  111. up: 'mdi mdi-chevron-up',
  112. down: 'mdi mdi-chevron-down'
  113. },
  114. appendWidgetTo: "#timepicker-input-group1"
  115. });
  116. $('#timepicker2').timepicker({
  117. showMeridian: false,
  118. icons: {
  119. up: 'mdi mdi-chevron-up',
  120. down: 'mdi mdi-chevron-down'
  121. },
  122. appendWidgetTo: "#timepicker-input-group2"
  123. });
  124. $('#timepicker3').timepicker({
  125. minuteStep: 15,
  126. icons: {
  127. up: 'mdi mdi-chevron-up',
  128. down: 'mdi mdi-chevron-down'
  129. },
  130. appendWidgetTo: "#timepicker-input-group3"
  131. }); //Bootstrap-TouchSpin
  132. var defaultOptions = {}; // touchspin
  133. $('[data-toggle="touchspin"]').each(function (idx, obj) {
  134. var objOptions = $.extend({}, defaultOptions, $(obj).data());
  135. $(obj).TouchSpin(objOptions);
  136. });
  137. $("input[name='demo3_21']").TouchSpin({
  138. initval: 40,
  139. buttondown_class: "btn btn-primary",
  140. buttonup_class: "btn btn-primary"
  141. });
  142. $("input[name='demo3_22']").TouchSpin({
  143. initval: 40,
  144. buttondown_class: "btn btn-primary",
  145. buttonup_class: "btn btn-primary"
  146. });
  147. $("input[name='demo_vertical']").TouchSpin({
  148. verticalbuttons: true
  149. }); //Bootstrap-MaxLength
  150. $('input#defaultconfig').maxlength({
  151. warningClass: "badge bg-info",
  152. limitReachedClass: "badge bg-warning"
  153. });
  154. $('input#thresholdconfig').maxlength({
  155. threshold: 20,
  156. warningClass: "badge bg-info",
  157. limitReachedClass: "badge bg-warning"
  158. });
  159. $('input#moreoptions').maxlength({
  160. alwaysShow: true,
  161. warningClass: "badge bg-success",
  162. limitReachedClass: "badge bg-danger"
  163. });
  164. $('input#alloptions').maxlength({
  165. alwaysShow: true,
  166. warningClass: "badge bg-success",
  167. limitReachedClass: "badge bg-danger",
  168. separator: ' out of ',
  169. preText: 'You typed ',
  170. postText: ' chars available.',
  171. validate: true
  172. });
  173. $('textarea#textarea').maxlength({
  174. alwaysShow: true,
  175. warningClass: "badge bg-info",
  176. limitReachedClass: "badge bg-warning"
  177. });
  178. $('input#placement').maxlength({
  179. alwaysShow: true,
  180. placement: 'top-left',
  181. warningClass: "badge bg-info",
  182. limitReachedClass: "badge bg-warning"
  183. });
  184. }, //init
  185. $.AdvancedForm = new AdvancedForm(), $.AdvancedForm.Constructor = AdvancedForm;
  186. }(window.jQuery), //Datepicker
  187. function ($) {
  188. "use strict";
  189. $.AdvancedForm.init();
  190. }(window.jQuery);
  191. $(function () {
  192. 'use strict';
  193. var $date = $('.docs-date');
  194. var $container = $('.docs-datepicker-container');
  195. var $trigger = $('.docs-datepicker-trigger');
  196. var options = {
  197. show: function show(e) {
  198. console.log(e.type, e.namespace);
  199. },
  200. hide: function hide(e) {
  201. console.log(e.type, e.namespace);
  202. },
  203. pick: function pick(e) {
  204. console.log(e.type, e.namespace, e.view);
  205. }
  206. };
  207. $date.on({
  208. 'show.datepicker': function showDatepicker(e) {
  209. console.log(e.type, e.namespace);
  210. },
  211. 'hide.datepicker': function hideDatepicker(e) {
  212. console.log(e.type, e.namespace);
  213. },
  214. 'pick.datepicker': function pickDatepicker(e) {
  215. console.log(e.type, e.namespace, e.view);
  216. }
  217. }).datepicker(options);
  218. $('.docs-options, .docs-toggles').on('change', function (e) {
  219. var target = e.target;
  220. var $target = $(target);
  221. var name = $target.attr('name');
  222. var value = target.type === 'checkbox' ? target.checked : $target.val();
  223. var $optionContainer;
  224. switch (name) {
  225. case 'container':
  226. if (value) {
  227. value = $container;
  228. $container.show();
  229. } else {
  230. $container.hide();
  231. }
  232. break;
  233. case 'trigger':
  234. if (value) {
  235. value = $trigger;
  236. $trigger.prop('disabled', false);
  237. } else {
  238. $trigger.prop('disabled', true);
  239. }
  240. break;
  241. case 'inline':
  242. $optionContainer = $('input[name="container"]');
  243. if (!$optionContainer.prop('checked')) {
  244. $optionContainer.click();
  245. }
  246. break;
  247. case 'language':
  248. $('input[name="format"]').val($.fn.datepicker.languages[value].format);
  249. break;
  250. }
  251. options[name] = value;
  252. $date.datepicker('reset').datepicker('destroy').datepicker(options);
  253. });
  254. $('.docs-actions').on('click', 'button', function (e) {
  255. var data = $(this).data();
  256. var args = data.arguments || [];
  257. var result;
  258. e.stopPropagation();
  259. if (data.method) {
  260. if (data.source) {
  261. $date.datepicker(data.method, $(data.source).val());
  262. } else {
  263. result = $date.datepicker(data.method, args[0], args[1], args[2]);
  264. if (result && data.target) {
  265. $(data.target).val(result);
  266. }
  267. }
  268. }
  269. });
  270. });
  271. /******/ })()
  272. ;