commitall
This commit is contained in:
48
account/dist/js/.eslintrc.json
vendored
Normal file
48
account/dist/js/.eslintrc.json
vendored
Normal 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
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
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
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
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
686
account/dist/js/demo.js
vendored
Normal 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)
|
874
account/dist/js/jquery.nepaliDatePicker.js
vendored
Normal file
874
account/dist/js/jquery.nepaliDatePicker.js
vendored
Normal 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));
|
1
account/dist/js/jquery.nepaliDatePicker.min.js
vendored
Normal file
1
account/dist/js/jquery.nepaliDatePicker.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
164
account/dist/js/jspdf.min.js
vendored
Normal file
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
9
account/dist/js/myaccounts.js
vendored
Normal 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
267
account/dist/js/pages/dashboard.js
vendored
Normal 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
270
account/dist/js/pages/dashboard2.js
vendored
Normal 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
147
account/dist/js/pages/dashboard3.js
vendored
Normal 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]
|
Reference in New Issue
Block a user