commitall

This commit is contained in:
Sampanna Rimal
2024-07-10 18:28:19 +05:45
parent 140abda4e6
commit 9cd05ef3cb
15723 changed files with 4818733 additions and 0 deletions

48
account/dist/js/.eslintrc.json vendored Normal file
View File

@@ -0,0 +1,48 @@
{
"root": true,
"parserOptions": {
"ecmaVersion": 5,
"sourceType": "script"
},
"env": {
"jquery": true
},
"extends": [
"plugin:unicorn/recommended",
"xo",
"xo/browser"
],
"rules": {
"capitalized-comments": "off",
"indent": [
"error",
2,
{
"MemberExpression": "off",
"SwitchCase": 1
}
],
"multiline-ternary": [
"error",
"always-multiline"
],
"object-curly-spacing": [
"error",
"always"
],
"semi": [
"error",
"never"
],
"strict": "error",
"unicorn/no-array-for-each": "off",
"unicorn/no-for-loop": "off",
"unicorn/no-null": "off",
"unicorn/prefer-dataset": "off",
"unicorn/prefer-includes": "off",
"unicorn/prefer-node-append": "off",
"unicorn/prefer-query-selector": "off",
"unicorn/prefer-spread": "off",
"unicorn/prevent-abbreviations": "off"
}
}

2962
account/dist/js/adminlte.js vendored Normal file

File diff suppressed because it is too large Load Diff

1
account/dist/js/adminlte.js.map vendored Normal file

File diff suppressed because one or more lines are too long

7
account/dist/js/adminlte.min.js vendored Normal file

File diff suppressed because one or more lines are too long

1
account/dist/js/adminlte.min.js.map vendored Normal file

File diff suppressed because one or more lines are too long

686
account/dist/js/demo.js vendored Normal file
View File

