restore composer.json, add mysqli extension

This commit is contained in:
2026-04-15 17:02:52 +05:00
commit 77cf56a348
4317 changed files with 1397107 additions and 0 deletions

View File

@@ -0,0 +1,37 @@
/*=========================================================================================
File Name: basic-inputs.js
Description: Input field js for label type
----------------------------------------------------------------------------------------
Item Name: Vuesax HTML Admin Template
Version: 1.1
Author: Pixinvent
Author URL: hhttp://www.themeforest.net/user/pixinvent
==========================================================================================*/
(function(window, document, $) {
'use strict';
var $html = $('html');
//label Positions
$(".labelUp").labelinplace();
$(".labelDown").labelinplace({
labelPosition: "down"
});
// Label Icons
$(".labelIcon").labelinplace({
labelArrowRight: ' <i class="icon-hand-o-right"></i> ',
labelArrowDown: ' <i class="icon-hand-o-down"></i> ',
labelArrowUp: ' <i class="icon-hand-o-up"></i> '
});
// Icons After Label
$(".labelIconAfter").labelinplace({
labelArrowRight: ' <i class="icon-caret-right"></i> ',
labelArrowDown: ' <i class="icon-caret-down"></i> ',
labelArrowUp: ' <i class="icon-caret-up"></i> ',
labelIconPosition: "after",
inputAttr: "id"
});
})(window, document, jQuery);

View File

@@ -0,0 +1 @@
!function(l,i,a){"use strict";a("html");a(".labelUp").labelinplace(),a(".labelDown").labelinplace({labelPosition:"down"}),a(".labelIcon").labelinplace({labelArrowRight:' <i class="icon-hand-o-right"></i> ',labelArrowDown:' <i class="icon-hand-o-down"></i> ',labelArrowUp:' <i class="icon-hand-o-up"></i> '}),a(".labelIconAfter").labelinplace({labelArrowRight:' <i class="icon-caret-right"></i> ',labelArrowDown:' <i class="icon-caret-down"></i> ',labelArrowUp:' <i class="icon-caret-up"></i> ',labelIconPosition:"after",inputAttr:"id"})}(window,document,jQuery);

View File

@@ -0,0 +1,69 @@
/*=========================================================================================
File Name: form-maxlength.js
Description: Bootstrap-Maxlength uses a Twitter Bootstrap label to show a visual
feedback to the user about the maximum length of the field where the user is
inserting text. Uses the HTML5 attribute "maxlength" to work.
----------------------------------------------------------------------------------------
Item Name: Vuesax HTML Admin Template
Version: 1.1
Author: Pixinvent
Author URL: hhttp://www.themeforest.net/user/pixinvent
==========================================================================================*/
(function (window, document, $) {
'use strict';
var $danger = "#ea5455";
var $primary = "#7367f0";
var $textcolor = "#4e5154";
$(".char-textarea").on("keyup", function (event) {
checkTextAreaMaxLength(this, event);
// to later change text color in dark layout
$(this).addClass("active")
});
/*
Checks the MaxLength of the Textarea
-----------------------------------------------------
@prerequisite: textBox = textarea dom element
e = textarea event
length = Max length of characters
*/
function checkTextAreaMaxLength(textBox, e) {
var maxLength = parseInt($(textBox).data("length"));
if (!checkSpecialKeys(e)) {
if (textBox.value.length < maxLength - 1) textBox.value = textBox.value.substring(0, maxLength);
}
$(".char-count").html(textBox.value.length);
if (textBox.value.length > maxLength) {
$(".counter-value").css("background-color", $danger);
$(".char-textarea").css("color", $danger);
// to change text color after limit is maxedout out
$(".char-textarea").addClass("max-limit")
}
else {
$(".counter-value").css("background-color", $primary);
$(".char-textarea").css("color", $textcolor);
$(".char-textarea").removeClass("max-limit")
}
return true;
}
/*
Checks if the keyCode pressed is inside special chars
-------------------------------------------------------
@prerequisite: e = e.keyCode object for the key pressed
*/
function checkSpecialKeys(e) {
if (e.keyCode != 8 && e.keyCode != 46 && e.keyCode != 37 && e.keyCode != 38 && e.keyCode != 39 && e.keyCode != 40)
return false;
else
return true;
}
})(window, document, jQuery);

View File

