123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471 |
- var FormComponents = function () {
- var handleWysihtml5 = function () {
- if (!jQuery().wysihtml5) {
- return;
- }
- if ($('.wysihtml5').size() > 0) {
- $('.wysihtml5').wysihtml5({
- "stylesheets": ["assets/plugins/bootstrap-wysihtml5/wysiwyg-color.css"]
- });
- }
- }
- var resetWysihtml5 = function () {
- if (!jQuery().wysihtml5) {
- return;
- }
- if ($('.wysihtml5').size() > 0) {
- $('.wysihtml5').wysihtml5({
- "stylesheets": ["assets/plugins/bootstrap-wysihtml5/wysiwyg-color.css"]
- });
- }
- }
- var handleToggleButtons = function () {
- if (!jQuery().toggleButtons) {
- return;
- }
- $('.basic-toggle-button').toggleButtons();
- $('.text-toggle-button').toggleButtons({
- width: 200,
- label: {
- enabled: "Lorem Ipsum",
- disabled: "Dolor Sit"
- }
- });
- $('.danger-toggle-button').toggleButtons({
- style: {
- // Accepted values ["primary", "danger", "info", "success", "warning"] or nothing
- enabled: "danger",
- disabled: "info"
- }
- });
- $('.info-toggle-button').toggleButtons({
- style: {
- enabled: "info",
- disabled: ""
- }
- });
- $('.success-toggle-button').toggleButtons({
- style: {
- enabled: "success",
- disabled: "info"
- }
- });
- $('.warning-toggle-button').toggleButtons({
- style: {
- enabled: "warning",
- disabled: "info"
- }
- });
- $('.height-toggle-button').toggleButtons({
- height: 100,
- font: {
- 'line-height': '100px',
- 'font-size': '20px',
- 'font-style': 'italic'
- }
- });
- }
- var handleTagsInput = function () {
- if (!jQuery().tagsInput) {
- return;
- }
- $('#tags_1').tagsInput({
- width: 'auto',
- 'onAddTag': function () {
- //alert(1);
- },
- });
- $('#tags_2').tagsInput({
- width: 240
- });
- }
- var handlejQueryUIDatePickers = function () {
- $( ".ui-date-picker" ).datepicker();
- }
- var handleDatePickers = function () {
- if (jQuery().datepicker) {
- $('.date-picker').datepicker({
- rtl : App.isRTL()
- });
- }
- }
- var handleTimePickers = function () {
-
- if (jQuery().timepicker) {
- $('.timepicker-default').timepicker();
- $('.timepicker-24').timepicker({
- minuteStep: 1,
- showSeconds: true,
- showMeridian: false
- });
- }
- }
- var handleDateRangePickers = function () {
- if (!jQuery().daterangepicker) {
- return;
- }
- $('.date-range').daterangepicker(
- {
- opens: (App.isRTL() ? 'left' : 'right'),
- format: 'MM/dd/yyyy',
- separator: ' to ',
- startDate: Date.today().add({
- days: -29
- }),
- endDate: Date.today(),
- minDate: '01/01/2012',
- maxDate: '12/31/2014',
- }
- );
- $('#form-date-range').daterangepicker({
- ranges: {
- 'Today': ['today', 'today'],
- 'Yesterday': ['yesterday', 'yesterday'],
- 'Last 7 Days': [Date.today().add({
- days: -6
- }), 'today'],
- 'Last 29 Days': [Date.today().add({
- days: -29
- }), 'today'],
- 'This Month': [Date.today().moveToFirstDayOfMonth(), Date.today().moveToLastDayOfMonth()],
- 'Last Month': [Date.today().moveToFirstDayOfMonth().add({
- months: -1
- }), Date.today().moveToFirstDayOfMonth().add({
- days: -1
- })]
- },
- opens: (App.isRTL() ? 'left' : 'right'),
- format: 'MM/dd/yyyy',
- separator: ' to ',
- startDate: Date.today().add({
- days: -29
- }),
- endDate: Date.today(),
- minDate: '01/01/2012',
- maxDate: '12/31/2014',
- locale: {
- applyLabel: 'Submit',
- fromLabel: 'From',
- toLabel: 'To',
- customRangeLabel: 'Custom Range',
- daysOfWeek: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],
- monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
- firstDay: 1
- },
- showWeekNumbers: true,
- buttonClasses: ['btn-danger']
- },
- function (start, end) {
- $('#form-date-range span').html(start.toString('MMMM d, yyyy') + ' - ' + end.toString('MMMM d, yyyy'));
- });
- $('#form-date-range span').html(Date.today().add({
- days: -29
- }).toString('MMMM d, yyyy') + ' - ' + Date.today().toString('MMMM d, yyyy'));
- //modal version:
- $('#form-date-range-modal').daterangepicker({
- ranges: {
- 'Today': ['today', 'today'],
- 'Yesterday': ['yesterday', 'yesterday'],
- 'Last 7 Days': [Date.today().add({
- days: -6
- }), 'today'],
- 'Last 29 Days': [Date.today().add({
- days: -29
- }), 'today'],
- 'This Month': [Date.today().moveToFirstDayOfMonth(), Date.today().moveToLastDayOfMonth()],
- 'Last Month': [Date.today().moveToFirstDayOfMonth().add({
- months: -1
- }), Date.today().moveToFirstDayOfMonth().add({
- days: -1
- })]
- },
- opens: (App.isRTL() ? 'left' : 'right'),
- format: 'MM/dd/yyyy',
- separator: ' to ',
- startDate: Date.today().add({
- days: -29
- }),
- endDate: Date.today(),
- minDate: '01/01/2012',
- maxDate: '12/31/2014',
- locale: {
- applyLabel: 'Submit',
- fromLabel: 'From',
- toLabel: 'To',
- customRangeLabel: 'Custom Range',
- daysOfWeek: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],
- monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
- firstDay: 1
- },
- showWeekNumbers: true,
- buttonClasses: ['btn-danger']
- },
- function (start, end) {
- $('#form-date-range-modal span').html(start.toString('MMMM d, yyyy') + ' - ' + end.toString('MMMM d, yyyy'));
- });
- $('#form-date-range-modal span').html(Date.today().add({
- days: -29
- }).toString('MMMM d, yyyy') + ' - ' + Date.today().toString('MMMM d, yyyy'));
- }
- var handleDatetimePicker = function () {
- $(".form_datetime").datetimepicker({
- format: "dd MM yyyy - hh:ii",
- pickerPosition: (App.isRTL() ? "bottom-right" : "bottom-left")
- });
- $(".form_advance_datetime").datetimepicker({
- format: "dd MM yyyy - hh:ii",
- autoclose: true,
- todayBtn: true,
- startDate: "2013-02-14 10:00",
- pickerPosition: (App.isRTL() ? "bottom-right" : "bottom-left"),
- minuteStep: 10
- });
- $(".form_meridian_datetime").datetimepicker({
- format: "dd MM yyyy - HH:ii P",
- showMeridian: true,
- autoclose: true,
- pickerPosition: (App.isRTL() ? "bottom-right" : "bottom-left"),
- todayBtn: true
- });
- }
- var handleClockfaceTimePickers = function () {
- if (!jQuery().clockface) {
- return;
- }
- $('.clockface_1').clockface();
- $('#clockface_2').clockface({
- format: 'HH:mm',
- trigger: 'manual'
- });
- $('#clockface_2_toggle').click(function (e) {
- e.stopPropagation();
- $('#clockface_2').clockface('toggle');
- });
- $('#clockface_2_modal').clockface({
- format: 'HH:mm',
- trigger: 'manual'
- });
- $('#clockface_2_modal_toggle').click(function (e) {
- e.stopPropagation();
- $('#clockface_2_modal').clockface('toggle');
- });
- $('.clockface_3').clockface({
- format: 'H:mm'
- }).clockface('show', '14:30');
- }
- var handleColorPicker = function () {
- if (!jQuery().colorpicker) {
- return;
- }
- $('.colorpicker-default').colorpicker({
- format: 'hex'
- });
- $('.colorpicker-rgba').colorpicker();
- }
- var handleSelec2 = function () {
- $('#select2_sample1').select2({
- placeholder: "Select an option",
- allowClear: true
- });
- $('#select2_sample2').select2({
- placeholder: "Select a State",
- allowClear: true
- });
- $("#select2_sample3").select2({
- allowClear: true,
- minimumInputLength: 1,
- query: function (query) {
- var data = {
- results: []
- }, i, j, s;
- for (i = 1; i < 5; i++) {
- s = "";
- for (j = 0; j < i; j++) {
- s = s + query.term;
- }
- data.results.push({
- id: query.term + i,
- text: s
- });
- }
- query.callback(data);
- }
- });
- function format(state) {
- if (!state.id) return state.text; // optgroup
- return "<img class='flag' src='assets/img/flags/" + state.id.toLowerCase() + ".png'/> " + state.text;
- }
- $("#select2_sample4").select2({
- allowClear: true,
- formatResult: format,
- formatSelection: format,
- escapeMarkup: function (m) {
- return m;
- }
- });
- $("#select2_sample5").select2({
- tags: ["red", "green", "blue", "yellow", "pink"]
- });
- function movieFormatResult(movie) {
- var markup = "<table class='movie-result'><tr>";
- if (movie.posters !== undefined && movie.posters.thumbnail !== undefined) {
- markup += "<td valign='top'><img src='" + movie.posters.thumbnail + "'/></td>";
- }
- markup += "<td valign='top'><h5>" + movie.title + "</h5>";
- if (movie.critics_consensus !== undefined) {
- markup += "<div class='movie-synopsis'>" + movie.critics_consensus + "</div>";
- } else if (movie.synopsis !== undefined) {
- markup += "<div class='movie-synopsis'>" + movie.synopsis + "</div>";
- }
- markup += "</td></tr></table>"
- return markup;
- }
- function movieFormatSelection(movie) {
- return movie.title;
- }
- $("#select2_sample6").select2({
- placeholder: "Search for a movie",
- minimumInputLength: 1,
- ajax: { // instead of writing the function to execute the request we use Select2's convenient helper
- url: "http://api.rottentomatoes.com/api/public/v1.0/movies.json",
- dataType: 'jsonp',
- data: function (term, page) {
- return {
- q: term, // search term
- page_limit: 10,
- apikey: "ju6z9mjyajq2djue3gbvv26t" // please do not use so this example keeps working
- };
- },
- results: function (data, page) { // parse the results into the format expected by Select2.
- // since we are using custom formatting functions we do not need to alter remote JSON data
- return {
- results: data.movies
- };
- }
- },
- initSelection: function (element, callback) {
- // the input tag has a value attribute preloaded that points to a preselected movie's id
- // this function resolves that id attribute to an object that select2 can render
- // using its formatResult renderer - that way the movie name is shown preselected
- var id = $(element).val();
- if (id !== "") {
- $.ajax("http://api.rottentomatoes.com/api/public/v1.0/movies/" + id + ".json", {
- data: {
- apikey: "ju6z9mjyajq2djue3gbvv26t"
- },
- dataType: "jsonp"
- }).done(function (data) {
- callback(data);
- });
- }
- },
- formatResult: movieFormatResult, // omitted for brevity, see the source of this page
- formatSelection: movieFormatSelection, // omitted for brevity, see the source of this page
- dropdownCssClass: "bigdrop", // apply css that makes the dropdown taller
- escapeMarkup: function (m) {
- return m;
- } // we do not want to escape markup since we are displaying html in results
- });
- }
- var handleMultiSelect = function () {
- $('#my_multi_select1').multiSelect();
- $('#my_multi_select2').multiSelect({
- selectableOptgroup: true
- });
- }
- var handleInputMasks = function () {
- $.extend($.inputmask.defaults, {
- 'autounmask': true
- });
- $("#mask_date").inputmask("d/m/y", {autoUnmask: true}); //direct mask
- $("#mask_date1").inputmask("d/m/y",{ "placeholder": "*"}); //change the placeholder
- $("#mask_date2").inputmask("d/m/y",{ "placeholder": "dd/mm/yyyy" }); //multi-char placeholder
- $("#mask_phone").inputmask("mask", {"mask": "(999) 999-9999"}); //specifying fn & options
- $("#mask_tin").inputmask({"mask": "99-9999999"}); //specifying options only
- $("#mask_number").inputmask({ "mask": "9", "repeat": 10, "greedy": false }); // ~ mask "9" or mask "99" or ... mask "9999999999"
- $("#mask_decimal").inputmask('decimal', { rightAlignNumerics: false }); //disables the right alignment of the decimal input
- $("#mask_currency").inputmask('€ 999.999.999,99', { numericInput: true }); //123456 => € ___.__1.234,56
-
- $("#mask_currency2").inputmask('€ 999,999,999.99', { numericInput: true, rightAlignNumerics: false, greedy: false}); //123456 => € ___.__1.234,56
- $("#mask_ssn").inputmask("999-99-9999", {placeholder:" ", clearMaskOnLostFocus: true }); //default
- }
- var handleIPAddressInput = function () {
- $('#input_ipv4').ipAddress();
- $('#input_ipv6').ipAddress({v:6});
- }
- return {
- //main function to initiate the module
- init: function () {
- handleWysihtml5();
- handleToggleButtons();
- handleTagsInput();
- handlejQueryUIDatePickers();
- handleDatePickers();
- handleTimePickers();
- handleDatetimePicker();
- handleDateRangePickers();
- handleClockfaceTimePickers();
- handleColorPicker();
- handleSelec2();
- handleInputMasks();
- handleIPAddressInput();
- handleMultiSelect();
- App.addResponsiveHandler(function(){
- resetWysihtml5();
- })
- }
- };
- }();
|