@@ -0,0 +1,686 @@
/**
* AdminLTE Demo Menu
* ------------------
* You should not use this file in production.
* This file is for demo purposes only.
*/
/* eslint-disable camelcase */
(function ($) {
'use strict'
function capitalizeFirstLetter(string) {
return string.charAt(0).toUpperCase() + string.slice(1)
}
function createSkinBlock(colors, callback, noneSelected) {
var $block = $('<select />', {
class: noneSelected ? 'custom-select mb-3 border-0' : 'custom-select mb-3 text-light border-0 ' + colors[0].replace(/accent-|navbar-/, 'bg-')
})
if (noneSelected) {
var $default = $('<option />', {
text: 'None Selected'
})
if (callback) {
$default.on('click', callback)
}
$block.append($default)
}
colors.forEach(function (color) {
var $color = $('<option />', {
class: (typeof color === 'object' ? color.join(' ') : color).replace('navbar-', 'bg-').replace('accent-', 'bg-'),
text: capitalizeFirstLetter((typeof color === 'object' ? color.join(' ') : color).replace(/navbar-|accent-|bg-/, '').replace('-', ' '))
})
$block.append($color)
$color.data('color', color)
if (callback) {
$color.on('click', callback)
}
})
return $block
}
var $sidebar = $('.control-sidebar')
var $container = $('<div />', {
class: 'p-3 control-sidebar-content'
})
$sidebar.append($container)
// Checkboxes
$container.append(
'<h5>Customize AdminLTE</h5><hr class="mb-2"/>'
)
var $dark_mode_checkbox = $('<input />', {
type: 'checkbox',
value: 1,
checked: $('body').hasClass('dark-mode'),
class: 'mr-1'
}).on('click', function () {
if ($(this).is(':checked')) {
$('body').addClass('dark-mode')
} else {
$('body').removeClass('dark-mode')
}
})
var $dark_mode_container = $('<div />', { class: 'mb-4' }).append($dark_mode_checkbox).append('<span>Dark Mode</span>')
$container.append($dark_mode_container)
$container.append('<h6>Header Options</h6>')
var $header_fixed_checkbox = $('<input />', {
type: 'checkbox',
value: 1,
checked: $('body').hasClass('layout-navbar-fixed'),
class: 'mr-1'
}).on('click', function () {
if ($(this).is(':checked')) {
$('body').addClass('layout-navbar-fixed')
} else {
$('body').removeClass('layout-navbar-fixed')
}
})
var $header_fixed_container = $('<div />', { class: 'mb-1' }).append($header_fixed_checkbox).append('<span>Fixed</span>')
$container.append($header_fixed_container)
var $dropdown_legacy_offset_checkbox = $('<input />', {
type: 'checkbox',
value: 1,
checked: $('.main-header').hasClass('dropdown-legacy'),
class: 'mr-1'
}).on('click', function () {
if ($(this).is(':checked')) {
$('.main-header').addClass('dropdown-legacy')
} else {
$('.main-header').removeClass('dropdown-legacy')
}
})
var $dropdown_legacy_offset_container = $('<div />', { class: 'mb-1' }).append($dropdown_legacy_offset_checkbox).append('<span>Dropdown Legacy Offset</span>')
$container.append($dropdown_legacy_offset_container)
var $no_border_checkbox = $('<input />', {
type: 'checkbox',
value: 1,
checked: $('.main-header').hasClass('border-bottom-0'),
class: 'mr-1'
}).on('click', function () {
if ($(this).is(':checked')) {
$('.main-header').addClass('border-bottom-0')
} else {
$('.main-header').removeClass('border-bottom-0')
}
})
var $no_border_container = $('<div />', { class: 'mb-4' }).append($no_border_checkbox).append('<span>No border</span>')
$container.append($no_border_container)
$container.append('<h6>Sidebar Options</h6>')
var $sidebar_collapsed_checkbox = $('<input />', {
type: 'checkbox',
value: 1,
checked: $('body').hasClass('sidebar-collapse'),
class: 'mr-1'
}).on('click', function () {
if ($(this).is(':checked')) {
$('body').addClass('sidebar-collapse')
$(window).trigger('resize')
} else {
$('body').removeClass('sidebar-collapse')
$(window).trigger('resize')
}
})
var $sidebar_collapsed_container = $('<div />', { class: 'mb-1' }).append($sidebar_collapsed_checkbox).append('<span>Collapsed</span>')
$container.append($sidebar_collapsed_container)
$(document).on('collapsed.lte.pushmenu', '[data-widget="pushmenu"]', function () {
$sidebar_collapsed_checkbox.prop('checked', true)
})
$(document).on('shown.lte.pushmenu', '[data-widget="pushmenu"]', function () {
$sidebar_collapsed_checkbox.prop('checked', false)
})
var $sidebar_fixed_checkbox = $('<input />', {
type: 'checkbox',
value: 1,
checked: $('body').hasClass('layout-fixed'),
class: 'mr-1'
}).on('click', function () {
if ($(this).is(':checked')) {
$('body').addClass('layout-fixed')
$(window).trigger('resize')
} else {
$('body').removeClass('layout-fixed')
$(window).trigger('resize')
}
})
var $sidebar_fixed_container = $('<div />', { class: 'mb-1' }).append($sidebar_fixed_checkbox).append('<span>Fixed</span>')
$container.append($sidebar_fixed_container)
var $sidebar_mini_checkbox = $('<input />', {
type: 'checkbox',
value: 1,
checked: $('body').hasClass('sidebar-mini'),
class: 'mr-1'
}).on('click', function () {
if ($(this).is(':checked')) {
$('body').addClass('sidebar-mini')
} else {
$('body').removeClass('sidebar-mini')
}
})
var $sidebar_mini_container = $('<div />', { class: 'mb-1' }).append($sidebar_mini_checkbox).append('<span>Sidebar Mini</span>')
$container.append($sidebar_mini_container)
var $sidebar_mini_md_checkbox = $('<input />', {
type: 'checkbox',
value: 1,
checked: $('body').hasClass('sidebar-mini-md'),
class: 'mr-1'
}).on('click', function () {
if ($(this).is(':checked')) {
$('body').addClass('sidebar-mini-md')
} else {
$('body').removeClass('sidebar-mini-md')
}
})
var $sidebar_mini_md_container = $('<div />', { class: 'mb-1' }).append($sidebar_mini_md_checkbox).append('<span>Sidebar Mini MD</span>')
$container.append($sidebar_mini_md_container)
var $sidebar_mini_xs_checkbox = $('<input />', {
type: 'checkbox',
value: 1,
checked: $('body').hasClass('sidebar-mini-xs'),
class: 'mr-1'
}).on('click', function () {
if ($(this).is(':checked')) {
$('body').addClass('sidebar-mini-xs')
} else {
$('body').removeClass('sidebar-mini-xs')
}
})
var $sidebar_mini_xs_container = $('<div />', { class: 'mb-1' }).append($sidebar_mini_xs_checkbox).append('<span>Sidebar Mini XS</span>')
$container.append($sidebar_mini_xs_container)
var $flat_sidebar_checkbox = $('<input />', {
type: 'checkbox',
value: 1,
checked: $('.nav-sidebar').hasClass('nav-flat'),
class: 'mr-1'
}).on('click', function () {
if ($(this).is(':checked')) {
$('.nav-sidebar').addClass('nav-flat')
} else {
$('.nav-sidebar').removeClass('nav-flat')
}
})
var $flat_sidebar_container = $('<div />', { class: 'mb-1' }).append($flat_sidebar_checkbox).append('<span>Nav Flat Style</span>')
$container.append($flat_sidebar_container)
var $legacy_sidebar_checkbox = $('<input />', {
type: 'checkbox',
value: 1,
checked: $('.nav-sidebar').hasClass('nav-legacy'),
class: 'mr-1'
}).on('click', function () {
if ($(this).is(':checked')) {
$('.nav-sidebar').addClass('nav-legacy')
} else {
$('.nav-sidebar').removeClass('nav-legacy')
}
})
var $legacy_sidebar_container = $('<div />', { class: 'mb-1' }).append($legacy_sidebar_checkbox).append('<span>Nav Legacy Style</span>')
$container.append($legacy_sidebar_container)
var $compact_sidebar_checkbox = $('<input />', {
type: 'checkbox',
value: 1,
checked: $('.nav-sidebar').hasClass('nav-compact'),
class: 'mr-1'
}).on('click', function () {
if ($(this).is(':checked')) {
$('.nav-sidebar').addClass('nav-compact')
} else {
$('.nav-sidebar').removeClass('nav-compact')
}
})
var $compact_sidebar_container = $('<div />', { class: 'mb-1' }).append($compact_sidebar_checkbox).append('<span>Nav Compact</span>')
$container.append($compact_sidebar_container)
var $child_indent_sidebar_checkbox = $('<input />', {
type: 'checkbox',
value: 1,
checked: $('.nav-sidebar').hasClass('nav-child-indent'),
class: 'mr-1'
}).on('click', function () {
if ($(this).is(':checked')) {
$('.nav-sidebar').addClass('nav-child-indent')
} else {
$('.nav-sidebar').removeClass('nav-child-indent')
}
})
var $child_indent_sidebar_container = $('<div />', { class: 'mb-1' }).append($child_indent_sidebar_checkbox).append('<span>Nav Child Indent</span>')
$container.append($child_indent_sidebar_container)
var $child_hide_sidebar_checkbox = $('<input />', {
type: 'checkbox',
value: 1,
checked: $('.nav-sidebar').hasClass('nav-collapse-hide-child'),
class: 'mr-1'
}).on('click', function () {
if ($(this).is(':checked')) {
$('.nav-sidebar').addClass('nav-collapse-hide-child')
} else {
$('.nav-sidebar').removeClass('nav-collapse-hide-child')
}
})
var $child_hide_sidebar_container = $('<div />', { class: 'mb-1' }).append($child_hide_sidebar_checkbox).append('<span>Nav Child Hide on Collapse</span>')
$container.append($child_hide_sidebar_container)
var $no_expand_sidebar_checkbox = $('<input />', {
type: 'checkbox',
value: 1,
checked: $('.main-sidebar').hasClass('sidebar-no-expand'),
class: 'mr-1'
}).on('click', function () {
if ($(this).is(':checked')) {
$('.main-sidebar').addClass('sidebar-no-expand')
} else {
$('.main-sidebar').removeClass('sidebar-no-expand')
}
})
var $no_expand_sidebar_container = $('<div />', { class: 'mb-4' }).append($no_expand_sidebar_checkbox).append('<span>Disable Hover/Focus Auto-Expand</span>')
$container.append($no_expand_sidebar_container)
$container.append('<h6>Footer Options</h6>')
var $footer_fixed_checkbox = $('<input />', {
type: 'checkbox',
value: 1,
checked: $('body').hasClass('layout-footer-fixed'),
class: 'mr-1'
}).on('click', function () {
if ($(this).is(':checked')) {
$('body').addClass('layout-footer-fixed')
} else {
$('body').removeClass('layout-footer-fixed')
}
})
var $footer_fixed_container = $('<div />', { class: 'mb-4' }).append($footer_fixed_checkbox).append('<span>Fixed</span>')
$container.append($footer_fixed_container)
$container.append('<h6>Small Text Options</h6>')
var $text_sm_body_checkbox = $('<input />', {
type: 'checkbox',
value: 1,
checked: $('body').hasClass('text-sm'),
class: 'mr-1'
}).on('click', function () {
if ($(this).is(':checked')) {
$('body').addClass('text-sm')
} else {
$('body').removeClass('text-sm')
}
})
var $text_sm_body_container = $('<div />', { class: 'mb-1' }).append($text_sm_body_checkbox).append('<span>Body</span>')
$container.append($text_sm_body_container)
var $text_sm_header_checkbox = $('<input />', {
type: 'checkbox',
value: 1,
checked: $('.main-header').hasClass('text-sm'),
class: 'mr-1'
}).on('click', function () {
if ($(this).is(':checked')) {
$('.main-header').addClass('text-sm')
} else {
$('.main-header').removeClass('text-sm')
}
})
var $text_sm_header_container = $('<div />', { class: 'mb-1' }).append($text_sm_header_checkbox).append('<span>Navbar</span>')
$container.append($text_sm_header_container)
var $text_sm_brand_checkbox = $('<input />', {
type: 'checkbox',
value: 1,
checked: $('.brand-link').hasClass('text-sm'),
class: 'mr-1'
}).on('click', function () {
if ($(this).is(':checked')) {
$('.brand-link').addClass('text-sm')
} else {
$('.brand-link').removeClass('text-sm')
}
})
var $text_sm_brand_container = $('<div />', { class: 'mb-1' }).append($text_sm_brand_checkbox).append('<span>Brand</span>')
$container.append($text_sm_brand_container)
var $text_sm_sidebar_checkbox = $('<input />', {
type: 'checkbox',
value: 1,
checked: $('.nav-sidebar').hasClass('text-sm'),
class: 'mr-1'
}).on('click', function () {
if ($(this).is(':checked')) {
$('.nav-sidebar').addClass('text-sm')
} else {
$('.nav-sidebar').removeClass('text-sm')
}
})
var $text_sm_sidebar_container = $('<div />', { class: 'mb-1' }).append($text_sm_sidebar_checkbox).append('<span>Sidebar Nav</span>')
$container.append($text_sm_sidebar_container)
var $text_sm_footer_checkbox = $('<input />', {
type: 'checkbox',
value: 1,
checked: $('.main-footer').hasClass('text-sm'),
class: 'mr-1'
}).on('click', function () {
if ($(this).is(':checked')) {
$('.main-footer').addClass('text-sm')
} else {
$('.main-footer').removeClass('text-sm')
}
})
var $text_sm_footer_container = $('<div />', { class: 'mb-4' }).append($text_sm_footer_checkbox).append('<span>Footer</span>')
$container.append($text_sm_footer_container)
// Color Arrays
var navbar_dark_skins = [
'navbar-primary',
'navbar-secondary',
'navbar-info',
'navbar-success',
'navbar-danger',
'navbar-indigo',
'navbar-purple',
'navbar-pink',
'navbar-navy',
'navbar-lightblue',
'navbar-teal',
'navbar-cyan',
'navbar-dark',
'navbar-gray-dark',
'navbar-gray'
]
var navbar_light_skins = [
'navbar-light',
'navbar-warning',
'navbar-white',
'navbar-orange'
]
var sidebar_colors = [
'bg-primary',
'bg-warning',
'bg-info',
'bg-danger',
'bg-success',
'bg-indigo',
'bg-lightblue',
'bg-navy',
'bg-purple',
'bg-fuchsia',
'bg-pink',
'bg-maroon',
'bg-orange',
'bg-lime',
'bg-teal',
'bg-olive'
]
var accent_colors = [
'accent-primary',
'accent-warning',
'accent-info',
'accent-danger',
'accent-success',
'accent-indigo',
'accent-lightblue',
'accent-navy',
'accent-purple',
'accent-fuchsia',
'accent-pink',
'accent-maroon',
'accent-orange',
'accent-lime',
'accent-teal',
'accent-olive'
]
var sidebar_skins = [
'sidebar-dark-primary',
'sidebar-dark-warning',
'sidebar-dark-info',
'sidebar-dark-danger',
'sidebar-dark-success',
'sidebar-dark-indigo',
'sidebar-dark-lightblue',
'sidebar-dark-navy',
'sidebar-dark-purple',
'sidebar-dark-fuchsia',
'sidebar-dark-pink',
'sidebar-dark-maroon',
'sidebar-dark-orange',
'sidebar-dark-lime',
'sidebar-dark-teal',
'sidebar-dark-olive',
'sidebar-light-primary',
'sidebar-light-warning',
'sidebar-light-info',
'sidebar-light-danger',
'sidebar-light-success',
'sidebar-light-indigo',
'sidebar-light-lightblue',
'sidebar-light-navy',
'sidebar-light-purple',
'sidebar-light-fuchsia',
'sidebar-light-pink',
'sidebar-light-maroon',
'sidebar-light-orange',
'sidebar-light-lime',
'sidebar-light-teal',
'sidebar-light-olive'
]
// Navbar Variants
$container.append('<h6>Navbar Variants</h6>')
var $navbar_variants = $('<div />', {
class: 'd-flex'
})
var navbar_all_colors = navbar_dark_skins.concat(navbar_light_skins)
var $navbar_variants_colors = createSkinBlock(navbar_all_colors, function () {
var color = $(this).data('color')
var $main_header = $('.main-header')
$main_header.removeClass('navbar-dark').removeClass('navbar-light')
navbar_all_colors.forEach(function (color) {
$main_header.removeClass(color)
})
$(this).parent().removeClass().addClass('custom-select mb-3 text-light border-0 ')
if (navbar_dark_skins.indexOf(color) > -1) {
$main_header.addClass('navbar-dark')
$(this).parent().addClass(color).addClass('text-light')
} else {
$main_header.addClass('navbar-light')
$(this).parent().addClass(color)
}
$main_header.addClass(color)
})
var active_navbar_color = null
$('.main-header')[0].classList.forEach(function (className) {
if (navbar_all_colors.indexOf(className) > -1 && active_navbar_color === null) {
active_navbar_color = className.replace('navbar-', 'bg-')
}
})
$navbar_variants_colors.find('option.' + active_navbar_color).prop('selected', true)
$navbar_variants_colors.removeClass().addClass('custom-select mb-3 text-light border-0 ').addClass(active_navbar_color)
$navbar_variants.append($navbar_variants_colors)
$container.append($navbar_variants)
// Sidebar Colors
$container.append('<h6>Accent Color Variants</h6>')
var $accent_variants = $('<div />', {
class: 'd-flex'
})
$container.append($accent_variants)
$container.append(createSkinBlock(accent_colors, function () {
var color = $(this).data('color')
var accent_class = color
var $body = $('body')
accent_colors.forEach(function (skin) {
$body.removeClass(skin)
})
$body.addClass(accent_class)
}, true))
var active_accent_color = null
$('body')[0].classList.forEach(function (className) {
if (accent_colors.indexOf(className) > -1 && active_accent_color === null) {
active_accent_color = className.replace('navbar-', 'bg-')
}
})
// $accent_variants.find('option.' + active_accent_color).prop('selected', true)
// $accent_variants.removeClass().addClass('custom-select mb-3 text-light border-0 ').addClass(active_accent_color)
$container.append('<h6>Dark Sidebar Variants</h6>')
var $sidebar_variants_dark = $('<div />', {
class: 'd-flex'
})
$container.append($sidebar_variants_dark)
var $sidebar_dark_variants = createSkinBlock(sidebar_colors, function () {
var color = $(this).data('color')
var sidebar_class = 'sidebar-dark-' + color.replace('bg-', '')
var $sidebar = $('.main-sidebar')
sidebar_skins.forEach(function (skin) {
$sidebar.removeClass(skin)
$sidebar_light_variants.removeClass(skin.replace('sidebar-dark-', 'bg-')).removeClass('text-light')
})
$(this).parent().removeClass().addClass('custom-select mb-3 text-light border-0').addClass(color)
$sidebar_light_variants.find('option').prop('selected', false)
$sidebar.addClass(sidebar_class)
$('.sidebar').removeClass('os-theme-dark').addClass('os-theme-light')
}, true)
$container.append($sidebar_dark_variants)
var active_sidebar_dark_color = null
$('.main-sidebar')[0].classList.forEach(function (className) {
var color = className.replace('sidebar-dark-', 'bg-')
if (sidebar_colors.indexOf(color) > -1 && active_sidebar_dark_color === null) {
active_sidebar_dark_color = color
}
})
$sidebar_dark_variants.find('option.' + active_sidebar_dark_color).prop('selected', true)
$sidebar_dark_variants.removeClass().addClass('custom-select mb-3 text-light border-0 ').addClass(active_sidebar_dark_color)
$container.append('<h6>Light Sidebar Variants</h6>')
var $sidebar_variants_light = $('<div />', {
class: 'd-flex'
})
$container.append($sidebar_variants_light)
var $sidebar_light_variants = createSkinBlock(sidebar_colors, function () {
var color = $(this).data('color')
var sidebar_class = 'sidebar-light-' + color.replace('bg-', '')
var $sidebar = $('.main-sidebar')
sidebar_skins.forEach(function (skin) {
$sidebar.removeClass(skin)
$sidebar_dark_variants.removeClass(skin.replace('sidebar-light-', 'bg-')).removeClass('text-light')
})
$(this).parent().removeClass().addClass('custom-select mb-3 text-light border-0').addClass(color)
$sidebar_dark_variants.find('option').prop('selected', false)
$sidebar.addClass(sidebar_class)
$('.sidebar').removeClass('os-theme-light').addClass('os-theme-dark')
}, true)
$container.append($sidebar_light_variants)
var active_sidebar_light_color = null
$('.main-sidebar')[0].classList.forEach(function (className) {
var color = className.replace('sidebar-light-', 'bg-')
if (sidebar_colors.indexOf(color) > -1 && active_sidebar_light_color === null) {
active_sidebar_light_color = color
}
})
if (active_sidebar_light_color !== null) {
$sidebar_light_variants.find('option.' + active_sidebar_light_color).prop('selected', true)
$sidebar_light_variants.removeClass().addClass('custom-select mb-3 text-light border-0 ').addClass(active_sidebar_light_color)
}
var logo_skins = navbar_all_colors
$container.append('<h6>Brand Logo Variants</h6>')
var $logo_variants = $('<div />', {
class: 'd-flex'
})
$container.append($logo_variants)
var $clear_btn = $('<a />', {
href: '#'
}).text('clear').on('click', function (e) {
e.preventDefault()
var $logo = $('.brand-link')
logo_skins.forEach(function (skin) {
$logo.removeClass(skin)
})
})
var $brand_variants = createSkinBlock(logo_skins, function () {
var color = $(this).data('color')
var $logo = $('.brand-link')
if (color === 'navbar-light' || color === 'navbar-white') {
$logo.addClass('text-black')
} else {
$logo.removeClass('text-black')
}
logo_skins.forEach(function (skin) {
$logo.removeClass(skin)
})
if (color) {
$(this).parent().removeClass().addClass('custom-select mb-3 border-0').addClass(color).addClass(color !== 'navbar-light' && color !== 'navbar-white' ? 'text-light' : '')
} else {
$(this).parent().removeClass().addClass('custom-select mb-3 border-0')
}
$logo.addClass(color)
}, true).append($clear_btn)
$container.append($brand_variants)
var active_brand_color = null
$('.brand-link')[0].classList.forEach(function (className) {
if (logo_skins.indexOf(className) > -1 && active_brand_color === null) {
active_brand_color = className.replace('navbar-', 'bg-')
}
})
if (active_brand_color) {
$brand_variants.find('option.' + active_brand_color).prop('selected', true)
$brand_variants.removeClass().addClass('custom-select mb-3 text-light border-0 ').addClass(active_brand_color)
}
})(jQuery)