@@ -0,0 +1 @@
!function(e,a,r){"use strict";var o="#ea5455";r(".char-textarea").on("keyup",function(e){!function(e,a){var t=parseInt(r(e).data("length"));(function(e){return 8==e.keyCode||46==e.keyCode||37==e.keyCode||38==e.keyCode||39==e.keyCode||40==e.keyCode})(a)||e.value.length<t-1&&(e.value=e.value.substring(0,t));r(".char-count").html(e.value.length),e.value.length>t?(r(".counter-value").css("background-color",o),r(".char-textarea").css("color",o),r(".char-textarea").addClass("max-limit")):(r(".counter-value").css("background-color","#7367f0"),r(".char-textarea").css("color","#4e5154"),r(".char-textarea").removeClass("max-limit"))}(this,e),r(this).addClass("active")})}(window,document,jQuery);

View File

@@ -0,0 +1,24 @@
/*=========================================================================================
File Name: form-tooltip-valid.js
Description: form tooltip validation etc..
----------------------------------------------------------------------------------------
Item Name: Vuesax HTML Admin Template
Version: 1.1
Author: Pixinvent
Author URL: hhttp://www.themeforest.net/user/pixinvent
==========================================================================================*/
(function(window, document, $) {
'use strict';
// Fetch all the forms we want to apply custom Bootstrap validation styles to
// Loop over them and prevent submission
$("button").click(function () {
var form = $(".needs-validation");
if (form[0].checkValidity() === false) {
event.preventDefault();
event.stopPropagation();
}
form.addClass('was-validated');
});
})(window, document, jQuery);

View File

@@ -0,0 +1 @@
!function(t,e,n){"use strict";n("button").click(function(){var t=n(".needs-validation");!1===t[0].checkValidity()&&(event.preventDefault(),event.stopPropagation()),t.addClass("was-validated")})}(window,document,jQuery);

View File

@@ -0,0 +1,77 @@
/*=========================================================================================
File Name: input-groups.js
Description: Input Groups js
----------------------------------------------------------------------------------------
Item Name: Vuesax HTML Admin Template
Version: 1.1
Author: PIXINVENT
Author URL: http://www.themeforest.net/user/pixinvent
==========================================================================================*/
(function (window, document, $) {
'use strict';
var $html = $('html');
// Default Spin
$(".touchspin").TouchSpin({
buttondown_class: "btn btn-primary",
buttonup_class: "btn btn-primary",
});
// Icon Change
$(".touchspin-icon").TouchSpin({
buttondown_txt: '<i class="feather icon-chevron-down"></i>',
buttonup_txt: '<i class="feather icon-chevron-up"></i>'
});
// Min - Max
var touchspinValue = $(".touchspin-min-max"),
counterMin = 15,
counterMax = 21;
if (touchspinValue.length > 0) {
touchspinValue.TouchSpin({
min: counterMin,
max: counterMax
}).on('touchspin.on.startdownspin', function () {
var $this = $(this);
$('.bootstrap-touchspin-up').removeClass("disabled-max-min");
if ($this.val() == counterMin) {
$(this).siblings().find('.bootstrap-touchspin-down').addClass("disabled-max-min");
}
}).on('touchspin.on.startupspin', function () {
var $this = $(this);
$('.bootstrap-touchspin-down').removeClass("disabled-max-min");
if ($this.val() == counterMax) {
$(this).siblings().find('.bootstrap-touchspin-up').addClass("disabled-max-min");
}
});
}
// Step
$(".touchspin-step").TouchSpin({
step: 5
});
// Color Options
$(".touchspin-color").each(function (index) {
var down = "btn btn-primary",
up = "btn btn-primary",
$this = $(this);
if ($this.data('bts-button-down-class')) {
down = $this.data('bts-button-down-class');
}
if ($this.data('bts-button-up-class')) {
up = $this.data('bts-button-up-class');
}
$this.TouchSpin({
mousewheel: false,
buttondown_class: down,
buttonup_class: up,
buttondown_txt: '<i class="feather icon-minus"></i>',
buttonup_txt: '<i class="feather icon-plus"></i>'
});
});
})(window, document, jQuery);

View File

