Return-Path: X-Original-To: apmail-eagle-commits-archive@minotaur.apache.org Delivered-To: apmail-eagle-commits-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 2D4B218C2F for ; Mon, 30 Nov 2015 02:51:23 +0000 (UTC) Received: (qmail 21237 invoked by uid 500); 30 Nov 2015 02:51:23 -0000 Delivered-To: apmail-eagle-commits-archive@eagle.apache.org Received: (qmail 21212 invoked by uid 500); 30 Nov 2015 02:51:23 -0000 Mailing-List: contact commits-help@eagle.incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@eagle.incubator.apache.org Delivered-To: mailing list commits@eagle.incubator.apache.org Received: (qmail 21203 invoked by uid 99); 30 Nov 2015 02:51:23 -0000 Received: from Unknown (HELO spamd2-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 30 Nov 2015 02:51:23 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd2-us-west.apache.org (ASF Mail Server at spamd2-us-west.apache.org) with ESMTP id 789AC1A091E for ; Mon, 30 Nov 2015 02:51:22 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd2-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 1.247 X-Spam-Level: * X-Spam-Status: No, score=1.247 tagged_above=-999 required=6.31 tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1, RP_MATCHES_RCVD=-0.554, URIBL_BLOCKED=0.001] autolearn=disabled Received: from mx1-eu-west.apache.org ([10.40.0.8]) by localhost (spamd2-us-west.apache.org [10.40.0.9]) (amavisd-new, port 10024) with ESMTP id QdlnX9A8mBu2 for ; Mon, 30 Nov 2015 02:51:10 +0000 (UTC) Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by mx1-eu-west.apache.org (ASF Mail Server at mx1-eu-west.apache.org) with SMTP id A45BE26080 for ; Mon, 30 Nov 2015 02:50:39 +0000 (UTC) Received: (qmail 18932 invoked by uid 99); 30 Nov 2015 02:50:36 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 30 Nov 2015 02:50:36 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 990FEDFF46; Mon, 30 Nov 2015 02:50:36 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: hao@apache.org To: commits@eagle.incubator.apache.org Date: Mon, 30 Nov 2015 02:51:16 -0000 Message-Id: <5262d6994bd64385a8968b09ffa15066@git.apache.org> In-Reply-To: References: X-Mailer: ASF-Git Admin Mailer Subject: [42/44] incubator-eagle git commit: bootstrap components use npm bootstrap components use npm Project: http://git-wip-us.apache.org/repos/asf/incubator-eagle/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-eagle/commit/e931c210 Tree: http://git-wip-us.apache.org/repos/asf/incubator-eagle/tree/e931c210 Diff: http://git-wip-us.apache.org/repos/asf/incubator-eagle/diff/e931c210 Branch: refs/heads/master Commit: e931c210d55f02d836f94c12f7bd037b7d9309d0 Parents: 2c3005c Author: jiljiang Authored: Thu Nov 26 05:50:42 2015 +0000 Committer: jiljiang Committed: Thu Nov 26 05:50:42 2015 +0000 ---------------------------------------------------------------------- eagle-webservice/src/main/webapp/app/index.html | 4 +- .../css/bootstrap-components.css | 395 ---- .../css/bootstrap-components.min.css | 1 - .../js/bootstrap-components.js | 1712 ------------------ .../js/bootstrap-components.min.js | 8 - .../public/assets/flot/jquery.flot.legend.js | 22 +- .../public/assets/flot/jquery.flot.tooltip.js | 22 +- eagle-webservice/src/main/webapp/grunt.json | 4 +- eagle-webservice/src/main/webapp/package.json | 3 +- 9 files changed, 42 insertions(+), 2129 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/e931c210/eagle-webservice/src/main/webapp/app/index.html ---------------------------------------------------------------------- diff --git a/eagle-webservice/src/main/webapp/app/index.html b/eagle-webservice/src/main/webapp/app/index.html index cc7d344..258167f 100644 --- a/eagle-webservice/src/main/webapp/app/index.html +++ b/eagle-webservice/src/main/webapp/app/index.html @@ -31,7 +31,7 @@ - + @@ -168,7 +168,7 @@ - + http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/e931c210/eagle-webservice/src/main/webapp/app/public/assets/bootstrap-components/css/bootstrap-components.css ---------------------------------------------------------------------- diff --git a/eagle-webservice/src/main/webapp/app/public/assets/bootstrap-components/css/bootstrap-components.css b/eagle-webservice/src/main/webapp/app/public/assets/bootstrap-components/css/bootstrap-components.css deleted file mode 100644 index 96fafda..0000000 --- a/eagle-webservice/src/main/webapp/app/public/assets/bootstrap-components/css/bootstrap-components.css +++ /dev/null @@ -1,395 +0,0 @@ -/*Bootstrap Components 3.1 - Created By ZombieJ*/ -.progress [data-toggle="slider"] { - height: 100%; - vertical-align: top; - float: left; -} - -.progress[data-slider-container] { - position: relative; -} - -.progress[data-slider-container] [data-toggle="slider"] { - position: absolute; - height: 20px; -} - -.progress[data-slider-container] [data-toggle="slider-background"] { - position: absolute; - height: 20px; -}.callout { - margin: 0 0 18px 0; - padding: 20px; - border-left: 3px solid #eee; -} - -.callout h1, -.callout h2, -.callout h3, -.callout h4, -.callout h5, -.callout h6, -.callout h7 { - margin-top: 0; - margin-bottom: 5px; -} - -.callout p, -.callout span { - color: #333; -} - -.callout p:last-child { - margin-bottom: 0; -} - -.callout-success { - background-color: #f4fff4; - border-color: #bcf1c8; - color: #3c763d; -} - -.callout-info { - background-color: #f4f8fa; - border-color: #bce8f1; - color: #34789a; -} - -.callout-warning { - background-color: #faf8f0; - border-color: #faebcc; - color: #8a6d3b; -} - -.callout-danger { - background-color: #fdf7f7; - border-color: #eed3d7; - color: #b94a48; -}.checkbox[data-toggle="checkbox"] { - margin: 0 0 1px 0; - padding: 0 0 0 0; - min-height: inherit; - display: inline-block; - width: 16px; - height: 17px; - - position: relative; - top: 0; - - font-family: 'Glyphicons Halflings'; - -webkit-font-smoothing: antialiased; -} - -.checkbox[data-toggle="checkbox"]:before { - content: "\e013"; - position: relative; - top: -3px; - - font-size: 10px; - opacity: 0; - - transition: all 0.2s; - -moz-transition: all 0.2s; - -webkit-transition: all 0.2s; - -o-transition: all 0.2s; -} - -.checkbox[data-toggle="checkbox"][checked]:before { - font-size: 15px; - opacity: 1; -}.bsc-datepicker { - background: white; - display: inline-block; - border: 1px solid #CCC; - padding: 0 10px; - border-radius: 5px; - box-shadow: 0 5px 15px rgba(0,0,0,0.5); - overflow-y: hidden; - position: absolute; - z-index: 10; -} - -/* picker-group */ -.bsc-datepicker .picker-group { - border-top: 1px solid gray; - padding: 15px 0 13px 0; - margin-top: -2px; -} - -.bsc-datepicker .picker-group.first-group { - border-top: none; - padding-top: 0; -} - -.bsc-datepicker .picker-group.last-group { - padding-bottom: 0; -} - - /* header */ - -.bsc-datepicker .picker-group .picker-header { - text-align: center; - margin-bottom: 5px; -} - -.bsc-datepicker > .picker-group .picker-header button { - padding: 6px 7px; - line-height: 100%; - vertical-align: top; -} - -.bsc-datepicker > .picker-group .picker-header button.minus { - float: left; -} - -.bsc-datepicker > .picker-group .picker-header button.plus { - float: right; -} - -.bsc-datepicker > .picker-group .picker-header h4 { - display: inline-block; - margin: 0; - padding: 5px 0 7px 0; - cursor: pointer; -} - - /* body */ -.bsc-datepicker > .picker-group .picker-body { - width: 238px; -} - -.bsc-datepicker > .picker-group .picker-body span { - display: inline-block; - padding: 5px 0; - margin: 3px 2px 0 2px; - float: left; - text-align: center; - border-radius: 5px; - cursor: pointer; -} - -.bsc-datepicker > .picker-group .picker-selectable span:hover { - background: #EEE; -} - -.bsc-datepicker > .picker-group .picker-selectable span:active { - background: #DDD; -} - -.bsc-datepicker > .picker-group .picker-selectable span.active { - color: white; - background: #3276b1; -} - -.bsc-datepicker > .picker-group .picker-selectable span.inactive:hover { - background: transparent; - cursor: default; -} - -.bsc-datepicker > .picker-group .picker-selectable span.disabled { - color: #DDD; - cursor: default; -} - -.bsc-datepicker > .picker-group .picker-selectable span.disabled:hover { - color: #DDD; - background: #FFF; -} - -.bsc-datepicker > .picker-group .picker-selectable span.disabled.active { - color: #FFF; - background: #DDD; -} - -/* yearpicker */ -.bsc-datepicker > .yearpicker .picker-body span { - width: 43px; -} - -.bsc-datepicker > .yearpicker .picker-header h4 { - cursor: default; -} - -/* monthpicker */ -.bsc-datepicker > .monthpicker .picker-body span { - width: 55px; -} - -/* datepicker */ -.bsc-datepicker > .datepicker .picker-body span { - width: 30px; -} - -/* timepicker */ -.bsc-datepicker > .timepicker { - width: 238px; -} - -.bsc-datepicker > .timepicker .timepicker-group { - width: 60px; - float: left; -} - -.bsc-datepicker > .timepicker .timepicker-group input { - font-size: 40px; - height: 65px; - text-align: center; - padding: 0; - margin: 0 0 10px 0; - border-radius: 5px; - display: block; -} - -.bsc-datepicker > .timepicker .timepicker-group button { - padding: 6px 6px; - line-height: 100%; - vertical-align: top; -} - -.bsc-datepicker > .timepicker .timepicker-group button.time-plus { - float: right; -} - -.bsc-datepicker > .timepicker .timepicker-spliter { - float: left; - font-size: 45px; - font-weight: bolder; - display: inline-block; - width: 29px; - text-align: center; -}.notification-body { - display: inline-block; - position: fixed; - padding: 7px 10px 7px 10px; - margin: 10px; - max-width: 300px; - z-index: 1040; - box-shadow: 0px 1px 5px; -} - -.notification-body button.close { - position: absolute; - right: 7px; - top: 3px; -} - -.notification-body h5 { - padding: 0 15px 0 0; - margin: 0 0 3px 0; -} - -.notification-body.alert-normal h5 { - color: #666; -} - -.notification-body.alert-normal { - border: 1px solid #ccc; - background: white; - color: #666; -} - -.notification-body.left { - left: 0; -} - -.notification-body.right { - right: 0; -} - -.notification-body.top { - top: 0; -} - -.notification-body.bottom { - bottom: 0; -}.radio[data-toggle="radio"] { - display: inline-block; - margin: 0 0 1px 0; - padding: 0; - border: 1px solid #adadad; - border-radius: 10px; - - width: 16px; - height: 16px; - line-height: 100%; - - position: relative; - top: 0; - - font-family: 'Glyphicons Halflings'; - -webkit-font-smoothing: antialiased; -} - -.radio[data-toggle="radio"]:before { - content: "\e013"; - position: relative; - top: -1px; - - font-size: 10px; - opacity: 0; - - transition: all 0.2s; - -moz-transition: all 0.2s; - -webkit-transition: all 0.2s; - -o-transition: all 0.2s; -} - -.radio[data-toggle="radio"][checked]:before { - font-size: 15px; - opacity: 1; -}.dropdown-toggle[data-toggle="dropdown"][data-type="selector"] { - text-align: left; - padding-right: 25px; - position: relative; -} - -.dropdown-toggle[data-toggle="dropdown"][data-type="selector"] .caret { - margin-top: 9px; - position: absolute; - right: 9px; -} - -ul.dropdown-menu[role="menu"][data-type="selector"] li a { - cursor: default; -}.progress [data-toggle="slider"] { - height: 100%; - vertical-align: top; - float: left; -} - -.progress[data-slider-container] { - position: relative; -} - -.progress[data-slider-container] [data-toggle="slider"] { - position: absolute; - height: 20px; -} - -.progress[data-slider-container] [data-toggle="slider-background"] { - position: absolute; - height: 20px; -}ul.treeView ul { - margin: 0; - padding: 0 0 0 25px; -} - -ul.treeView li { - list-style: none; -} - -ul.treeView li.disabled, -ul.treeView li.disabled .tree-icon { - color: #999; -} - -ul.treeView li .tree-icon { - color: #333; - text-decoration: none; - margin-left: 3px; - margin-right: 5px; -} - -ul.treeView li [data-toggle='tree'] { - cursor: pointer; -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/e931c210/eagle-webservice/src/main/webapp/app/public/assets/bootstrap-components/css/bootstrap-components.min.css ---------------------------------------------------------------------- diff --git a/eagle-webservice/src/main/webapp/app/public/assets/bootstrap-components/css/bootstrap-components.min.css b/eagle-webservice/src/main/webapp/app/public/assets/bootstrap-components/css/bootstrap-components.min.css deleted file mode 100644 index 9295cbb..0000000 --- a/eagle-webservice/src/main/webapp/app/public/assets/bootstrap-components/css/bootstrap-components.min.css +++ /dev/null @@ -1 +0,0 @@ -/*Bootstrap Components 3.1 - Created By ZombieJ*/.progress [data-toggle="slider"] {height: 100%;vertical-align: top;float: left;}.progress[data-slider-container] {position: relative;}.progress[data-slider-container] [data-toggle="slider"] {position: absolute;height: 20px;}.progress[data-slider-container] [data-toggle="slider-background"] {position: absolute;height: 20px;}.callout {margin: 0 0 18px 0;padding: 20px;border-left: 3px solid #eee;}.callout h1,.callout h2,.callout h3,.callout h4,.callout h5,.callout h6,.callout h7 {margin-top: 0;margin-bottom: 5px;}.callout p,.callout span {color: #333;}.callout p:last-child {margin-bottom: 0;}.callout-success {background-color: #f4fff4;border-color: #bcf1c8;color: #3c763d;}.callout-info {background-color: #f4f8fa;border-color: #bce8f1;color: #34789a;}.callout-warning {background-color: #faf8f0;border-color: #faebcc;color: #8a6d3b;}.callout-danger {background-color: #fdf7f7;border-color: #eed3d7;color: #b94a48;}.checkbox[data-toggle="check box"] {margin: 0 0 1px 0;padding: 0 0 0 0;min-height: inherit;display: inline-block;width: 16px;height: 17px;position: relative;top: 0;font-family: 'Glyphicons Halflings';-webkit-font-smoothing: antialiased;}.checkbox[data-toggle="checkbox"]:before {content: "\e013";position: relative;top: -3px;font-size: 10px;opacity: 0;transition: all 0.2s;-moz-transition: all 0.2s;-webkit-transition: all 0.2s;-o-transition: all 0.2s;}.checkbox[data-toggle="checkbox"][checked]:before {font-size: 15px;opacity: 1;}.bsc-datepicker {background: white;display: inline-block;border: 1px solid #CCC;padding: 0 10px;border-radius: 5px;box-shadow: 0 5px 15px rgba(0,0,0,0.5);overflow-y: hidden;position: absolute;z-index: 10;}/* picker-group */.bsc-datepicker .picker-group {border-top: 1px solid gray;padding: 15px 0 13px 0;margin-top: -2px;}.bsc-datepicker .picker-group.first-group {border-top: none;padding-top: 0;}.bsc-datepicker .picker-group.last-group {padding-bottom: 0;}/* header */.bsc-datepicker .picker -group .picker-header {text-align: center;margin-bottom: 5px;}.bsc-datepicker > .picker-group .picker-header button {padding: 6px 7px;line-height: 100%;vertical-align: top;}.bsc-datepicker > .picker-group .picker-header button.minus {float: left;}.bsc-datepicker > .picker-group .picker-header button.plus {float: right;}.bsc-datepicker > .picker-group .picker-header h4 {display: inline-block;margin: 0;padding: 5px 0 7px 0;cursor: pointer;}/* body */.bsc-datepicker > .picker-group .picker-body {width: 238px;}.bsc-datepicker > .picker-group .picker-body span {display: inline-block;padding: 5px 0;margin: 3px 2px 0 2px;float: left;text-align: center;border-radius: 5px;cursor: pointer;}.bsc-datepicker > .picker-group .picker-selectable span:hover {background: #EEE;}.bsc-datepicker > .picker-group .picker-selectable span:active {background: #DDD;}.bsc-datepicker > .picker-group .picker-selectable span.active {color: white;background: #3276b1;}.bsc-datepicker > .picker-group .picker-selecta ble span.inactive:hover {background: transparent;cursor: default;}.bsc-datepicker > .picker-group .picker-selectable span.disabled {color: #DDD;cursor: default;}.bsc-datepicker > .picker-group .picker-selectable span.disabled:hover {color: #DDD;background: #FFF;}.bsc-datepicker > .picker-group .picker-selectable span.disabled.active {color: #FFF;background: #DDD;}/* yearpicker */.bsc-datepicker > .yearpicker .picker-body span {width: 43px;}.bsc-datepicker > .yearpicker .picker-header h4 {cursor: default;}/* monthpicker */.bsc-datepicker > .monthpicker .picker-body span {width: 55px;}/* datepicker */.bsc-datepicker > .datepicker .picker-body span {width: 30px;}/* timepicker */.bsc-datepicker > .timepicker {width: 238px;}.bsc-datepicker > .timepicker .timepicker-group {width: 60px;float: left;}.bsc-datepicker > .timepicker .timepicker-group input {font-size: 40px;height: 65px;text-align: center;padding: 0;margin: 0 0 10px 0;border-radius: 5px;display: block;}.bsc-datepicker > .timepic ker .timepicker-group button {padding: 6px 6px;line-height: 100%;vertical-align: top;}.bsc-datepicker > .timepicker .timepicker-group button.time-plus {float: right;}.bsc-datepicker > .timepicker .timepicker-spliter {float: left;font-size: 45px;font-weight: bolder;display: inline-block;width: 29px;text-align: center;}.notification-body {display: inline-block;position: fixed;padding: 7px 10px 7px 10px;margin: 10px;max-width: 300px;z-index: 1040;box-shadow: 0px 1px 5px;}.notification-body button.close {position: absolute;right: 7px;top: 3px;}.notification-body h5 {padding: 0 15px 0 0;margin: 0 0 3px 0;}.notification-body.alert-normal h5 {color: #666;}.notification-body.alert-normal {border: 1px solid #ccc;background: white;color: #666;}.notification-body.left {left: 0;}.notification-body.right {right: 0;}.notification-body.top {top: 0;}.notification-body.bottom {bottom: 0;}.radio[data-toggle="radio"] {display: inline-block;margin: 0 0 1px 0;padding: 0;border: 1px solid #adadad;border- radius: 10px;width: 16px;height: 16px;line-height: 100%;position: relative;top: 0;font-family: 'Glyphicons Halflings';-webkit-font-smoothing: antialiased;}.radio[data-toggle="radio"]:before {content: "\e013";position: relative;top: -1px;font-size: 10px;opacity: 0;transition: all 0.2s;-moz-transition: all 0.2s;-webkit-transition: all 0.2s;-o-transition: all 0.2s;}.radio[data-toggle="radio"][checked]:before {font-size: 15px;opacity: 1;}.dropdown-toggle[data-toggle="dropdown"][data-type="selector"] {text-align: left;padding-right: 25px;position: relative;}.dropdown-toggle[data-toggle="dropdown"][data-type="selector"] .caret {margin-top: 9px;position: absolute;right: 9px;}ul.dropdown-menu[role="menu"][data-type="selector"] li a {cursor: default;}.progress [data-toggle="slider"] {height: 100%;vertical-align: top;float: left;}.progress[data-slider-container] {position: relative;}.progress[data-slider-container] [data-toggle="slider"] {position: absolute;height: 20px;}.progress[data-slider -container] [data-toggle="slider-background"] {position: absolute;height: 20px;}ul.treeView ul {margin: 0;padding: 0 0 0 25px;}ul.treeView li {list-style: none;}ul.treeView li.disabled, ul.treeView li.disabled .tree-icon {color: #999;}ul.treeView li .tree-icon {color: #333;text-decoration: none;margin-left: 3px;margin-right: 5px;}ul.treeView li [data-toggle='tree'] {cursor: pointer;} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/e931c210/eagle-webservice/src/main/webapp/app/public/assets/bootstrap-components/js/bootstrap-components.js ---------------------------------------------------------------------- diff --git a/eagle-webservice/src/main/webapp/app/public/assets/bootstrap-components/js/bootstrap-components.js b/eagle-webservice/src/main/webapp/app/public/assets/bootstrap-components/js/bootstrap-components.js deleted file mode 100644 index d99b966..0000000 --- a/eagle-webservice/src/main/webapp/app/public/assets/bootstrap-components/js/bootstrap-components.js +++ /dev/null @@ -1,1712 +0,0 @@ -/*Bootstrap Components 3.1 - Created By ZombieJ*/ -$.extend({_bc: new Object()}); -// init vars for bootstrap-component use -$._bc.vals = new Object(); - -// get the setting & callback -$._bc.vars = function(options, callback){ - var vars = new Object(); - if(typeof(options) == 'object') { - vars.options = options; - } else if(typeof(options) == 'function') { - vars.callback = options; - } else if(typeof(options) == 'string') { - vars.key = options; - } - if(typeof(callback) == 'function') { - vars.callback = callback; - } - return vars; -} -// get the option by key and return default if not set -$._bc.get = function(options, key, defaultValue) { - if(options != null) { - if(options[key] != null) { - return options[key]; - } else { - return defaultValue; - } - } else { - return defaultValue; - } -} - -// get a simple list to add / remove element -$._bc.list = function() { - var list = new Array(); - list.add = function(obj) { - list.push(obj); - } - list.remove = function(obj) { - var loc = null; - for (var i = 0; i < list.length; i++) { - var _o = list[i]; - if(obj == _o) { - loc = i; - break; - } - } - if(loc != null) list.splice(loc, 1); - } - return list; -} - -// get the broswer version -var userAgent = navigator.userAgent.toLowerCase(); -$._bc.browser = { -version: (userAgent.match( /.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/ ) || [])[1], -safari: /webkit/.test( userAgent ), -opera: /opera/.test( userAgent ), -msie: /msie/.test( userAgent ) && !/opera/.test( userAgent ), -mozilla: /mozilla/.test( userAgent ) && !/(compatible|webkit)/.test( userAgent ) -};/* options: - boolean default false. true to open auto tooltips else to close it. -*/ - -!function ($) { - var _on = false; - - $.extend({ - autotooltip:function(option){ - if(option === true && _on == false) { - $(document).on("mouseover.bs.autotooltip", "[data-toggle='tooltip']", tooltipHandler); - _on = true; - } else if(option === false && _on == true) { - $(document).off("mouseover.bs.autotooltip"); - _on = false; - } - } - }); - - function tooltipHandler() { - var _my = $(this); - if(_my.attr("data-original-title") == null) { - _my.tooltip('show'); - } - }; -}(window.jQuery);/* options: - to: element set the value of target element(only for checkbox) - - checked: boolean set checkbox checked or not -*/ - -!function ($) { - $.fn.extend({ - checkbox:function(options){ - // get options - var _my = $(this); - var vars = $._bc.vars(options); - var _options = vars.options; - var _checked = $._bc.get(_options, "checked", null); - var _to = $._bc.get(_options, "to", null); - var _target = _to != null ? $(_to) : $(_my.attr("data-to")); - - // set target element - if(_to != null) { - _my.attr("data-to", _to); - } - - // set the value of checkbox and it will change target element too. - if(_checked != null) { - updateStatus(_my, _checked); - updateTarget(_target, _checked); - } - } - }); - - // change checkbox status - function updateStatus(_instance, _checked) { - if(_checked) { - _instance.attr("checked", "checked"); - } else { - _instance.removeAttr("checked", "checked"); - } - } - - // update data to target status - function updateTarget(_target, _checked) { - if(_target != null) { - if(_target.is("[type='checkbox']") || _target.is("[type='radio']")) { - _target.prop("checked", _checked); - } else { - _target.val(_checked); - } - } - } - - // click on the label - $(document).on("click.bs.checkbox.label", "label", function(event) { - var _label = $(this); - var _my = _label.find(".checkbox[data-toggle='checkbox']"); - var _checked = null; - if(_my.length != 0) { // find checkbox to go on - var _disabled = _my.attr("disabled") != null; - var _target = $(_my.attr("data-to")); - var _checkbox = _label.find("input[type='checkbox']"); - if(_disabled) { - if(_checkbox.length != 0) { - _checked = _my.attr("checked") != null; - _checkbox.prop("checked", _checked); - } - } else { - if(_checkbox.length != 0) { - _checked = _checkbox.prop("checked"); - } else { - _checked = !(_my.attr("checked") != null); - updateTarget(_target, _checked); - } - } - updateStatus(_my, _checked); - - // change event - _my.add(_target).change(); - } - }); - - // click on the checkbox without label - $(document).on("click.bs.checkbox", ".checkbox[data-toggle='checkbox']", function(event){ - var _my = $(this); - var _target = $(_my.attr("data-to")); - var _checked = null; - if(_my.closest("label").length == 0) { - _checked = !(_my.attr("checked") != null); - updateStatus(_my, _checked); - updateTarget(_target, _checked); - - // change event - _my.add(_target).change(); - } - }); - - // select all - function elementValue(ele, val) { - var _my = $(ele); - if(_my.is("input[type='checkbox']")) { - if(val != null) _my.prop("checked", val); - return _my.prop("checked"); - } else { - if(val != null) _my.checkbox({checked: val}); - return _my.attr("checked") == "checked"; - } - } - $(document).on("change.bs.checkbox_selectAll", "[data-checkbox-all]", function(event){ - var _name = $(this).attr("data-checkbox-all"); - var _value = elementValue(this); - $("[data-checkbox-entity='" + _name + "']").each(function() { - elementValue(this, _value); - }); - }); - $(document).on("change.bs.checkbox_selectAll", "[data-checkbox-entity]", function(event){ - var _name = $(this).attr("data-checkbox-entity"); - var _checked = true; - - $("[data-checkbox-entity='" + _name + "']").each(function() { - if(!elementValue(this)) { - _checked = false; - return false; - } - }); - $("[data-checkbox-all='" + _name + "']").each(function() { - elementValue(this, _checked); - }); - }); -}(window.jQuery);/* options: - target: all(default) contains date & time picker - time time picker only - date date picker only - month month picker only - year year picker only - to: element set the value of target element - container: string set datepicker component container - before: string set the date/time picker can't pass - after: string set the date/time picker can't before - goon: boolean default false. True will change value immediately when click. - TODO -*/ - -// init env -$._bc.vals.datepicker = new Object(); -$._bc.vals.datepicker.index = 1; - -// init function -!function ($) { - $.extend({ - datepicker: { - toDate: function(str, format) { - var date = new Date(); - try { - var lst = ["d", "M", "y", "H", "m", "s"]; - var dc = {}; - - $.each(lst, function(i, c) { - var _fmt = format.replace(new RegExp(c + "+"), "[TARGET]"); - $.each(lst, function(i, c) { - _fmt = _fmt.replace(new RegExp(c + "+"), "\\d+"); - }); - _fmt = _fmt.replace("[TARGET]", "(\\d+)"); - var reg = new RegExp(_fmt); - dc[c] = Number(str.match(reg)[1]); - }); - - function val(val, def) { - if(val === undefined || val === null || isNaN(val)) - return def; - return val; - } - - date.setFullYear(val(dc["y"], 1990), (val(dc["M"], 1)) - 1, val(dc["d"], 1)); - date.setHours(val(dc["H"], 0), val(dc["m"], 0), val(dc["s"], 0)); - } catch(err) { - return new Date(); - } - if(date == null || isNaN(date)) return new Date(); - return date; - }, - dateToStrng: function(date, _format) { - var lst = ["d", "M", "y", "H", "m", "s"]; - var _val = _format.replace(/y+/,date.getFullYear()).replace(/M+/, fillZero(date.getMonth() + 1)).replace(/d+/, fillZero(date.getDate())) - .replace(/H+/, fillZero(date.getHours())).replace(/m+/, fillZero(date.getMinutes())).replace(/s+/, fillZero(date.getSeconds())); - return _val; - }, - monthName: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], - yearMonthTitle: "${month}-${year}", - }, - }); - - // var - var _instance = null; - var _preventEvent = false; - - // Functions - function refreshInstance(instance) { - if(_instance != null) { - var _type = _instance.getType(); - var _date = _instance.getDate(); - var _target = _instance.getTarget(); - var _format = _instance.getFormat(); - var _preVal = _target.val(); - var _val = null; - _val = $.datepicker.dateToStrng(_date, _format); - _target.val(_val); - _instance.remove(); - _instance = null; - - // trigger event - if(_val != _preVal) { - _target.change(); - } - } - _instance = instance; - } - function getDaysOfMonth(date) { - var _startDay, _days; - var _date = new Date(date.getTime()); - _date.setMonth(_date.getMonth() + 1, 0); - _days = _date.getDate(); - _date.setDate(1); - _startDay = _date.getDay(); - return [_startDay, _days]; - } - function fillZero(str, len) { - if(len == null) { - len = 2; - } - var ret = str + ""; - while(ret.length < len) { - ret = "0" + ret; - } - return ret; - } - function toString(date) { - return date.getFullYear() + "-" + fillZero(date.getMonth() + 1) + "-" + fillZero(date.getDate()) + " " + - fillZero(date.getHours()) + ":" + fillZero(date.getMinutes()) + ":" + fillZero(date.getSeconds()) - } - function plusDays(date, year, month, day) { - if(month == null) { - month = 0; - } - if(day == null) { - day = 0; - } - var _ret = new Date(date.getTime()); - var _year = _ret.getFullYear(); - var _month = _ret.getMonth() + month + year * 12; - var _date = _ret.getDate(); - - _ret.setMonth(_month, 1); - var _days = getDaysOfMonth(_ret)[1]; - if(_date <= _days) { - _ret.setDate(_date); - } else { - _ret.setDate(_days); - } - - _date = _ret.getDate() + day; - _ret.setDate(_date); - return _ret; - } - function setDays(date, year, month, day) { - if(year == null) { - year = date.getFullYear(); - } - if(month == null) { - month = date.getMonth(); - } - if(day == null) { - day = date.getDate(); - } - - var _ret = new Date(date.getTime()); - _ret.setFullYear(year, month, day); - _ret.setFullYear(year, month); - _ret.setFullYear(year); - return _ret; - } - function digitization(str, mix, max) { - var _str = str + ""; - var _val = Number(_str); - if(isNaN(_val) || _val == null) { - _val = 0; - } - if(_val < mix) { - _val = mix; - } - if(_val > max) { - _val = max; - } - return _val; - } - // set the current date - function getDateInRange(current, target, before, after) { - if(before != null && target > before) { - return new Date(before.getTime()); - } - if(after != null && target < after) { - return new Date(after.getTime()); - } - return target; - } - - // Datepicker Handler - $(document).on("click.bs.datepicker", "[data-toggle='datepicker']", function(event){ - _preventEvent = true; - var my = $(this); - - // Skip refresh if container work for the same element - if($(_instance).data("trigger") === this) return; - - var _autoclose = my.attr("data-autoclose") === "true"; - var _target = $(my.attr("data-to")); - var target = _target.length != 0 ? _target : my; - var _format = my.attr("data-format"); - var _container = $(my.attr("data-container")); - var container = target.parent(); - if(container.hasClass("input-group-btn")) { - container = container.parent(); - } - if(container.hasClass("input-group")) { - container = container.parent(); - } - container = _container.length != 0 ? _container : container; - var _type = my.attr("data-type"); - var enable_yearpicker = false; - var enable_monthpicker = false; - var enable_datepicker = false; - var enable_timepicker = false; - switch(_type) { - case "year": - enable_yearpicker = true; - _format = _format || "yyyy"; - break; - case "month": - enable_monthpicker = true; - _format = _format || "yyyy-MM"; - break; - case "date": - enable_datepicker = true; - _format = _format || "yyyy-MM-dd"; - break; - case "time": - enable_timepicker = true; - _format = _format || "HH:mm:ss"; - break; - default: - _type = "all"; - enable_datepicker = true; - enable_timepicker = true; - _format = _format || "yyyy-MM-dd HH:mm:ss"; - } - var _date = target.val(); - var date = $.datepicker.toDate(_date, _format); - var dateShadow = new Date(date.getTime()); // an date which is display the current view - var dateCurrent = new Date(date.getTime()); // an date which is mark as current date - var _before = my.attr("data-before"); - var before = _before == null ? null : $.datepicker.toDate(_before, _format); - var _after = my.attr("data-after"); - var after = _after == null ? null : $.datepicker.toDate(_after, _format); - - // generate datepicker component - var $container = $('
'); - $container.data("trigger", this); - var $yearpicker = $('
'); - var $yearpicker_header = $('
'); - var $yearpicker_header_year_minus = $(''); - var $modal_header_head = $('