View File

@@ -0,0 +1,874 @@
/*
* @fileOverview NepaliDatePicker - jQuery Plugin
* @version 2.0.1
*
* @author Sanish Maharjan https://github.com/sanishmaharjan
* @see https://github.com/sanishmaharjan/
*/
var calendarFunctions = {};
(function ($) {
var calendarData = {
bsMonths: ["बैशाख", "जेठ", "असार", "सावन", "भदौ", "असोज", "कार्तिक", "मंसिर", "पौष", "माघ", "फागुन", "चैत"],
bsDays: ["आईत", "सोम", "मंगल", "बुध", "बिही", "शुक्र", "शनि"],
nepaliNumbers: ["", "१", "२", "३", "४", "५", "६", "७", "८", "९"],
bsMonthUpperDays: [
[30, 31],
[31, 32],
[31, 32],
[31, 32],
[31, 32],
[30, 31],
[29, 30],
[29, 30],
[29, 30],
[29, 30],
[29, 30],
[30, 31]
],
extractedBsMonthData: [
[0, 1, 1, 22, 1, 3, 1, 1, 1, 3, 1, 22, 1, 3, 1, 3, 1, 22, 1, 3, 1, 19, 1, 3, 1, 1, 3, 1, 2, 2, 1, 3, 1],
[1, 2, 2, 2, 2, 2, 2, 1, 3, 1, 3, 1, 2, 2, 2, 3, 2, 2, 2, 1, 3, 1, 3, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 3, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 3, 1, 2, 2, 2, 2, 2, 1, 1, 1, 2, 2, 2, 2, 2, 1, 3, 1, 1, 2],
[0, 1, 2, 1, 3, 1, 3, 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 3, 1, 3, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 3, 1, 3, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 3, 1, 3, 1, 1, 1, 1, 2, 2, 2, 2, 2, 1, 3, 1, 1, 2],
[1, 2, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 2, 2, 2, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 2, 2, 2, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 2, 2, 1, 3, 1, 2, 2, 2, 1, 2],
[59, 1, 26, 1, 28, 1, 2, 1, 12],
[0, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 3, 1, 3, 1, 3, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 3, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 3, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 5, 1, 1, 2, 2, 1, 3, 1, 2, 1, 2],
[0, 12, 1, 3, 1, 3, 1, 5, 1, 11, 1, 3, 1, 3, 1, 18, 1, 3, 1, 3, 1, 18, 1, 3, 1, 3, 1, 27, 1, 2],
[1, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 2, 3, 1, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 15, 2, 4],
[0, 1, 2, 2, 2, 2, 1, 3, 1, 3, 1, 3, 1, 2, 2, 2, 3, 2, 2, 2, 1, 3, 1, 3, 1, 3, 1, 2, 2, 2, 2, 2, 2, 2, 1, 3, 1, 3, 1, 3, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 3, 1, 3, 1, 2, 2, 2, 15, 2, 4],
[1, 1, 3, 1, 3, 1, 14, 1, 3, 1, 1, 1, 3, 1, 14, 1, 3, 1, 3, 1, 3, 1, 18, 1, 3, 1, 3, 1, 3, 1, 14, 1, 3, 15, 1, 2, 1, 1],
[0, 1, 1, 3, 1, 3, 1, 10, 1, 3, 1, 3, 1, 1, 1, 3, 1, 3, 1, 10, 1, 3, 1, 3, 1, 3, 1, 3, 1, 14, 1, 3, 1, 3, 1, 3, 1, 3, 1, 10, 1, 20, 1, 1, 1],
[1, 2, 2, 1, 3, 1, 3, 1, 3, 1, 2, 2, 2, 2, 2, 3, 2, 2, 2, 2, 2, 1, 3, 1, 3, 1, 3, 1, 2, 2, 2, 2, 2, 2, 2, 1, 3, 1, 3, 1, 3, 1, 3, 1, 2, 2, 2, 2, 2, 2, 2, 1, 3, 1, 3, 1, 20, 3]
],
minBsYear: 1970,
maxBsYear: 2100,
minAdDateEqBsDate: {
"ad": {
"year": 1913, "month": 3, "date": 13
},
"bs": {
"year": 1970, "month": 1, "date": 1
}
}
};
var validationFunctions = {
validateRequiredParameters: function (requiredParameters) {
$.each(requiredParameters, function (key, value) {
if (typeof value === "undefined" || value === null) {
throw new ReferenceError("Missing required parameters: " + Object.keys(requiredParameters).join(", "));
}
});
},
validateBsYear: function (bsYear) {
if (typeof bsYear !== "number" || bsYear === null) {
throw new TypeError("Invalid parameter bsYear value");
} else if (bsYear < calendarData.minBsYear || bsYear > calendarData.maxBsYear) {
throw new RangeError("Parameter bsYear value should be in range of " + calendarData.minBsYear + " to " + calendarData.maxBsYear);
}
},
validateAdYear: function (adYear) {
if (typeof adYear !== "number" || adYear === null) {
throw new TypeError("Invalid parameter adYear value");
} else if (adYear < calendarData.minBsYear - 57 || adYear > calendarData.maxBsYear - 57) {
throw new RangeError("Parameter adYear value should be in range of " + (calendarData.minBsYear - 57) + " to " + (calendarData.maxBsYear - 57));
}
},
validateBsMonth: function (bsMonth) {
if (typeof bsMonth !== "number" || bsMonth === null) {
throw new TypeError("Invalid parameter bsMonth value");
} else if (bsMonth < 1 || bsMonth > 12) {
throw new RangeError("Parameter bsMonth value should be in range of 1 to 12");
}
},
validateAdMonth: function (adMonth) {
if (typeof adMonth !== "number" || adMonth === null) {
throw new TypeError("Invalid parameter adMonth value");
} else if (adMonth < 1 || adMonth > 12) {
throw new RangeError("Parameter adMonth value should be in range of 1 to 12");
}
},
validateBsDate: function (bsDate) {
if (typeof bsDate !== "number" || bsDate === null) {
throw new TypeError("Invalid parameter bsDate value");
} else if (bsDate < 1 || bsDate > 32) {
throw new RangeError("Parameter bsDate value should be in range of 1 to 32");
}
},
validateAdDate: function (adDate) {
if (typeof adDate !== "number" || adDate === null) {
throw new TypeError("Invalid parameter adDate value");
} else if (adDate < 1 || adDate > 31) {
throw new RangeError("Parameter adDate value should be in range of 1 to 31");
}
},
validatePositiveNumber: function (numberParameters) {
$.each(numberParameters, function (key, value) {
if (typeof value !== "number" || value === null || value < 0) {
throw new ReferenceError("Invalid parameters: " + Object.keys(numberParameters).join(", "));
} else if (key === "yearDiff" && value > (calendarData.maxBsYear - calendarData.minBsYear + 1)) {
throw new RangeError("Parameter yearDiff value should be in range of 0 to " + (calendarData.maxBsYear - calendarData.minBsYear + 1));
}
});
}
};
$.extend(calendarFunctions, {
/**
* Return equivalent number in nepaliNumber
* @param {Number} number
* @returns {String} nepaliNumber
*/
getNepaliNumber: function (number) {
if (typeof number === "undefined") {
throw new Error("Parameter number is required");
} else if (typeof number != "number" || number < 0) {
throw new Error("Number should be positive integer");
}
var prefixNum = Math.floor(number / 10);
var suffixNum = number % 10;
if (prefixNum !== 0) {
return calendarFunctions.getNepaliNumber(prefixNum) + calendarData.nepaliNumbers[suffixNum];
} else {
return calendarData.nepaliNumbers[suffixNum];
}
},
/**
* Return equivalent number from nepaliNumber
* @param {String} nepaliNumber
* @returns {Number} number
*/
getNumberByNepaliNumber: function (nepaliNumber) {
if (typeof nepaliNumber === "undefined") {
throw new Error("Parameter nepaliNumber is required");
} else if (typeof nepaliNumber !== "string") {
throw new Error("Parameter nepaliNumber should be in string");
}
var number = 0;
for (var i = 0; i < nepaliNumber.length; i++) {
var numIndex = calendarData.nepaliNumbers.indexOf(nepaliNumber.charAt(i));
if (numIndex === -1) {
throw new Error("Invalid nepali number");
}
number = number * 10 + numIndex;
}
return number;
},
getBsMonthInfoByBsDate: function (bsYear, bsMonth, bsDate, dateFormatPattern) {
validationFunctions.validateRequiredParameters({"bsYear": bsYear, "bsMonth": bsMonth, "bsDate": bsDate});
validationFunctions.validateBsYear(bsYear);
validationFunctions.validateBsMonth(bsMonth);
validationFunctions.validateBsDate(bsDate);
if (dateFormatPattern === null) {
dateFormatPattern = "%D, %M %d, %y";
} else if (typeof dateFormatPattern != "string") {
throw new TypeError("Invalid parameter dateFormatPattern value");
}
var daysNumFromMinBsYear = calendarFunctions.getTotalDaysNumFromMinBsYear(bsYear, bsMonth, bsDate);
var adDate = new Date(calendarData.minAdDateEqBsDate.ad.year, calendarData.minAdDateEqBsDate.ad.month, calendarData.minAdDateEqBsDate.ad.date - 1);
adDate.setDate(adDate.getDate() + daysNumFromMinBsYear);
var bsMonthFirstAdDate = calendarFunctions.getAdDateByBsDate(bsYear, bsMonth, 1);
var bsMonthDays = calendarFunctions.getBsMonthDays(bsYear, bsMonth);
bsDate = (bsDate > bsMonthDays) ? bsMonthDays : bsDate;
var eqAdDate = calendarFunctions.getAdDateByBsDate(bsYear, bsMonth, bsDate);
var weekDay = eqAdDate.getDay() + 1;
var formattedDate = calendarFunctions.bsDateFormat(dateFormatPattern, bsYear, bsMonth, bsDate);
return {
bsYear: bsYear,
bsMonth: bsMonth,
bsDate: bsDate,
weekDay: weekDay,
formattedDate: formattedDate,
adDate: eqAdDate,
bsMonthFirstAdDate: bsMonthFirstAdDate,
bsMonthDays: bsMonthDays
};
},
getAdDateByBsDate: function (bsYear, bsMonth, bsDate) {
validationFunctions.validateRequiredParameters({"bsYear": bsYear, "bsMonth": bsMonth, "bsDate": bsDate});
validationFunctions.validateBsYear(bsYear);
validationFunctions.validateBsMonth(bsMonth);
validationFunctions.validateBsDate(bsDate);
var daysNumFromMinBsYear = calendarFunctions.getTotalDaysNumFromMinBsYear(bsYear, bsMonth, bsDate);
var adDate = new Date(calendarData.minAdDateEqBsDate.ad.year, calendarData.minAdDateEqBsDate.ad.month, calendarData.minAdDateEqBsDate.ad.date - 1);
adDate.setDate(adDate.getDate() + daysNumFromMinBsYear);
return adDate;
},
getTotalDaysNumFromMinBsYear: function (bsYear, bsMonth, bsDate) {
validationFunctions.validateRequiredParameters({"bsYear": bsYear, "bsMonth": bsMonth, "bsDate": bsDate});
validationFunctions.validateBsYear(bsYear);
validationFunctions.validateBsMonth(bsMonth);
validationFunctions.validateBsDate(bsDate);
if (bsYear < calendarData.minBsYear || bsYear > calendarData.maxBsYear) {
return null;
}
var daysNumFromMinBsYear = 0;
var diffYears = bsYear - calendarData.minBsYear;
for (var month = 1; month <= 12; month++) {
if (month < bsMonth) {
daysNumFromMinBsYear += calendarFunctions.getMonthDaysNumFormMinBsYear(month, diffYears + 1);
} else {
daysNumFromMinBsYear += calendarFunctions.getMonthDaysNumFormMinBsYear(month, diffYears);
}
}
if (bsYear > 2085 && bsYear < 2088) {
daysNumFromMinBsYear += bsDate - 2;
} else if (bsYear === 2085 && bsMonth > 5) {
daysNumFromMinBsYear += bsDate - 2;
} else if (bsYear > 2088) {
daysNumFromMinBsYear += bsDate - 4;
} else if (bsYear === 2088 && bsMonth > 5) {
daysNumFromMinBsYear += bsDate - 4;
} else {
daysNumFromMinBsYear += bsDate;
}
return daysNumFromMinBsYear;
},
/**
* Return total number of bsMonth days from minYear
* @param {int} bsMonth
* @param {int} yearDiff
* @returns {int}
*/
getMonthDaysNumFormMinBsYear: function (bsMonth, yearDiff) {
validationFunctions.validateRequiredParameters({"bsMonth": bsMonth, "yearDiff": yearDiff});
validationFunctions.validateBsMonth(bsMonth);
validationFunctions.validatePositiveNumber({"yearDiff": yearDiff});
var yearCount = 0;
var monthDaysFromMinBsYear = 0;
if (yearDiff === 0) {
return 0;
}
var bsMonthData = calendarData.extractedBsMonthData[bsMonth - 1];
for (var i = 0; i < bsMonthData.length; i++) {
if (bsMonthData[i] === 0) {
continue;
}
var bsMonthUpperDaysIndex = i % 2;
if (yearDiff > yearCount + bsMonthData[i]) {
yearCount += bsMonthData[i];
monthDaysFromMinBsYear += calendarData.bsMonthUpperDays[bsMonth - 1][bsMonthUpperDaysIndex] * bsMonthData[i];
} else {
monthDaysFromMinBsYear += calendarData.bsMonthUpperDays[bsMonth - 1][bsMonthUpperDaysIndex] * (yearDiff - yearCount);
yearCount = yearDiff - yearCount;
break;
}
}
return monthDaysFromMinBsYear;
},
/**
* Return number of bsMonth days
* @param {int} bsYear
* @param {int} bsMonth
* @returns {int} days
*/
getBsMonthDays: function (bsYear, bsMonth) {
validationFunctions.validateRequiredParameters({"bsYear": bsYear, "bsMonth": bsMonth});
validationFunctions.validateBsYear(bsYear);
validationFunctions.validateBsMonth(bsMonth);
var yearCount = 0;
var totalYears = (bsYear + 1) - calendarData.minBsYear;
var bsMonthData = calendarData.extractedBsMonthData[bsMonth - 1];
for (var i = 0; i < bsMonthData.length; i++) {
if (bsMonthData[i] === 0) {
continue;
}
var bsMonthUpperDaysIndex = i % 2;
yearCount += bsMonthData[i];
if (totalYears <= yearCount) {
if ((bsYear === 2085 && bsMonth === 5) || (bsYear === 2088 && bsMonth === 5)) {
return calendarData.bsMonthUpperDays[bsMonth - 1][bsMonthUpperDaysIndex] - 2;
} else {
return calendarData.bsMonthUpperDays[bsMonth - 1][bsMonthUpperDaysIndex];
}
}
}
return null;
},
getBsDateByAdDate: function (adYear, adMonth, adDate) {
validationFunctions.validateRequiredParameters({"adYear": adYear, "adMonth": adMonth, "adDate": adDate});
validationFunctions.validateAdYear(adYear);
validationFunctions.validateAdMonth(adMonth);
validationFunctions.validateAdDate(adDate);
var bsYear = adYear + 57;
var bsMonth = (adMonth + 9 ) % 12;
bsMonth = bsMonth === 0 ? 12 : bsMonth;
var bsDate = 1;
if (adMonth < 4) {
bsYear -= 1;
} else if (adMonth === 4) {
var bsYearFirstAdDate = calendarFunctions.getAdDateByBsDate(bsYear, 1, 1);
if (adDate < bsYearFirstAdDate.getDate()) {
bsYear -= 1;
}
}
var bsMonthFirstAdDate = calendarFunctions.getAdDateByBsDate(bsYear, bsMonth, 1);
if (adDate >= 1 && adDate < bsMonthFirstAdDate.getDate()) {
bsMonth = (bsMonth !== 1) ? bsMonth - 1 : 12;
var bsMonthDays = calendarFunctions.getBsMonthDays(bsYear, bsMonth);
bsDate = bsMonthDays - (bsMonthFirstAdDate.getDate() - adDate) + 1;
} else {
bsDate = adDate - bsMonthFirstAdDate.getDate() + 1;
}
return {
bsYear: bsYear,
bsMonth: bsMonth,
bsDate: bsDate
};
},
getBsYearByAdDate: function (adYear, adMonth, adDate) {
validationFunctions.validateRequiredParameters({"adYear": adYear, "adMonth": adMonth, "adDate": adDate});
validationFunctions.validateAdYear(adYear);
validationFunctions.validateAdMonth(adMonth);
validationFunctions.validateAdDate(adDate);
var bsDate = calendarFunctions.getBsDateByAdDate(adYear, adMonth, adDate);
return bsDate.bsYear;
},
getBsMonthByAdDate: function (adYear, adMonth, adDate) {
validationFunctions.validateRequiredParameters({"adYear": adYear, "adMonth": adMonth, "adDate": adDate});
validationFunctions.validateAdYear(adYear);
validationFunctions.validateAdMonth(adMonth);
validationFunctions.validateAdDate(adDate);
var bsDate = calendarFunctions.getBsDateByAdDate(adYear, adMonth, adDate);
return bsDate.bsMonth;
},
bsDateFormat: function (dateFormatPattern, bsYear, bsMonth, bsDate) {
validationFunctions.validateRequiredParameters({
"dateFormatPattern": dateFormatPattern,
"bsYear": bsYear,
"bsMonth": bsMonth,
"bsDate": bsDate
});
validationFunctions.validateBsYear(bsYear);
validationFunctions.validateBsMonth(bsMonth);
validationFunctions.validateBsDate(bsDate);
var eqAdDate = calendarFunctions.getAdDateByBsDate(bsYear, bsMonth, bsDate);
var weekDay = eqAdDate.getDay() + 1;
var formattedDate = dateFormatPattern;
formattedDate = formattedDate.replace(/%d/g, calendarFunctions.getNepaliNumber(bsDate));
formattedDate = formattedDate.replace(/%y/g, calendarFunctions.getNepaliNumber(bsYear));
formattedDate = formattedDate.replace(/%m/g, calendarFunctions.getNepaliNumber(bsMonth));
formattedDate = formattedDate.replace(/%M/g, calendarData.bsMonths[bsMonth - 1]);
formattedDate = formattedDate.replace(/%D/g, calendarData.bsDays[weekDay - 1]);
return formattedDate;
},
parseFormattedBsDate: function (dateFormat, dateFormattedText) {
validationFunctions.validateRequiredParameters({
"dateFormat": dateFormat,
"dateFormattedText": dateFormattedText
});
var diffTextNum = 0;
var extractedFormattedBsDate = {
"bsYear": null,
"bsMonth": null,
"bsDate": null,
"bsDay": null
};
for (var i = 0; i < dateFormat.length; i++) {
if (dateFormat.charAt(i) === '%') {
var valueOf = dateFormat.substring(i, i + 2);
var endChar = dateFormat.charAt(i + 2);
var tempText = dateFormattedText.substring(i + diffTextNum);
var endIndex = (endChar !== '') ? tempText.indexOf(endChar) : tempText.length;
var value = tempText.substring(0, endIndex);
if (valueOf === "%y") {
extractedFormattedBsDate.bsYear = calendarFunctions.getNumberByNepaliNumber(value);
diffTextNum += value.length - 2;
} else if (valueOf === "%d") {
extractedFormattedBsDate.bsDate = calendarFunctions.getNumberByNepaliNumber(value);
diffTextNum += value.length - 2;
} else if (valueOf === "%D") {
extractedFormattedBsDate.bsDay = calendarData.bsDays.indexOf(value) + 1;
diffTextNum += value.length - 2;
} else if (valueOf === "%m") {
extractedFormattedBsDate.bsMonth = calendarFunctions.getNumberByNepaliNumber(value);
diffTextNum += value.length - 2;
} else if (valueOf === "%M") {
extractedFormattedBsDate.bsMonth = calendarData.bsMonths.indexOf(value) + 1;
diffTextNum += value.length - 2;
}
}
}
if (!extractedFormattedBsDate.bsDay) {
var eqAdDate = calendarFunctions.getAdDateByBsDate(extractedFormattedBsDate.bsYear, extractedFormattedBsDate.bsMonth, extractedFormattedBsDate.bsDate);
extractedFormattedBsDate.bsDay = eqAdDate.getDay() + 1;
}
return extractedFormattedBsDate;
}
});
$.fn.nepaliDatePicker = function (options) {
var datePickerPlugin = {
options: $.extend({
dateFormat: "%D, %M %d, %y",
closeOnDateSelect: true,
defaultDate: "",
minDate: null,
maxDate: null,
yearStart: calendarData.minBsYear,
yearEnd: calendarData.maxBsYear
}, options),
init: function ($element) {
$element.prop("readonly", true);
var $nepaliDatePicker = $('<div class="nepali-date-picker">');
$('body').append($nepaliDatePicker);
if ($element.val() !== '') {
datePickerPlugin.renderFormattedSpecificDateCalendar($nepaliDatePicker, datePickerPlugin.options.dateFormat, $element.val());
} else {
datePickerPlugin.renderCurrentMonthCalendar($nepaliDatePicker);
}
datePickerPlugin.addEventHandler($element, $nepaliDatePicker);
datePickerPlugin.addCommonEventHandler($nepaliDatePicker);
},
addCommonEventHandler: function () {
var $datePickerWrapper = $(".nepali-date-picker");
$(document).click(function (event) {
var $targetElement = $(event.target);
if (!$targetElement.is($(".nepali-date-picker"))) {
$datePickerWrapper.hide();
$datePickerWrapper.find(".drop-down-content").hide();
}
});
},
addEventHandler: function ($element, $nepaliDatePicker) {
$element.click(function () {
if ($(".nepali-date-picker").is(":visible")) {
$(".nepali-date-picker").hide();
return;
}
var inputFieldPosition = $(this).offset();
$nepaliDatePicker.css({
"top": inputFieldPosition.top + $(this).outerHeight(true),
"left": inputFieldPosition.left
});
if ($element.val()) {
datePickerPlugin.renderFormattedSpecificDateCalendar($nepaliDatePicker, datePickerPlugin.options.dateFormat, $element.val());
}
$nepaliDatePicker.show();
datePickerPlugin.eventFire($element, $nepaliDatePicker, "show");
return false;
});
$nepaliDatePicker.on("click", ".next-btn", function (event) {
event.preventDefault();
var preCalendarData = {
"bsYear": $nepaliDatePicker.data().bsYear,
"bsMonth": $nepaliDatePicker.data().bsMonth,
"bsDate": $nepaliDatePicker.data().bsDate
};
datePickerPlugin.renderNextMonthCalendar($nepaliDatePicker);
datePickerPlugin.triggerChangeEvent($element, $nepaliDatePicker, preCalendarData);
$nepaliDatePicker.show();
return false;
});
$nepaliDatePicker.on("click", ".prev-btn", function (event) {
event.preventDefault();
var preCalendarData = {
"bsYear": $nepaliDatePicker.data().bsYear,
"bsMonth": $nepaliDatePicker.data().bsMonth,
"bsDate": $nepaliDatePicker.data().bsDate
};
datePickerPlugin.renderPreviousMonthCalendar($nepaliDatePicker);
var calendarData = $nepaliDatePicker.data();
datePickerPlugin.triggerChangeEvent($element, $nepaliDatePicker, preCalendarData);
$nepaliDatePicker.show();
return false;
});
$nepaliDatePicker.on("click", ".today-btn", function (event) {
event.preventDefault();
var preCalendarData = {
"bsYear": $nepaliDatePicker.data().bsYear,
"bsMonth": $nepaliDatePicker.data().bsMonth,
"bsDate": $nepaliDatePicker.data().bsDate
};
datePickerPlugin.renderCurrentMonthCalendar($nepaliDatePicker);
var calendarData = $nepaliDatePicker.data();
datePickerPlugin.triggerChangeEvent($element, $nepaliDatePicker, preCalendarData);
$nepaliDatePicker.show();
return false;
});
$nepaliDatePicker.on("click", ".current-year-txt, .current-month-txt", function () {
if (!$(this).find(".drop-down-content").is(":visible")) {
$nepaliDatePicker.find(".drop-down-content").hide();
$(this).find(".drop-down-content").show();
var $optionWrapper = $(this).find(".option-wrapper");
$optionWrapper.scrollTop(0);
var scrollTopTo = $optionWrapper.find(".active").position().top;
$optionWrapper.scrollTop(scrollTopTo);
} else {
$(this).find(".drop-down-content").hide();
}
return false;
});
$nepaliDatePicker.on("click", ".current-month-date", function () {
if ($(this).hasClass("disable")) {
return;
}
var datePickerData = $nepaliDatePicker.data();
var bsYear = datePickerData.bsYear;
var bsMonth = datePickerData.bsMonth;
var preDate = datePickerData.bsDate;
var bsDate = $(this).data("date");
var dateText = calendarFunctions.bsDateFormat(datePickerPlugin.options.dateFormat, bsYear, bsMonth, bsDate);
$element.val(dateText);
datePickerPlugin.setCalendarDate($nepaliDatePicker, bsYear, bsMonth, bsDate);
datePickerPlugin.renderMonthCalendar($nepaliDatePicker);
if (preDate !== bsDate)
datePickerPlugin.eventFire($element, $nepaliDatePicker, "dateChange");
datePickerPlugin.eventFire($element, $nepaliDatePicker, "dateSelect");
if (datePickerPlugin.options.closeOnDateSelect) {
$nepaliDatePicker.hide();
} else {
$nepaliDatePicker.show();
}
return false;
});
$nepaliDatePicker.on("click", ".drop-down-content li", function () {
var $dropDown = $(this).parents(".drop-down-content");
$dropDown.data("value", $(this).data("value"));
$dropDown.attr("data-value", $(this).data("value"));
var preCalendarData = {
"bsYear": $nepaliDatePicker.data().bsYear,
"bsMonth": $nepaliDatePicker.data().bsMonth,
"bsDate": $nepaliDatePicker.data().bsDate
};
var bsMonth = $nepaliDatePicker.find(".month-drop-down").data("value");
var bsYear = $nepaliDatePicker.find(".year-drop-down").data("value");
var bsDate = preCalendarData.bsDate;
datePickerPlugin.setCalendarDate($nepaliDatePicker, bsYear, bsMonth, bsDate);
datePickerPlugin.renderMonthCalendar($nepaliDatePicker);
var calendarData = $nepaliDatePicker.data();
datePickerPlugin.triggerChangeEvent($element, $nepaliDatePicker, preCalendarData);
$nepaliDatePicker.show();
return false;
});
},
triggerChangeEvent: function ($element, $nepaliDatePicker, preCalendarData) {
var calendarData = $nepaliDatePicker.data();
if (preCalendarData.bsYear !== calendarData.bsYear) {
datePickerPlugin.eventFire($element, $nepaliDatePicker, "yearChange");
}
if (preCalendarData.bsMonth !== calendarData.bsMonth) {
datePickerPlugin.eventFire($element, $nepaliDatePicker, "monthChange");
}
if (preCalendarData.bsDate !== calendarData.bsDate) {
datePickerPlugin.eventFire($element, $nepaliDatePicker, "dateChange");
}
},
eventFire: function ($element, $nepaliDatePicker, eventType) {
switch (eventType) {
case "generate":
$element.trigger({
type: eventType,
message: 'Nepali date picker initialize',
datePickerData: $nepaliDatePicker.data(),
time: new Date()
});
break;
case "show":
$element.trigger({
type: eventType,
message: 'Show nepali date picker',
datePickerData: $nepaliDatePicker.data(),
time: new Date()
});
break;
case "close":
$element.trigger({
type: eventType,
message: 'close nepali date picker',
datePickerData: $nepaliDatePicker.data(),
time: new Date()
});
break;
case "dateSelect" :
$element.trigger({
type: eventType,
message: 'Select date',
datePickerData: $nepaliDatePicker.data(),
time: new Date()
});
break;
case "dateChange" :
$element.trigger({
type: eventType,
message: 'Change date',
datePickerData: $nepaliDatePicker.data(),
time: new Date()
});
break;
case "monthChange" :
$element.trigger({
type: eventType,
message: 'Change month',
datePickerData: $nepaliDatePicker.data(),
time: new Date()
});
break;
case "yearChange":
$element.trigger({
type: eventType,
message: 'Change year',
datePickerData: $nepaliDatePicker.data(),
time: new Date()
});
break;
default :
break;
}
},
setCalendarDate: function ($nepaliDatePicker, bsYear, bsMonth, BsDate) {
$nepaliDatePicker.data(calendarFunctions.getBsMonthInfoByBsDate(bsYear, bsMonth, BsDate, datePickerPlugin.options.dateFormat));
},
renderMonthCalendar: function ($nepaliDatePicker) {
$nepaliDatePicker.find(".calendar-wrapper").remove();
$nepaliDatePicker.append(datePickerPlugin.getCalendar($nepaliDatePicker)).hide();
},
getCalendar: function ($nepaliDatePicker) {
var calendarWrapper = $('<div class="calendar-wrapper">');
calendarWrapper.append(datePickerPlugin.getCalendarController($nepaliDatePicker));
var calendarTable = $("<table>");
calendarTable.append(datePickerPlugin.getCalendarHeader());
calendarTable.append(datePickerPlugin.getCalendarBody($nepaliDatePicker));
calendarWrapper.append(calendarTable);
return calendarWrapper;
},
getCalendarController: function ($nepaliDatePicker) {
var calendarController = $("<div class='calendar-controller'>");
calendarController.append('<a href="javascript:void(0);" class="prev-btn icon" title="prev"></a>');
calendarController.append('<a href="javascript:void(0);" class="today-btn icon" title=""></a>');
calendarController.append(datePickerPlugin.getMonthDropOption($nepaliDatePicker));
calendarController.append(datePickerPlugin.getYearDropOption($nepaliDatePicker));
calendarController.append('<a href="javascript:void(0);" class="next-btn icon" title="next"></a>');
return calendarController;
},
getMonthDropOption: function ($nepaliDatePicker) {
var datePickerData = $nepaliDatePicker.data();
var $monthSpan = $('<div class="current-month-txt">');
$monthSpan.text(calendarData.bsMonths[datePickerData.bsMonth - 1]);
$monthSpan.append('<i class="icon icon-drop-down">');
var data = [];
for (var i = 0; i < 12; i++) {
data.push({
"label": calendarData.bsMonths[i],
"value": i + 1
});
}
var $monthDropOption = datePickerPlugin.getCustomSelectOption(data, datePickerData.bsMonth).addClass("month-drop-down");
$monthSpan.append($monthDropOption);
return $monthSpan;
},
getYearDropOption: function ($nepaliDatePicker) {
var datePickerData = $nepaliDatePicker.data();
var $yearSpan = $('<div class="current-year-txt">');
$yearSpan.text(calendarFunctions.getNepaliNumber(datePickerData.bsYear));
$yearSpan.append('<i class="icon icon-drop-down">');
var data = [];
for (var i = datePickerPlugin.options.yearStart; i <= datePickerPlugin.options.yearEnd; i++) {
data.push({
"label": calendarFunctions.getNepaliNumber(i),
"value": i
});
}
var $yearDropOption = datePickerPlugin.getCustomSelectOption(data, datePickerData.bsYear).addClass("year-drop-down");
$yearSpan.append($yearDropOption);
return $yearSpan;
},
getCustomSelectOption: function (datas, activeValue) {
var $dropDown = $('<div class="drop-down-content" data-value="' + activeValue + '">');
var $dropDownWrapper = $('<div class="option-wrapper">');
var $ul = $('<ul>');
$.each(datas, function (index, data) {
$ul.append('<li data-value="' + data.value + '">' + data.label + '</li>');
});
$dropDownWrapper.append($ul);
$ul.find('li[data-value="' + activeValue + '"]').addClass("active");
$dropDown.append($dropDownWrapper);
return $dropDown;
},
getCalendarHeader: function () {
var calendarHeader = $("<thead>");
var tableRow = $("<tr>");
for (var i = 0; i < 7; i++) {
tableRow.append("<td>" + calendarData.bsDays[i] + "</td>");
}
calendarHeader.append(tableRow);
return calendarHeader;
},
getCalendarBody: function ($nepaliDatePicker) {
var datePickerData = $nepaliDatePicker.data();
var weekCoverInMonth = Math.ceil((datePickerData.bsMonthFirstAdDate.getDay() + datePickerData.bsMonthDays) / 7);
var preMonth = (datePickerData.bsMonth - 1 !== 0) ? datePickerData.bsMonth - 1 : 12;
var preYear = preMonth === 12 ? datePickerData.bsYear - 1 : datePickerData.bsYear;
var preMonthDays = preYear >= calendarData.minBsYear ? calendarFunctions.getBsMonthDays(preYear, preMonth) : 30;
var minBsDate = null;
var maxBsDate = null;
if (datePickerPlugin.options.minDate !== null) {
minBsDate = calendarFunctions.parseFormattedBsDate(datePickerPlugin.options.dateFormat, datePickerPlugin.options.minDate);
}
if (datePickerPlugin.options.maxDate !== null) {
maxBsDate = calendarFunctions.parseFormattedBsDate(datePickerPlugin.options.dateFormat, datePickerPlugin.options.maxDate);
}
var calendarBody = $("<tbody>");
for (var i = 0; i < weekCoverInMonth; i++) {
var tableRow = $("<tr>");
for (var k = 1; k <= 7; k++) {
var calendarDate = (i * 7 ) + k - datePickerData.bsMonthFirstAdDate.getDay();
var isCurrentMonthDate = true;
if (calendarDate <= 0) {
calendarDate = preMonthDays + calendarDate;
isCurrentMonthDate = false;
} else if (calendarDate > datePickerData.bsMonthDays) {
calendarDate = calendarDate - datePickerData.bsMonthDays;
isCurrentMonthDate = false;
}
if (isCurrentMonthDate) {
var $td = $('<td class="current-month-date" data-date="' + calendarDate + '" data-weekDay="' + (k - 1) + '">' +
calendarFunctions.getNepaliNumber(calendarDate) + '</td>');
if (calendarDate == datePickerData.bsDate) {
$td.addClass("active");
}
datePickerPlugin.disableIfOutOfRange($td, datePickerData, minBsDate, maxBsDate, calendarDate);
tableRow.append($td);
} else {
tableRow.append('<td class="other-month-date">' + calendarFunctions.getNepaliNumber(calendarDate) + '</td>');
}
}
calendarBody.append(tableRow);
}
return calendarBody;
},
disableIfOutOfRange: function ($td, datePickerData, minBsDate, maxBsDate, calendarDate) {
if (minBsDate !== null) {
if (datePickerData.bsYear < minBsDate.bsYear) {
$td.addClass("disable");
} else if (datePickerData.bsYear === minBsDate.bsYear && datePickerData.bsMonth < minBsDate.bsMonth) {
$td.addClass("disable");
} else if (datePickerData.bsYear === minBsDate.bsYear && datePickerData.bsMonth === minBsDate.bsMonth && calendarDate < minBsDate.bsDate) {
$td.addClass("disable");
}
}
if (maxBsDate !== null) {
if (datePickerData.bsYear > maxBsDate.bsYear) {
$td.addClass("disable");
} else if (datePickerData.bsYear === maxBsDate.bsYear && datePickerData.bsMonth > maxBsDate.bsMonth) {
$td.addClass("disable");
} else if (datePickerData.bsYear === maxBsDate.bsYear && datePickerData.bsMonth === maxBsDate.bsMonth && calendarDate > maxBsDate.bsDate) {
$td.addClass("disable");
}
}
return $td;
},
renderCurrentMonthCalendar: function ($nepaliDatePicker) {
var currentDate = new Date();
var currentBsDate = calendarFunctions.getBsDateByAdDate(currentDate.getFullYear(), currentDate.getMonth() + 1, currentDate.getDate());
var bsYear = currentBsDate.bsYear;
var bsMonth = currentBsDate.bsMonth;
var bsDate = currentBsDate.bsDate;
datePickerPlugin.setCalendarDate($nepaliDatePicker, bsYear, bsMonth, bsDate);
datePickerPlugin.renderMonthCalendar($nepaliDatePicker);
},
renderPreviousMonthCalendar: function ($nepaliDatePicker) {
var datePickerData = $nepaliDatePicker.data();
var prevMonth = (datePickerData.bsMonth - 1 > 0) ? datePickerData.bsMonth - 1 : 12;
var prevYear = (prevMonth !== 12) ? datePickerData.bsYear : datePickerData.bsYear - 1;
var prevDate = datePickerData.bsDate;
if (prevYear < datePickerPlugin.options.yearStart || prevYear > datePickerPlugin.options.yearEnd) {
return null;
}
datePickerPlugin.setCalendarDate($nepaliDatePicker, prevYear, prevMonth, prevDate);
datePickerPlugin.renderMonthCalendar($nepaliDatePicker);
},
renderNextMonthCalendar: function ($nepaliDatePicker) {
var datePickerData = $nepaliDatePicker.data();
var nextMonth = (datePickerData.bsMonth + 1 <= 12) ? datePickerData.bsMonth + 1 : 1;
var nextYear = (nextMonth !== 1) ? datePickerData.bsYear : datePickerData.bsYear + 1;
var nextDate = datePickerData.bsDate;
if (nextYear < datePickerPlugin.options.yearStart || nextYear > datePickerPlugin.options.yearEnd) {
return null;
}
datePickerPlugin.setCalendarDate($nepaliDatePicker, nextYear, nextMonth, nextDate);
datePickerPlugin.renderMonthCalendar($nepaliDatePicker);
},
renderFormattedSpecificDateCalendar: function ($nepaliDatePicker, dateFormat, dateFormattedText) {
var datePickerDate = calendarFunctions.parseFormattedBsDate(dateFormat, dateFormattedText);
datePickerPlugin.setCalendarDate($nepaliDatePicker, datePickerDate.bsYear, datePickerDate.bsMonth, datePickerDate.bsDate);
datePickerPlugin.renderMonthCalendar($nepaliDatePicker);
}
};
this.each(function () {
var $element = $(this);
datePickerPlugin.init($element);
});
datePickerPlugin.addCommonEventHandler();
return this;
};
}(jQuery, calendarFunctions));