@@ -0,0 +1 @@
!function(t,n,i){"use strict";i("html");i(".touchspin").TouchSpin({buttondown_class:"btn btn-primary",buttonup_class:"btn btn-primary"}),i(".touchspin-icon").TouchSpin({buttondown_txt:'<i class="feather icon-chevron-down"></i>',buttonup_txt:'<i class="feather icon-chevron-up"></i>'});var s=i(".touchspin-min-max");0<s.length&&s.TouchSpin({min:15,max:21}).on("touchspin.on.startdownspin",function(){var t=i(this);i(".bootstrap-touchspin-up").removeClass("disabled-max-min"),15==t.val()&&i(this).siblings().find(".bootstrap-touchspin-down").addClass("disabled-max-min")}).on("touchspin.on.startupspin",function(){var t=i(this);i(".bootstrap-touchspin-down").removeClass("disabled-max-min"),21==t.val()&&i(this).siblings().find(".bootstrap-touchspin-up").addClass("disabled-max-min")}),i(".touchspin-step").TouchSpin({step:5}),i(".touchspin-color").each(function(t){var n="btn btn-primary",s="btn btn-primary",o=i(this);o.data("bts-button-down-class")&&(n=o.data("bts-button-down-class")),o.data("bts-button-up-class")&&(s=o.data("bts-button-up-class")),o.TouchSpin({mousewheel:!1,buttondown_class:n,buttonup_class:s,buttondown_txt:'<i class="feather icon-minus"></i>',buttonup_txt:'<i class="feather icon-plus"></i>'})})}(window,document,jQuery);

View File

@@ -0,0 +1,217 @@
/*=========================================================================================
File Name: pickers.js
Description: Pick a date/time Picker, Date Range Picker JS
----------------------------------------------------------------------------------------
Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template
Author: Pixinvent
Author URL: hhttp://www.themeforest.net/user/pixinvent
==========================================================================================*/
(function (window, document, $) {
'use strict';
/******* Flatpickr *****/
var basicPickr = $('.flatpickr-basic'),
timePickr = $('.flatpickr-time'),
dateTimePickr = $('.flatpickr-date-time'),
multiPickr = $('.flatpickr-multiple'),
rangePickr = $('.flatpickr-range'),
humanFriendlyPickr = $('.flatpickr-human-friendly'),
disabledRangePickr = $('.flatpickr-disabled-range'),
inlineRangePickr = $('.flatpickr-inline');
// Default
if (basicPickr.length) {
basicPickr.flatpickr();
}
// Time
if (timePickr.length) {
timePickr.flatpickr({
enableTime: true,
noCalendar: true
});
}
// Date & TIme
if (dateTimePickr.length) {
dateTimePickr.flatpickr({
enableTime: true
});
}
// Multiple Dates
if (multiPickr.length) {
multiPickr.flatpickr({
weekNumbers: true,
mode: 'multiple',
minDate: 'today'
});
}
// Range
if (rangePickr.length) {
rangePickr.flatpickr({
mode: 'range'
});
}
// Human Friendly
if (humanFriendlyPickr.length) {
humanFriendlyPickr.flatpickr({
altInput: true,
altFormat: 'F j, Y',
dateFormat: 'Y-m-d'
});
}
// Disabled Range
if (disabledRangePickr.length) {
disabledRangePickr.flatpickr({
dateFormat: 'Y-m-d',
disable: [
{
from: new Date().fp_incr(2),
to: new Date().fp_incr(7)
}
]
});
}
// Inline
if (inlineRangePickr.length) {
inlineRangePickr.flatpickr({
inline: true
});
}
/******* Pick-a-date Picker *****/
// Basic date
$('.pickadate').pickadate();
// Format Date Picker
$('.format-picker').pickadate({
format: 'mmmm, d, yyyy'
});
// Date limits
$('.pickadate-limits').pickadate({
min: [2019, 3, 20],
max: [2019, 5, 28]
});
// Disabled Dates & Weeks
$('.pickadate-disable').pickadate({
disable: [1, [2019, 3, 6], [2019, 3, 20]]
});
// Picker Translations
$('.pickadate-translations').pickadate({
formatSubmit: 'dd/mm/yyyy',
monthsFull: [
'Janvier',
'Février',
'Mars',
'Avril',
'Mai',
'Juin',
'Juillet',
'Août',
'Septembre',
'Octobre',
'Novembre',
'Décembre'
],
monthsShort: ['Jan', 'Fev', 'Mar', 'Avr', 'Mai', 'Juin', 'Juil', 'Aou', 'Sep', 'Oct', 'Nov', 'Dec'],
weekdaysShort: ['Dim', 'Lun', 'Mar', 'Mer', 'Jeu', 'Ven', 'Sam'],
today: "aujourd'hui",
clear: 'clair',
close: 'Fermer'
});
// Month Select Picker
$('.pickadate-months').pickadate({
selectYears: false,
selectMonths: true
});
// Month and Year Select Picker
$('.pickadate-months-year').pickadate({
selectYears: true,
selectMonths: true
});
// Short String Date Picker
$('.pickadate-short-string').pickadate({
weekdaysShort: ['S', 'M', 'Tu', 'W', 'Th', 'F', 'S'],
showMonthsShort: true
});
// Change first weekday
$('.pickadate-firstday').pickadate({
firstDay: 1
});
/******* Pick-a-time Picker *****/
// Basic time
$('.pickatime').pickatime();
// Format options
$('.pickatime-format').pickatime({
// Escape any “rule” characters with an exclamation mark (!).
format: 'T!ime selected: h:i a',
formatLabel: 'HH:i a',
formatSubmit: 'HH:i',
hiddenPrefix: 'prefix__',
hiddenSuffix: '__suffix'
});
// Format options
$('.pickatime-formatlabel').pickatime({
formatLabel: function (time) {
var hours = (time.pick - this.get('now').pick) / 60,
label = hours < 0 ? ' !hours to now' : hours > 0 ? ' !hours from now' : 'now';
return 'h:i a <sm!all>' + (hours ? Math.abs(hours) : '') + label + '</sm!all>';
}
});
// Min - Max Time to select
$('.pickatime-min-max').pickatime({
// Using Javascript
min: new Date(2015, 3, 20, 7),
max: new Date(2015, 7, 14, 18, 30)
// Using Array
// min: [7,30],
// max: [14,0]
});
// Intervals
$('.pickatime-intervals').pickatime({
interval: 150
});
// Disable Time
$('.pickatime-disable').pickatime({
disable: [
// Disable Using Integers
3,
5,
7,
13,
17,
21
/* Using Array */
// [0,30],
// [2,0],
// [8,30],
// [9,0]
]
});
// Close on a user action
$('.pickatime-close-action').pickatime({
closeOnSelect: false,
closeOnClear: false
});
})(window, document, jQuery);