File diff suppressed because one or more lines are too long

164
account/dist/js/jspdf.min.js vendored Normal file

File diff suppressed because one or more lines are too long

9
account/dist/js/myaccounts.js vendored Normal file
View File

@@ -0,0 +1,9 @@
function showLedger(url,container,isModal=true) {
$.ajax({
url: url,
success: function(data) {
$("#"+container).html(data);
if(isModal) $("#".container).modal("show");
}
});
}

267
account/dist/js/pages/dashboard.js vendored Normal file
View File

@@ -0,0 +1,267 @@
/*
* Author: Abdullah A Almsaeed
* Date: 4 Jan 2014
* Description:
* This is a demo file used only for the main dashboard (index.html)
**/
/* global moment:false, Chart:false, Sparkline:false */
$(function () {
'use strict'
// Make the dashboard widgets sortable Using jquery UI
$('.connectedSortable').sortable({
placeholder: 'sort-highlight',
connectWith: '.connectedSortable',
handle: '.card-header, .nav-tabs',
forcePlaceholderSize: true,
zIndex: 999999
})
$('.connectedSortable .card-header').css('cursor', 'move')
// jQuery UI sortable for the todo list
$('.todo-list').sortable({
placeholder: 'sort-highlight',
handle: '.handle',
forcePlaceholderSize: true,
zIndex: 999999
})
// bootstrap WYSIHTML5 - text editor
$('.textarea').summernote()
$('.daterange').daterangepicker({
ranges: {
Today: [moment(), moment()],
Yesterday: [moment().subtract(1, 'days'), moment().subtract(1, 'days')],
'Last 7 Days': [moment().subtract(6, 'days'), moment()],
'Last 30 Days': [moment().subtract(29, 'days'), moment()],
'This Month': [moment().startOf('month'), moment().endOf('month')],
'Last Month': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')]
},
startDate: moment().subtract(29, 'days'),
endDate: moment()
}, function (start, end) {
// eslint-disable-next-line no-alert
alert('You chose: ' + start.format('MMMM D, YYYY') + ' - ' + end.format('MMMM D, YYYY'))
})
/* jQueryKnob */
$('.knob').knob()
// jvectormap data
var visitorsData = {
US: 398, // USA
SA: 400, // Saudi Arabia
CA: 1000, // Canada
DE: 500, // Germany
FR: 760, // France
CN: 300, // China
AU: 700, // Australia
BR: 600, // Brazil
IN: 800, // India
GB: 320, // Great Britain
RU: 3000 // Russia
}
// World map by jvectormap
$('#world-map').vectorMap({
map: 'usa_en',
backgroundColor: 'transparent',
regionStyle: {
initial: {
fill: 'rgba(255, 255, 255, 0.7)',
'fill-opacity': 1,
stroke: 'rgba(0,0,0,.2)',
'stroke-width': 1,
'stroke-opacity': 1
}
},
series: {
regions: [{
values: visitorsData,
scale: ['#ffffff', '#0154ad'],
normalizeFunction: 'polynomial'
}]
},
onRegionLabelShow: function (e, el, code) {
if (typeof visitorsData[code] !== 'undefined') {
el.html(el.html() + ': ' + visitorsData[code] + ' new visitors')
}
}
})
// Sparkline charts
var sparkline1 = new Sparkline($('#sparkline-1')[0], { width: 80, height: 50, lineColor: '#92c1dc', endColor: '#ebf4f9' })
var sparkline2 = new Sparkline($('#sparkline-2')[0], { width: 80, height: 50, lineColor: '#92c1dc', endColor: '#ebf4f9' })
var sparkline3 = new Sparkline($('#sparkline-3')[0], { width: 80, height: 50, lineColor: '#92c1dc', endColor: '#ebf4f9' })
sparkline1.draw([1000, 1200, 920, 927, 931, 1027, 819, 930, 1021])
sparkline2.draw([515, 519, 520, 522, 652, 810, 370, 627, 319, 630, 921])
sparkline3.draw([15, 19, 20, 22, 33, 27, 31, 27, 19, 30, 21])
// The Calender
$('#calendar').datetimepicker({
format: 'L',
inline: true
})
// SLIMSCROLL FOR CHAT WIDGET
$('#chat-box').overlayScrollbars({
height: '250px'
})
/* Chart.js Charts */
// Sales chart
var salesChartCanvas = document.getElementById('revenue-chart-canvas').getContext('2d')
// $('#revenue-chart').get(0).getContext('2d');
var salesChartData = {
labels: ['January', 'February', 'March', 'April', 'May', 'June', 'July'],
datasets: [
{
label: 'Digital Goods',
backgroundColor: 'rgba(60,141,188,0.9)',
borderColor: 'rgba(60,141,188,0.8)',
pointRadius: false,
pointColor: '#3b8bba',
pointStrokeColor: 'rgba(60,141,188,1)',
pointHighlightFill: '#fff',
pointHighlightStroke: 'rgba(60,141,188,1)',
data: [28, 48, 40, 19, 86, 27, 90]
},
{
label: 'Electronics',
backgroundColor: 'rgba(210, 214, 222, 1)',
borderColor: 'rgba(210, 214, 222, 1)',
pointRadius: false,
pointColor: 'rgba(210, 214, 222, 1)',
pointStrokeColor: '#c1c7d1',
pointHighlightFill: '#fff',
pointHighlightStroke: 'rgba(220,220,220,1)',
data: [65, 59, 80, 81, 56, 55, 40]
}
]
}
var salesChartOptions = {
maintainAspectRatio: false,
responsive: true,
legend: {
display: false
},
scales: {
xAxes: [{
gridLines: {
display: false
}
}],
yAxes: [{
gridLines: {
display: false
}
}]
}
}
// This will get the first returned node in the jQuery collection.
// eslint-disable-next-line no-unused-vars
var salesChart = new Chart(salesChartCanvas, { // lgtm[js/unused-local-variable]
type: 'line',
data: salesChartData,
options: salesChartOptions
})
// Donut Chart
var pieChartCanvas = $('#sales-chart-canvas').get(0).getContext('2d')
var pieData = {
labels: [
'Instore Sales',
'Download Sales',
'Mail-Order Sales'
],
datasets: [
{
data: [30, 12, 20],
backgroundColor: ['#f56954', '#00a65a', '#f39c12']
}
]
}
var pieOptions = {
legend: {
display: false
},
maintainAspectRatio: false,
responsive: true
}
// Create pie or douhnut chart
// You can switch between pie and douhnut using the method below.
// eslint-disable-next-line no-unused-vars
var pieChart = new Chart(pieChartCanvas, { // lgtm[js/unused-local-variable]
type: 'doughnut',
data: pieData,
options: pieOptions
})
// Sales graph chart
var salesGraphChartCanvas = $('#line-chart').get(0).getContext('2d')
// $('#revenue-chart').get(0).getContext('2d');
var salesGraphChartData = {
labels: ['2011 Q1', '2011 Q2', '2011 Q3', '2011 Q4', '2012 Q1', '2012 Q2', '2012 Q3', '2012 Q4', '2013 Q1', '2013 Q2'],
datasets: [
{
label: 'Digital Goods',
fill: false,
borderWidth: 2,
lineTension: 0,
spanGaps: true,
borderColor: '#efefef',
pointRadius: 3,
pointHoverRadius: 7,
pointColor: '#efefef',
pointBackgroundColor: '#efefef',
data: [2666, 2778, 4912, 3767, 6810, 5670, 4820, 15073, 10687, 8432]
}
]
}
var salesGraphChartOptions = {
maintainAspectRatio: false,
responsive: true,
legend: {
display: false
},
scales: {
xAxes: [{
ticks: {
fontColor: '#efefef'
},
gridLines: {
display: false,
color: '#efefef',
drawBorder: false
}
}],
yAxes: [{
ticks: {
stepSize: 5000,
fontColor: '#efefef'
},
gridLines: {
display: true,
color: '#efefef',
drawBorder: false
}
}]
}
}
// This will get the first returned node in the jQuery collection.
// eslint-disable-next-line no-unused-vars
var salesGraphChart = new Chart(salesGraphChartCanvas, { // lgtm[js/unused-local-variable]
type: 'line',
data: salesGraphChartData,
options: salesGraphChartOptions
})
})