View File

@@ -0,0 +1 @@
!function(a,e,t){"use strict";var i=t(".flatpickr-basic"),r=t(".flatpickr-time"),c=t(".flatpickr-date-time"),l=t(".flatpickr-multiple"),m=t(".flatpickr-range"),n=t(".flatpickr-human-friendly"),p=t(".flatpickr-disabled-range"),o=t(".flatpickr-inline");i.length&&i.flatpickr(),r.length&&r.flatpickr({enableTime:!0,noCalendar:!0}),c.length&&c.flatpickr({enableTime:!0}),l.length&&l.flatpickr({weekNumbers:!0,mode:"multiple",minDate:"today"}),m.length&&m.flatpickr({mode:"range"}),n.length&&n.flatpickr({altInput:!0,altFormat:"F j, Y",dateFormat:"Y-m-d"}),p.length&&p.flatpickr({dateFormat:"Y-m-d",disable:[{from:(new Date).fp_incr(2),to:(new Date).fp_incr(7)}]}),o.length&&o.flatpickr({inline:!0}),t(".pickadate").pickadate(),t(".format-picker").pickadate({format:"mmmm, d, yyyy"}),t(".pickadate-limits").pickadate({min:[2019,3,20],max:[2019,5,28]}),t(".pickadate-disable").pickadate({disable:[1,[2019,3,6],[2019,3,20]]}),t(".pickadate-translations").pickadate({formatSubmit:"dd/mm/yyyy",monthsFull:["Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre","Novembre","Décembre"],monthsShort:["Jan","Fev","Mar","Avr","Mai","Juin","Juil","Aou","Sep","Oct","Nov","Dec"],weekdaysShort:["Dim","Lun","Mar","Mer","Jeu","Ven","Sam"],today:"aujourd'hui",clear:"clair",close:"Fermer"}),t(".pickadate-months").pickadate({selectYears:!1,selectMonths:!0}),t(".pickadate-months-year").pickadate({selectYears:!0,selectMonths:!0}),t(".pickadate-short-string").pickadate({weekdaysShort:["S","M","Tu","W","Th","F","S"],showMonthsShort:!0}),t(".pickadate-firstday").pickadate({firstDay:1}),t(".pickatime").pickatime(),t(".pickatime-format").pickatime({format:"T!ime selected: h:i a",formatLabel:"HH:i a",formatSubmit:"HH:i",hiddenPrefix:"prefix__",hiddenSuffix:"__suffix"}),t(".pickatime-formatlabel").pickatime({formatLabel:function(a){var e=(a.pick-this.get("now").pick)/60,t=e<0?" !hours to now":e>0?" !hours from now":"now";return"h:i a <sm!all>"+(e?Math.abs(e):"")+t+"</sm!all>"}}),t(".pickatime-min-max").pickatime({min:new Date(2015,3,20,7),max:new Date(2015,7,14,18,30)}),t(".pickatime-intervals").pickatime({interval:150}),t(".pickatime-disable").pickatime({disable:[3,5,7,13,17,21]}),t(".pickatime-close-action").pickatime({closeOnSelect:!1,closeOnClear:!1})}(window,document,jQuery);

View File

@@ -0,0 +1,248 @@
/*=========================================================================================
File Name: form-select2.js
Description: Select2 is a jQuery-based replacement for select boxes.
It supports searching, remote data sets, and pagination of results.
----------------------------------------------------------------------------------------
Item Name: Vuesax HTML Admin Template
Version: 1.1
Author: Pixinvent
Author URL: hhttp://www.themeforest.net/user/pixinvent
==========================================================================================*/
(function(window, document, $) {
'use strict';
// Basic Select2 select
$(".select2").select2();
// Select With Icon
$(".select2-icons").select2({
minimumResultsForSearch: Infinity,
templateResult: iconFormat,
templateSelection: iconFormat,
escapeMarkup: function(es) { return es; }
});
// Format icon
function iconFormat(icon) {
var originalOption = icon.element;
if (!icon.id) { return icon.text; }
var $icon = "<i class='" + $(icon.element).data('icon') + "'></i>" + icon.text;
return $icon;
}
// Limiting the number of selections
$(".max-length").select2({
maximumSelectionLength: 2,
placeholder: "Select maximum 2 items"
});
// Programmatic access
var $select = $(".js-example-programmatic").select2();
var $selectMulti = $(".js-example-programmatic-multi").select2();
$selectMulti.select2({
placeholder: "Programmatic Events"
});
$(".js-programmatic-set-val").on("click", function () { $select.val("CA").trigger("change"); });
$(".js-programmatic-open").on("click", function () { $select.select2("open"); });
$(".js-programmatic-close").on("click", function () { $select.select2("close"); });
$(".js-programmatic-init").on("click", function () { $select.select2(); });
$(".js-programmatic-destroy").on("click", function () { $select.select2("destroy"); });
$(".js-programmatic-multi-set-val").on("click", function () { $selectMulti.val(["CA", "AL"]).trigger("change"); });
$(".js-programmatic-multi-clear").on("click", function () { $selectMulti.val(null).trigger("change"); });
// Loading array data
var data = [
{ id: 0, text: 'enhancement' },
{ id: 1, text: 'bug' },
{ id: 2, text: 'duplicate' },
{ id: 3, text: 'invalid' },
{ id: 4, text: 'wontfix' }
];
$(".select2-data-array").select2({
data: data
});
// Loading remote data
$(".select2-data-ajax").select2({
ajax: {
url: "https://api.github.com/search/repositories",
dataType: 'json',
delay: 250,
data: function (params) {
return {
q: params.term, // search term
page: params.page
};
},
processResults: function (data, params) {
// parse the results into the format expected by Select2
// since we are using custom formatting functions we do not need to
// alter the remote JSON data, except to indicate that infinite
// scrolling can be used
params.page = params.page || 1;
return {
results: data.items,
pagination: {
more: (params.page * 30) < data.total_count
}
};
},
cache: true
},
placeholder: 'Search for a repository',
escapeMarkup: function (markup) { return markup; }, // let our custom formatter work
minimumInputLength: 1,
templateResult: formatRepo,
templateSelection: formatRepoSelection
});
function formatRepo (repo) {
if (repo.loading) return repo.text;
var markup = "<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'>" + repo.full_name + "</div>";
if (repo.description) {
markup += "<div class='select2-result-repository__description'>" + repo.description + "</div>";
}
markup += "<div class='select2-result-repository__statistics'>" +
"<div class='select2-result-repository__forks'><i class='icon-code-fork mr-0'></i> " + repo.forks_count + " Forks</div>" +
"<div class='select2-result-repository__stargazers'><i class='icon-star5 mr-0'></i> " + repo.stargazers_count + " Stars</div>" +
"<div class='select2-result-repository__watchers'><i class='icon-eye mr-0'></i> " + repo.watchers_count + " Watchers</div>" +
"</div>" +
"</div></div>";
return markup;
}
function formatRepoSelection (repo) {
return repo.full_name || repo.text;
}
// Customizing how results are matched
function matchStart (term, text) {
if (text.toUpperCase().indexOf(term.toUpperCase()) === 0) {
return true;
}
return false;
}
$.fn.select2.amd.require(['select2/compat/matcher'], function (oldMatcher) {
$(".select2-customize-result").select2({
placeholder: "Search by 'a'",
matcher: oldMatcher(matchStart)
});
});
// Theme support
$(".select2-theme").select2({
placeholder: "Classic Theme",
theme: "classic"
});
// Sizing options
// Large
$('.select2-size-lg').select2({
containerCssClass: 'select-lg'
});
// Small
$('.select2-size-sm').select2({
containerCssClass: 'select-sm'
});
// Color Options
// Background Color
$('.select2-bg').each(function(i, obj) {
var variation = "",
textVariation = "",
textColor = "";
var color = $(this).data('bgcolor');
variation = $(this).data('bgcolor-variation');
textVariation = $(this).data('text-variation');
textColor = $(this).data('text-color');
if(textVariation !== ""){
textVariation = " "+textVariation;
}
if(variation !== ""){
variation = " bg-"+variation;
}
var className = "bg-"+color + variation + " " + textColor + textVariation + " border-"+color + ' border-darken-2 ';
$(this).select2({
containerCssClass: className
});
});
// Border Color
$('.select2-border').each(function(i, obj) {
var variation = "",
textVariation = "",
textColor = "";
var color = $(this).data('border-color');
textVariation = $(this).data('text-variation');
variation = $(this).data('border-variation');
textColor = $(this).data('text-color');
if(textVariation !== ""){
textVariation = " "+textVariation;
}
if(variation !== ""){
variation = " border-"+variation;
}
var className = "border-"+color + " " +variation + " " + textColor + textVariation;
$(this).select2({
containerCssClass: className
});
});
// Full Background Color
$('.select2-full-bg').each(function(i, obj) {
var variation = "",
textVariation = "",
textColor = "";
var color = $(this).data('bgcolor');
variation = $(this).data('bgcolor-variation');
textVariation = $(this).data('text-variation');
textColor = $(this).data('text-color');
if(variation !== ""){
variation = " bg-"+variation;
}
if(textVariation !== ""){
textVariation = " "+textVariation;
}
var className = "bg-"+color + variation + " " + textColor + textVariation + " border-"+color + ' border-darken-2 ';
$(this).select2({
containerCssClass: className,
dropdownCssClass: className
});
});
$('select[data-text-color]').each(function(i, obj) {
var text = $(this).data('text-color'),textVariation;
textVariation = $(this).data('text-variation');
if(textVariation !== ""){
textVariation = " "+textVariation;
}
$(this).next(".select2").find(".select2-selection__rendered").addClass(text+textVariation);
});
})(window, document, jQuery);