270
account/dist/js/pages/dashboard2.js vendored Normal file
View File

@@ -0,0 +1,270 @@
/* global Chart:false */
$(function () {
'use strict'
/* ChartJS
* -------
* Here we will create a few charts using ChartJS
*/
//-----------------------
// - MONTHLY SALES CHART -
//-----------------------
// Get context with jQuery - using jQuery's .get() method.
var salesChartCanvas = $('#salesChart').get(0).getContext('2d')
var salesChartData = {
labels: ['January', 'February', 'March', 'April', 'May', 'June', 'July'],
datasets: [
{
label: 'Digital Goods',
backgroundColor: 'rgba(60,141,188,0.9)',
borderColor: 'rgba(60,141,188,0.8)',
pointRadius: false,
pointColor: '#3b8bba',
pointStrokeColor: 'rgba(60,141,188,1)',
pointHighlightFill: '#fff',
pointHighlightStroke: 'rgba(60,141,188,1)',
data: [28, 48, 40, 19, 86, 27, 90]
},
{
label: 'Electronics',
backgroundColor: 'rgba(210, 214, 222, 1)',
borderColor: 'rgba(210, 214, 222, 1)',
pointRadius: false,
pointColor: 'rgba(210, 214, 222, 1)',
pointStrokeColor: '#c1c7d1',
pointHighlightFill: '#fff',
pointHighlightStroke: 'rgba(220,220,220,1)',
data: [65, 59, 80, 81, 56, 55, 40]
}
]
}
var salesChartOptions = {
maintainAspectRatio: false,
responsive: true,
legend: {
display: false
},
scales: {
xAxes: [{
gridLines: {
display: false
}
}],
yAxes: [{
gridLines: {
display: false
}
}]
}
}
// This will get the first returned node in the jQuery collection.
// eslint-disable-next-line no-unused-vars
var salesChart = new Chart(salesChartCanvas, {
type: 'line',
data: salesChartData,
options: salesChartOptions
}
)
//---------------------------
// - END MONTHLY SALES CHART -
//---------------------------
//-------------
// - PIE CHART -
//-------------
// Get context with jQuery - using jQuery's .get() method.
var pieChartCanvas = $('#pieChart').get(0).getContext('2d')
var pieData = {
labels: [
'Chrome',
'IE',
'FireFox',
'Safari',
'Opera',
'Navigator'
],
datasets: [
{
data: [700, 500, 400, 600, 300, 100],
backgroundColor: ['#f56954', '#00a65a', '#f39c12', '#00c0ef', '#3c8dbc', '#d2d6de']
}
]
}
var pieOptions = {
legend: {
display: false
}
}
// Create pie or douhnut chart
// You can switch between pie and douhnut using the method below.
// eslint-disable-next-line no-unused-vars
var pieChart = new Chart(pieChartCanvas, {
type: 'doughnut',
data: pieData,
options: pieOptions
})
//-----------------
// - END PIE CHART -
//-----------------
/* jVector Maps
* ------------
* Create a world map with markers
*/
$('#world-map-markers').mapael({
map: {
name: 'usa_states',
zoom: {
enabled: true,
maxLevel: 10
}
}
})
// $('#world-map-markers').vectorMap({
// map : 'world_en',
// normalizeFunction: 'polynomial',
// hoverOpacity : 0.7,
// hoverColor : false,
// backgroundColor : 'transparent',
// regionStyle : {
// initial : {
// fill : 'rgba(210, 214, 222, 1)',
// 'fill-opacity' : 1,
// stroke : 'none',
// 'stroke-width' : 0,
// 'stroke-opacity': 1
// },
// hover : {
// 'fill-opacity': 0.7,
// cursor : 'pointer'
// },
// selected : {
// fill: 'yellow'
// },
// selectedHover: {}
// },
// markerStyle : {
// initial: {
// fill : '#00a65a',
// stroke: '#111'
// }
// },
// markers : [
// {
// latLng: [41.90, 12.45],
// name : 'Vatican City'
// },
// {
// latLng: [43.73, 7.41],
// name : 'Monaco'
// },
// {
// latLng: [-0.52, 166.93],
// name : 'Nauru'
// },
// {
// latLng: [-8.51, 179.21],
// name : 'Tuvalu'
// },
// {
// latLng: [43.93, 12.46],
// name : 'San Marino'
// },
// {
// latLng: [47.14, 9.52],
// name : 'Liechtenstein'
// },
// {
// latLng: [7.11, 171.06],
// name : 'Marshall Islands'
// },
// {
// latLng: [17.3, -62.73],
// name : 'Saint Kitts and Nevis'
// },
// {
// latLng: [3.2, 73.22],
// name : 'Maldives'
// },
// {
// latLng: [35.88, 14.5],
// name : 'Malta'
// },
// {
// latLng: [12.05, -61.75],
// name : 'Grenada'
// },
// {
// latLng: [13.16, -61.23],
// name : 'Saint Vincent and the Grenadines'
// },
// {
// latLng: [13.16, -59.55],
// name : 'Barbados'
// },
// {
// latLng: [17.11, -61.85],
// name : 'Antigua and Barbuda'
// },
// {
// latLng: [-4.61, 55.45],
// name : 'Seychelles'
// },
// {
// latLng: [7.35, 134.46],
// name : 'Palau'
// },
// {
// latLng: [42.5, 1.51],
// name : 'Andorra'
// },
// {
// latLng: [14.01, -60.98],
// name : 'Saint Lucia'
// },
// {
// latLng: [6.91, 158.18],
// name : 'Federated States of Micronesia'
// },
// {
// latLng: [1.3, 103.8],
// name : 'Singapore'
// },
// {
// latLng: [1.46, 173.03],
// name : 'Kiribati'
// },
// {
// latLng: [-21.13, -175.2],
// name : 'Tonga'
// },
// {
// latLng: [15.3, -61.38],
// name : 'Dominica'
// },
// {
// latLng: [-20.2, 57.5],
// name : 'Mauritius'
// },
// {
// latLng: [26.02, 50.55],
// name : 'Bahrain'
// },
// {
// latLng: [0.33, 6.73],
// name : 'São Tomé and Príncipe'
// }
// ]
// })
})
// lgtm [js/unused-local-variable]