View File

@@ -0,0 +1 @@
!function(e,t,i){"use strict";function s(e){e.element;return e.id?"<i class='"+i(e.element).data("icon")+"'></i>"+e.text:e.text}i(".select2").select2(),i(".select2-icons").select2({minimumResultsForSearch:1/0,templateResult:s,templateSelection:s,escapeMarkup:function(e){return e}}),i(".max-length").select2({maximumSelectionLength:2,placeholder:"Select maximum 2 items"});var a=i(".js-example-programmatic").select2(),r=i(".js-example-programmatic-multi").select2();r.select2({placeholder:"Programmatic Events"}),i(".js-programmatic-set-val").on("click",function(){a.val("CA").trigger("change")}),i(".js-programmatic-open").on("click",function(){a.select2("open")}),i(".js-programmatic-close").on("click",function(){a.select2("close")}),i(".js-programmatic-init").on("click",function(){a.select2()}),i(".js-programmatic-destroy").on("click",function(){a.select2("destroy")}),i(".js-programmatic-multi-set-val").on("click",function(){r.val(["CA","AL"]).trigger("change")}),i(".js-programmatic-multi-clear").on("click",function(){r.val(null).trigger("change")});function c(e,t){return 0===t.toUpperCase().indexOf(e.toUpperCase())}i(".select2-data-array").select2({data:[{id:0,text:"enhancement"},{id:1,text:"bug"},{id:2,text:"duplicate"},{id:3,text:"invalid"},{id:4,text:"wontfix"}]}),i(".select2-data-ajax").select2({ajax:{url:"https://api.github.com/search/repositories",dataType:"json",delay:250,data:function(e){return{q:e.term,page:e.page}},processResults:function(e,t){return t.page=t.page||1,{results:e.items,pagination:{more:30*t.page<e.total_count}}},cache:!0},placeholder:"Search for a repository",escapeMarkup:function(e){return e},minimumInputLength:1,templateResult:function(e){if(e.loading)return e.text;var t="<div class='select2-result-repository clearfix'><div class='select2-result-repository__avatar'><img src='"+e.owner.avatar_url+"' /></div><div class='select2-result-repository__meta'><div class='select2-result-repository__title'>"+e.full_name+"</div>";e.description&&(t+="<div class='select2-result-repository__description'>"+e.description+"</div>");return t+="<div class='select2-result-repository__statistics'><div class='select2-result-repository__forks'><i class='icon-code-fork mr-0'></i> "+e.forks_count+" Forks</div><div class='select2-result-repository__stargazers'><i class='icon-star5 mr-0'></i> "+e.stargazers_count+" Stars</div><div class='select2-result-repository__watchers'><i class='icon-eye mr-0'></i> "+e.watchers_count+" Watchers</div></div></div></div>"},templateSelection:function(e){return e.full_name||e.text}}),i.fn.select2.amd.require(["select2/compat/matcher"],function(e){i(".select2-customize-result").select2({placeholder:"Search by 'a'",matcher:e(c)})}),i(".select2-theme").select2({placeholder:"Classic Theme",theme:"classic"}),i(".select2-size-lg").select2({containerCssClass:"select-lg"}),i(".select2-size-sm").select2({containerCssClass:"select-sm"}),i(".select2-bg").each(function(e,t){var s="",a="",r=i(this).data("bgcolor");s=i(this).data("bgcolor-variation"),""!==(a=i(this).data("text-variation"))&&(a=" "+a),""!==s&&(s=" bg-"+s);var c="bg-"+r+s+" "+i(this).data("text-color")+a+" border-"+r+" border-darken-2 ";i(this).select2({containerCssClass:c})}),i(".select2-border").each(function(e,t){var s="",a="",r=i(this).data("border-color");""!==(a=i(this).data("text-variation"))&&(a=" "+a),""!==(s=i(this).data("border-variation"))&&(s=" border-"+s);var c="border-"+r+" "+s+" "+i(this).data("text-color")+a;i(this).select2({containerCssClass:c})}),i(".select2-full-bg").each(function(e,t){var s="",a="",r=i(this).data("bgcolor");""!==(s=i(this).data("bgcolor-variation"))&&(s=" bg-"+s),""!==(a=i(this).data("text-variation"))&&(a=" "+a);var c="bg-"+r+s+" "+i(this).data("text-color")+a+" border-"+r+" border-darken-2 ";i(this).select2({containerCssClass:c,dropdownCssClass:c})}),i("select[data-text-color]").each(function(e,t){var s,a=i(this).data("text-color");""!==(s=i(this).data("text-variation"))&&(s=" "+s),i(this).next(".select2").find(".select2-selection__rendered").addClass(a+s)})}(window,document,jQuery);

View File

@@ -0,0 +1,17 @@
/*=========================================================================================
File Name: form-validation.js
Description: jquery bootsreap validation js
----------------------------------------------------------------------------------------
Item Name: Vuesax HTML Admin Template
Version: 1.1
Author: PIXINVENT
Author URL: http://www.themeforest.net/user/pixinvent
==========================================================================================*/
(function(window, document, $) {
'use strict';
// Input, Select, Textarea validations except submit button
$("input,select,textarea").not("[type=submit]").jqBootstrapValidation();
})(window, document, jQuery);

View File

@@ -0,0 +1 @@
!function(){"use strict";jQuery("input,select,textarea").not("[type=submit]").jqBootstrapValidation()}(window,document);

View File

@@ -0,0 +1,95 @@
/*=========================================================================================
File Name: wizard-steps.js
Description: wizard steps page specific js
----------------------------------------------------------------------------------------
Item Name: Vuesax HTML Admin Template
Version: 1.1
Author: PIXINVENT
Author URL: http://www.themeforest.net/user/pixinvent
==========================================================================================*/
// Wizard tabs with numbers setup
$(".number-tab-steps").steps({
headerTag: "h6",
bodyTag: "fieldset",
transitionEffect: "fade",
titleTemplate: '<span class="step">#index#</span> #title#',
labels: {
finish: 'Submit'
},
onFinished: function (event, currentIndex) {
alert("Form submitted.");
}
});
// Wizard tabs with icons setup
$(".icons-tab-steps").steps({
headerTag: "h6",
bodyTag: "fieldset",
transitionEffect: "fade",
titleTemplate: '<span class="step">#index#</span> #title#',
labels: {
finish: 'Submit'
},
onFinished: function (event, currentIndex) {
alert("Form submitted.");
}
});
// Validate steps wizard
// Show form
var form = $(".steps-validation").show();
$(".steps-validation").steps({
headerTag: "h6",
bodyTag: "fieldset",
transitionEffect: "fade",
titleTemplate: '<span class="step">#index#</span> #title#',
labels: {
finish: 'Submit'
},
onStepChanging: function (event, currentIndex, newIndex) {
// Allways allow previous action even if the current form is not valid!
if (currentIndex > newIndex) {
return true;
}
// Needed in some cases if the user went back (clean up)
if (currentIndex < newIndex) {
// To remove error styles
form.find(".body:eq(" + newIndex + ") label.error").remove();
form.find(".body:eq(" + newIndex + ") .error").removeClass("error");
}
form.validate().settings.ignore = ":disabled,:hidden";
return form.valid();
},
onFinishing: function (event, currentIndex) {
form.validate().settings.ignore = ":disabled";
return form.valid();
},
onFinished: function (event, currentIndex) {
alert("Submitted!");
}
});
// Initialize validation
$(".steps-validation").validate({
ignore: 'input[type=hidden]', // ignore hidden fields
errorClass: 'danger',
successClass: 'success',
highlight: function (element, errorClass) {
$(element).removeClass(errorClass);
},
unhighlight: function (element, errorClass) {
$(element).removeClass(errorClass);
},
errorPlacement: function (error, element) {
error.insertAfter(element);
},
rules: {
email: {
email: true
}
}
});