147
account/dist/js/pages/dashboard3.js vendored Normal file
View File

@@ -0,0 +1,147 @@
/* global Chart:false */
$(function () {
'use strict'
var ticksStyle = {
fontColor: '#495057',
fontStyle: 'bold'
}
var mode = 'index'
var intersect = true
var $salesChart = $('#sales-chart')
// eslint-disable-next-line no-unused-vars
var salesChart = new Chart($salesChart, {
type: 'bar',
data: {
labels: ['JUN', 'JUL', 'AUG', 'SEP', 'OCT', 'NOV', 'DEC'],
datasets: [
{
backgroundColor: '#007bff',
borderColor: '#007bff',
data: [1000, 2000, 3000, 2500, 2700, 2500, 3000]
},
{
backgroundColor: '#ced4da',
borderColor: '#ced4da',
data: [700, 1700, 2700, 2000, 1800, 1500, 2000]
}
]
},
options: {
maintainAspectRatio: false,
tooltips: {
mode: mode,
intersect: intersect
},
hover: {
mode: mode,
intersect: intersect
},
legend: {
display: false
},
scales: {
yAxes: [{
// display: false,
gridLines: {
display: true,
lineWidth: '4px',
color: 'rgba(0, 0, 0, .2)',
zeroLineColor: 'transparent'
},
ticks: $.extend({
beginAtZero: true,
// Include a dollar sign in the ticks
callback: function (value) {
if (value >= 1000) {
value /= 1000
value += 'k'
}
return '$' + value
}
}, ticksStyle)
}],
xAxes: [{
display: true,
gridLines: {
display: false
},
ticks: ticksStyle
}]
}
}
})
var $visitorsChart = $('#visitors-chart')
// eslint-disable-next-line no-unused-vars
var visitorsChart = new Chart($visitorsChart, {
data: {
labels: ['18th', '20th', '22nd', '24th', '26th', '28th', '30th'],
datasets: [{
type: 'line',
data: [100, 120, 170, 167, 180, 177, 160],
backgroundColor: 'transparent',
borderColor: '#007bff',
pointBorderColor: '#007bff',
pointBackgroundColor: '#007bff',
fill: false
// pointHoverBackgroundColor: '#007bff',
// pointHoverBorderColor : '#007bff'
},
{
type: 'line',
data: [60, 80, 70, 67, 80, 77, 100],
backgroundColor: 'tansparent',
borderColor: '#ced4da',
pointBorderColor: '#ced4da',
pointBackgroundColor: '#ced4da',
fill: false
// pointHoverBackgroundColor: '#ced4da',
// pointHoverBorderColor : '#ced4da'
}]
},
options: {
maintainAspectRatio: false,
tooltips: {
mode: mode,
intersect: intersect
},
hover: {
mode: mode,
intersect: intersect
},
legend: {
display: false
},
scales: {
yAxes: [{
// display: false,
gridLines: {
display: true,
lineWidth: '4px',
color: 'rgba(0, 0, 0, .2)',
zeroLineColor: 'transparent'
},
ticks: $.extend({
beginAtZero: true,
suggestedMax: 200
}, ticksStyle)
}],
xAxes: [{
display: true,
gridLines: {
display: false
},
ticks: ticksStyle
}]
}
}
})
})
// lgtm [js/unused-local-variable]