View File

@@ -0,0 +1 @@
$(".number-tab-steps").steps({headerTag:"h6",bodyTag:"fieldset",transitionEffect:"fade",titleTemplate:'<span class="step">#index#</span> #title#',labels:{finish:"Submit"},onFinished:function(e,t){alert("Form submitted.")}}),$(".icons-tab-steps").steps({headerTag:"h6",bodyTag:"fieldset",transitionEffect:"fade",titleTemplate:'<span class="step">#index#</span> #title#',labels:{finish:"Submit"},onFinished:function(e,t){alert("Form submitted.")}});var form=$(".steps-validation").show();$(".steps-validation").steps({headerTag:"h6",bodyTag:"fieldset",transitionEffect:"fade",titleTemplate:'<span class="step">#index#</span> #title#',labels:{finish:"Submit"},onStepChanging:function(e,t,i){return i<t||(t<i&&(form.find(".body:eq("+i+") label.error").remove(),form.find(".body:eq("+i+") .error").removeClass("error")),form.validate().settings.ignore=":disabled,:hidden",form.valid())},onFinishing:function(e,t){return form.validate().settings.ignore=":disabled",form.valid()},onFinished:function(e,t){alert("Submitted!")}}),$(".steps-validation").validate({ignore:"input[type=hidden]",errorClass:"danger",successClass:"success",highlight:function(e,t){$(e).removeClass(t)},unhighlight:function(e,t){$(e).removeClass(t)},errorPlacement:function(e,t){e.insertAfter(t)},rules:{email:{email:!0}}});