Browse Source

testDemo check-in

TonyKang 8 years ago
parent
commit
46dc430f74
100 changed files with 25774 additions and 2 deletions
  1. 32 0
      protect/controllers/billController.js
  2. 6 0
      protect/db/demodb.js
  3. 36 0
      protect/models/bills.js
  4. 9 0
      server.js
  5. 68 0
      src/BillsDemo.html
  6. 12 1
      src/RptHome.html
  7. 1 1
      src/SmartCostHome.html
  8. 86 0
      src/WijmoDemo.html
  9. 7 0
      src/css/bootstrap/bootstrap.min.css
  10. 4 0
      src/css/font-awesome/font-awesome.min.css
  11. BIN
      src/css/font-awesome/fonts/FontAwesome.otf
  12. BIN
      src/css/font-awesome/fonts/fontawesome-webfont.eot
  13. 2671 0
      src/css/font-awesome/fonts/fontawesome-webfont.svg
  14. BIN
      src/css/font-awesome/fonts/fontawesome-webfont.ttf
  15. BIN
      src/css/font-awesome/fonts/fontawesome-webfont.woff
  16. BIN
      src/css/font-awesome/fonts/fontawesome-webfont.woff2
  17. 163 0
      src/css/main.css
  18. 4142 0
      src/lib/jszip.min.js
  19. 15 0
      src/wijmo/controls/cultures/wijmo.culture.de.d.ts
  20. 91 0
      src/wijmo/controls/cultures/wijmo.culture.de.js
  21. 13 0
      src/wijmo/controls/cultures/wijmo.culture.de.min.js
  22. 15 0
      src/wijmo/controls/cultures/wijmo.culture.en-GB.d.ts
  23. 91 0
      src/wijmo/controls/cultures/wijmo.culture.en-GB.js
  24. 13 0
      src/wijmo/controls/cultures/wijmo.culture.en-GB.min.js
  25. 15 0
      src/wijmo/controls/cultures/wijmo.culture.en.d.ts
  26. 91 0
      src/wijmo/controls/cultures/wijmo.culture.en.js
  27. 13 0
      src/wijmo/controls/cultures/wijmo.culture.en.min.js
  28. 13 0
      src/wijmo/controls/cultures/wijmo.culture.es.d.ts
  29. 87 0
      src/wijmo/controls/cultures/wijmo.culture.es.js
  30. 13 0
      src/wijmo/controls/cultures/wijmo.culture.es.min.js
  31. 15 0
      src/wijmo/controls/cultures/wijmo.culture.fr.d.ts
  32. 91 0
      src/wijmo/controls/cultures/wijmo.culture.fr.js
  33. 13 0
      src/wijmo/controls/cultures/wijmo.culture.fr.min.js
  34. 15 0
      src/wijmo/controls/cultures/wijmo.culture.it.d.ts
  35. 91 0
      src/wijmo/controls/cultures/wijmo.culture.it.js
  36. 13 0
      src/wijmo/controls/cultures/wijmo.culture.it.min.js
  37. 15 0
      src/wijmo/controls/cultures/wijmo.culture.ja.d.ts
  38. 97 0
      src/wijmo/controls/cultures/wijmo.culture.ja.js
  39. 13 0
      src/wijmo/controls/cultures/wijmo.culture.ja.min.js
  40. 15 0
      src/wijmo/controls/cultures/wijmo.culture.ko.d.ts
  41. 91 0
      src/wijmo/controls/cultures/wijmo.culture.ko.js
  42. 13 0
      src/wijmo/controls/cultures/wijmo.culture.ko.min.js
  43. 15 0
      src/wijmo/controls/cultures/wijmo.culture.pt.d.ts
  44. 91 0
      src/wijmo/controls/cultures/wijmo.culture.pt.js
  45. 13 0
      src/wijmo/controls/cultures/wijmo.culture.pt.min.js
  46. 15 0
      src/wijmo/controls/cultures/wijmo.culture.ru.d.ts
  47. 91 0
      src/wijmo/controls/cultures/wijmo.culture.ru.js
  48. 13 0
      src/wijmo/controls/cultures/wijmo.culture.ru.min.js
  49. 15 0
      src/wijmo/controls/cultures/wijmo.culture.zh.d.ts
  50. 91 0
      src/wijmo/controls/cultures/wijmo.culture.zh.js
  51. 13 0
      src/wijmo/controls/cultures/wijmo.culture.zh.min.js
  52. 1654 0
      src/wijmo/controls/wijmo.chart.d.ts
  53. 13 0
      src/wijmo/controls/wijmo.chart.min.js
  54. 2793 0
      src/wijmo/controls/wijmo.d.ts
  55. 446 0
      src/wijmo/controls/wijmo.gauge.d.ts
  56. 13 0
      src/wijmo/controls/wijmo.gauge.min.js
  57. 2258 0
      src/wijmo/controls/wijmo.grid.d.ts
  58. 287 0
      src/wijmo/controls/wijmo.grid.filter.d.ts
  59. 13 0
      src/wijmo/controls/wijmo.grid.filter.min.js
  60. 102 0
      src/wijmo/controls/wijmo.grid.grouppanel.d.ts
  61. 13 0
      src/wijmo/controls/wijmo.grid.grouppanel.min.js
  62. 13 0
      src/wijmo/controls/wijmo.grid.min.js
  63. 4552 0
      src/wijmo/controls/wijmo.grid.sheet.min.js
  64. 1271 0
      src/wijmo/controls/wijmo.input.d.ts
  65. 13 0
      src/wijmo/controls/wijmo.input.min.js
  66. 13 0
      src/wijmo/controls/wijmo.min.js
  67. 425 0
      src/wijmo/interop/angular/wijmo.angular.d.ts
  68. 13 0
      src/wijmo/interop/angular/wijmo.angular.min.js
  69. 1292 0
      src/wijmo/interop/knockout/wijmo.knockout.d.ts
  70. 13 0
      src/wijmo/interop/knockout/wijmo.knockout.min.js
  71. 144 0
      src/wijmo/styles/themes/wijmo.theme.cerulean.css
  72. 13 0
      src/wijmo/styles/themes/wijmo.theme.cerulean.min.css
  73. 117 0
      src/wijmo/styles/themes/wijmo.theme.cocoa.css
  74. 13 0
      src/wijmo/styles/themes/wijmo.theme.cocoa.min.css
  75. 117 0
      src/wijmo/styles/themes/wijmo.theme.coral.css
  76. 13 0
      src/wijmo/styles/themes/wijmo.theme.coral.min.css
  77. 120 0
      src/wijmo/styles/themes/wijmo.theme.cyborg.css
  78. 13 0
      src/wijmo/styles/themes/wijmo.theme.cyborg.min.css
  79. 141 0
      src/wijmo/styles/themes/wijmo.theme.dark.css
  80. 13 0
      src/wijmo/styles/themes/wijmo.theme.dark.min.css
  81. 120 0
      src/wijmo/styles/themes/wijmo.theme.darkly.css
  82. 13 0
      src/wijmo/styles/themes/wijmo.theme.darkly.min.css
  83. 117 0
      src/wijmo/styles/themes/wijmo.theme.flatly.css
  84. 13 0
      src/wijmo/styles/themes/wijmo.theme.flatly.min.css
  85. 117 0
      src/wijmo/styles/themes/wijmo.theme.grayscale.css
  86. 13 0
      src/wijmo/styles/themes/wijmo.theme.grayscale.min.css
  87. 123 0
      src/wijmo/styles/themes/wijmo.theme.highcontrast.css
  88. 13 0
      src/wijmo/styles/themes/wijmo.theme.highcontrast.min.css
  89. 121 0
      src/wijmo/styles/themes/wijmo.theme.light.css
  90. 13 0
      src/wijmo/styles/themes/wijmo.theme.light.min.css
  91. 130 0
      src/wijmo/styles/themes/wijmo.theme.material.css
  92. 13 0
      src/wijmo/styles/themes/wijmo.theme.material.min.css
  93. 135 0
      src/wijmo/styles/themes/wijmo.theme.midnight.css
  94. 13 0
      src/wijmo/styles/themes/wijmo.theme.midnight.min.css
  95. 107 0
      src/wijmo/styles/themes/wijmo.theme.minimal.css
  96. 13 0
      src/wijmo/styles/themes/wijmo.theme.minimal.min.css
  97. 120 0
      src/wijmo/styles/themes/wijmo.theme.modern.css
  98. 13 0
      src/wijmo/styles/themes/wijmo.theme.modern.min.css
  99. 120 0
      src/wijmo/styles/themes/wijmo.theme.organic.css
  100. 0 0
      src/wijmo/styles/themes/wijmo.theme.organic.min.css

+ 32 - 0
protect/controllers/billController.js

@@ -0,0 +1,32 @@
+/**
+ * Created by Tony on 2017/1/13.
+ */
+var BillsData = require('../models/bills');
+
+//ͳһ»Øµ÷º¯Êý
+var callback = function(req, res, err, data){
+    if(err){
+        //res.send({success: false, error: err});
+        res.json({success: false, error: err});
+    }
+    else{
+        //res.send({success: true, data: data});
+        res.json({success:true, data: data});
+    }
+}
+
+module.exports = {
+    getAllBills: function(req, res){
+        var user_id = req.body.user_id;
+        BillsData.getAll(user_id, function(err, bills){
+            if (bills) {
+                callback(req, res, err, bills);
+            } else {
+                callback(req, res, err, null);
+            }
+        });
+    },
+    remove: function(req, res){
+    }
+
+}

+ 6 - 0
protect/db/demodb.js

@@ -0,0 +1,6 @@
+/**
+ * Created by Tony on 2017/1/13.
+ */
+var mg = require('mongoose');
+mg.createConnection('localhost','Demo');
+exports.mongoose = mg;

+ 36 - 0
protect/models/bills.js

@@ -0,0 +1,36 @@
+/**
+ * Created by Tony on 2017/1/12.
+ */
+var demodb = require('../db/demodb');
+var Schema = demodb.mongoose.Schema;
+var BillsSchema = new Schema({
+    "SerialNo": String,
+    "ChapterID": String,
+    "ID": String,
+    "ParentID": String,
+    "NextSiblingID": String,
+    "Code": String,
+    "FullCode": String,
+    "Name": String,
+    "Units": String,
+    "Quantity": String,
+    "Memostr": String
+});
+
+var TemplateData = demodb.mongoose.model("TestBills", BillsSchema);
+
+var BillDataDAO = function(){};
+
+//根据id获取临时数据
+BillDataDAO.prototype.getAll = function(userid, callback){
+    TemplateData.find({}, function(err, templates){
+        if(templates.length){
+            callback(false, templates);
+        }
+        else{
+            callback('查找不到模板临时数据!');
+        }
+    })
+}
+
+module.exports = new BillDataDAO();

+ 9 - 0
server.js

@@ -22,6 +22,14 @@ app.get('/schome', function(req, res){
 	res.sendFile(_rootDir+'/src/SmartCostHome.html');
 	res.sendFile(_rootDir+'/src/SmartCostHome.html');
 });
 });
 
 
+app.get('/wijmodemo', function(req, res){
+	res.sendFile(_rootDir+'/src/WijmoDemo.html');
+});
+
+app.get('/billdemo', function(req, res){
+	res.sendFile(_rootDir+'/src/BillsDemo.html');
+});
+
 app.post('/report/', function(req, res, next){
 app.post('/report/', function(req, res, next){
 	console.log(req.body['tpl_id']);
 	console.log(req.body['tpl_id']);
 	res.setHeader("Access-Control-Allow-Origin", "*");
 	res.setHeader("Access-Control-Allow-Origin", "*");
@@ -32,6 +40,7 @@ var apiRouter = express.Router();
 
 
 apiRouter.post('/getReport', reportController.getReportAllPages);
 apiRouter.post('/getReport', reportController.getReportAllPages);
 apiRouter.post('/setDftCache', cacheController.setReportDefaultCache);
 apiRouter.post('/setDftCache', cacheController.setReportDefaultCache);
+apiRouter.post('/getBills', cacheController.setReportDefaultCache);
 
 
 app.use('/api', apiRouter);
 app.use('/api', apiRouter);
 
 

+ 68 - 0
src/BillsDemo.html

@@ -0,0 +1,68 @@
+<!DOCTYPE html>
+<html>
+<head lang="en">
+    <meta charset="UTF-8">
+    <title></title>
+    <link rel="stylesheet" href="src/css/bootstrap/bootstrap.min.css" >
+    <link rel="stylesheet" href="src/css/bootstrap/themes.css">
+    <link rel="stylesheet" href="src/css/main.css">
+    <link rel="stylesheet" href="src/css/font-awesome/font-awesome.min.css">
+</head>
+<body>
+    <nav class="navbar navbar-light bg-faded p-0 ">
+            <span class="header-logo px-1" >
+              Smartcost
+            </span>
+        <div class="float-lg-right navbar-text pb-0">
+            <div class="dropdown d-inline-block">
+                <button class="btn btn-link btn-sm dropdown-toggle" type="button" data-toggle="dropdown">康彤</button>
+                <div class="dropdown-menu dropdown-menu-right">
+                    <a class="dropdown-item" href="user-info.html">个人信息</a>
+                    <a class="dropdown-item" href="user-bug.html">购买</a>
+                    <a class="dropdown-item" href="user-set.html">设置</a>
+                </div>
+            </div>
+            <span class="btn btn-link btn-sm new-msg"  >
+              <i class="fa fa-envelope-o" aria-hidden="true"></i>&nbsp;6
+            </span>
+            <button class="btn btn-link btn-sm">
+                注销
+            </button>
+        </div>
+    </nav>
+
+    <p>测试 FlexGrid 控件:</p>
+    <div id="theGrid" style="width:100%;height:auto;"></div>
+</body>
+<script id="scriptInit" type="text/javascript">
+    $(document).ready(function () {
+        $.ajax({
+            type:"POST",
+            url: 'http://localhost:3010/api/getBills',
+            dataType: 'json',
+            cache: false,
+            timeout: 10000,
+            success: function(result){
+                // 生成一些随机数据
+                var countries = 'US,Germany,UK,Japan,Italy,Greece'.split(','),
+                        data = [];
+                for (var i = 0; i < countries.length; i++) {
+                    data.push({
+                        country: countries[i],
+                        downloads: Math.round(Math.random() * 20000),
+                        sales: Math.random() * 10000,
+                        expenses: Math.random() * 5000
+                    });
+                }
+
+                var grid = new wijmo.grid.FlexGrid('#theGrid');
+                grid.itemsSource = data;
+            },
+            error: function(jqXHR, textStatus, errorThrown){
+                //alert('error ' + textStatus + " " + errorThrown);
+                //or create local default cache...
+            }
+        });
+    });
+</script>
+</html>

+ 12 - 1
src/RptHome.html

@@ -12,7 +12,7 @@
     <script src="/src/lib/jquery-1.9.1.min.js"></script>
     <script src="/src/lib/jquery-1.9.1.min.js"></script>
     <script type="text/javascript" src="/src/jpc_report/rpt_component/Jpc_Output_ValueDefine.js"></script>
     <script type="text/javascript" src="/src/jpc_report/rpt_component/Jpc_Output_ValueDefine.js"></script>
     <script type="text/javascript" src="/src/jpc_report/rpt_component/Jpc_Output.js"></script>
     <script type="text/javascript" src="/src/jpc_report/rpt_component/Jpc_Output.js"></script>
-    <table>
+    <table id="forPrintHide">
         <tr>
         <tr>
             <td width="5"></td>
             <td width="5"></td>
             <td>
             <td>
@@ -30,6 +30,7 @@
                 <input type="button" value="显示报表" onclick="ajaxCall()"/>
                 <input type="button" value="显示报表" onclick="ajaxCall()"/>
                 <input type="button" value="< 前一页" onclick="showPage(-1)"/>
                 <input type="button" value="< 前一页" onclick="showPage(-1)"/>
                 <input type="button" value="后一页 >" onclick="showPage(1)"/>
                 <input type="button" value="后一页 >" onclick="showPage(1)"/>
+                <input type="button" value="打印" onclick="printCurrentPage()"/>
             </td>
             </td>
         </tr>
         </tr>
     </table>
     </table>
@@ -72,6 +73,16 @@
         });
         });
 
 
     }
     }
+
+    function printCurrentPage() {
+        if (currentRptTpl) {
+            //$("table#forPrintHide").css
+            $("table#forPrintHide").css("display","none");
+            window.print();
+            //$("canvas#myCanvas").printArea();
+        }
+    }
+
     function getScreenDPI() {
     function getScreenDPI() {
         var me = this, arrDPI = [];
         var me = this, arrDPI = [];
         if (window.screen.deviceXDPI != undefined) {
         if (window.screen.deviceXDPI != undefined) {

+ 1 - 1
src/SmartCostHome.html

@@ -12,7 +12,7 @@
 <body>
 <body>
     <script type="text/javascript">
     <script type="text/javascript">
         Ext.onReady(function () {
         Ext.onReady(function () {
-            Ext.MessageBox.alert("提示", "Hello World");
+            //Ext.MessageBox.alert("提示", "Hello World");
         });
         });
     </script>
     </script>
 </body>
 </body>

+ 86 - 0
src/WijmoDemo.html

@@ -0,0 +1,86 @@
+<!DOCTYPE html>
+<html>
+<head lang="en">
+    <meta charset="UTF-8">
+    <title></title>
+</head>
+
+<script src="/src/lib/jquery-1.9.1.min.js"></script>
+<script type="text/javascript" src="/src/wijmo/controls/wijmo.min.js"></script>
+<script type="text/javascript" src="/src/wijmo/controls/wijmo.grid.sheet.min.js"></script>
+<link href="/src/wijmo/styles/wijmo.min.css" rel="stylesheet"/>
+
+<!-- Wijmo controls (optional, include the controls you need) -->
+<script src="/src/wijmo/controls/wijmo.grid.min.js"></script>
+<script src="/src/wijmo/controls/wijmo.chart.min.js"></script>
+<!--
+<script src="/src/wijmo/controls/wijmo.input.min.js"></script>
+<script src="/src/wijmo/controls/wijmo.gauge.min.js"></script>
+-->
+
+<!-- Wijmo custom theme (optional, include the theme you like) -->
+<!--
+<link href="/src/wijmo/styles/themes/wijmo.theme.modern.min.css" rel="stylesheet"/>
+-->
+
+<!-- Wijmo custom culture (optional, include the culture you want) -->
+<!--
+<script src="/src/wijmo/controls/cultures/wijmo.culture.ja.min.js"></script>
+-->
+
+<!-- AngularJS and Wijmo directives (optional, use in AngularJS applications) -->
+<!--
+<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js"></script>
+<script src="/src/wijmo/interop/angular/wijmo.angular.min.js"></script>
+-->
+
+
+<body>
+<h1>Hello</h1>
+
+<p>这是一个 FlexGrid 控件:</p>
+<div id="theGrid" style="width:100%;height:auto;"></div>
+
+<p>这是一个 FlexChart 控件:</p>
+<div id="theChart" style="width:100%;height:350px;"></div>
+
+<p>这是一个 FlexSheet 控件:</p>
+<div id="theSheet" style="width:100%;height:350px;"></div>
+
+<p>对于目前而言,就是这样了...</p>
+</body>
+<script id="scriptInit" type="text/javascript">
+    $(document).ready(function () {
+
+        // 生成一些随机数据
+        var countries = 'US,Germany,UK,Japan,Italy,Greece'.split(','),
+                data = [];
+        for (var i = 0; i < countries.length; i++) {
+            data.push({
+                country: countries[i],
+                downloads: Math.round(Math.random() * 20000),
+                sales: Math.random() * 10000,
+                expenses: Math.random() * 5000
+            });
+        }
+
+        // 创建 grid 并展示数据
+        var grid = new wijmo.grid.FlexGrid('#theGrid');
+        grid.itemsSource = data;
+
+        // 创建一个图表,并展示一些数据
+        var chart = new wijmo.chart.FlexChart('#theChart');
+        chart.initialize({
+            itemsSource: data,
+            bindingX: 'country',
+            series: [
+                { name: 'Sales', binding: 'sales' },
+                { name: 'Expenses', binding: 'expenses', chartType: wijmo.chart.ChartType.SplineSymbols },
+                { name: 'Downloads', binding: 'downloads', chartType: wijmo.chart.ChartType.LineSymbols } ]
+        });
+
+        var sheet = new wijmo.sheet.FlexSheet('#theSheet');
+        //sheet.show
+    });
+</script>
+</html>

File diff suppressed because it is too large
+ 7 - 0
src/css/bootstrap/bootstrap.min.css


File diff suppressed because it is too large
+ 4 - 0
src/css/font-awesome/font-awesome.min.css


BIN
src/css/font-awesome/fonts/FontAwesome.otf


BIN
src/css/font-awesome/fonts/fontawesome-webfont.eot


File diff suppressed because it is too large
+ 2671 - 0
src/css/font-awesome/fonts/fontawesome-webfont.svg


BIN
src/css/font-awesome/fonts/fontawesome-webfont.ttf


BIN
src/css/font-awesome/fonts/fontawesome-webfont.woff


BIN
src/css/font-awesome/fonts/fontawesome-webfont.woff2


+ 163 - 0
src/css/main.css

@@ -0,0 +1,163 @@
+/*building SAAS 0.1*/
+/*bootstrap 初始化*/
+body{
+    font-size:0.9rem
+}
+.dropdown-menu {
+    font-size:0.9rem
+}
+/*自定义css*/
+.header {
+    background:#e1e1e1
+}
+.header .header-logo {
+    background:#ff6501;
+    color:#fff;
+    float: left;
+    padding-top: .25rem;
+    padding-bottom: .25rem;
+    margin-right: 1rem;
+    font-size: 1.25rem;
+    line-height: inherit
+}
+.main {
+    position: relative;
+    background: #f7f7f9;
+}
+.main-nav {
+    position:absolute;
+    text-align: center;
+    z-index: 999;
+    padding:2px 0 0 2px
+}
+.main-nav .nav a{
+    display: block;
+    width:28px;
+    text-align: center;
+    line-height: 18px;
+    color:#999;
+    padding:10px 0;
+    border-right:1px solid #ccc;
+}
+.main-nav .nav a:hover{
+    background: #fff;
+    color:#333;
+    text-decoration: none;
+}
+.main-nav .nav a.active{
+    border:1px solid #ccc;
+    border-right:1px solid #fff;
+    background: #fff;
+    color:#333
+}
+.content {
+    border-left:1px solid #ccc;
+    margin-left:29px;
+    background: #fff
+}
+.toolsbar {
+    height: 30px;
+    line-height: 30px;
+}
+.toolsbar tools-btn.btn:hover {
+    background: #f7f7f9;
+}
+.main-side {
+    border-top:1px solid #ccc;
+    border-left:1px solid #ccc;
+}
+.top-content,.fluid-content{
+    overflow: auto;
+    border-bottom: 1px solid #ccc;
+}
+.bottom-content {
+}
+.warp-p2 {
+    padding:2px
+}
+.bottom-content .nav{
+    background: #f7f7f9;
+}
+.bottom-content .nav-tabs .nav-link,.side-tabs .nav-tabs .nav-link{
+    border-radius: 0;
+    padding:0.2em 0.5em
+}
+.side-tabs .nav-tabs {
+    border-bottom: none;
+}
+.side-tabs .nav-tabs .nav-link{
+    border-radius: 0;
+    padding:0em 0.5em
+}
+.bottom-content .nav-tabs .nav-link.active {
+    border-top:1px solid #f7f7f9
+}
+.side-tabs .nav-tabs .nav-link.active {
+    border-top:none;
+    background:#ccc
+}
+.side-tabs a.active,.sub-nav a.active {
+    background:#ccc
+}
+.poj-manage {
+    background:#fff
+}
+.slide-sidebar{
+    border-left: 1px solid #E1E1E1;
+    box-shadow: 0px 15px 15px rgba(0, 0, 0, 0.1);
+    background: none repeat scroll 0% 0% #ffffff;
+    overflow: hidden;
+    position: absolute;
+    right: 0px;
+    top: 0;
+    z-index:999;
+    width: 0px;
+}
+
+.new-msg{
+    -webkit-animation:tada 1s infinite .2s ease both;
+    -moz-animation:tada 1s infinite .2s ease both;}
+@-webkit-keyframes tada{
+    0%{-webkit-transform:scale(1)}
+    10%,20%{-webkit-transform:scale(0.9) rotate(-3deg)}
+    30%,50%,70%,90%{-webkit-transform:scale(1.1) rotate(3deg)}
+    40%,60%,80%{-webkit-transform:scale(1.1) rotate(-3deg)}
+    100%{-webkit-transform:scale(1) rotate(0)}
+}
+@-moz-keyframes tada{
+    0%{-moz-transform:scale(1)}
+    10%,20%{-moz-transform:scale(0.9) rotate(-3deg)}
+    30%,50%,70%,90%{-moz-transform:scale(1.1) rotate(3deg)}
+    40%,60%,80%{-moz-transform:scale(1.1) rotate(-3deg)}
+    100%{-moz-transform:scale(1) rotate(0)}
+}
+.has-danger{
+    -webkit-animation:shake 1s .2s ease both;
+    -moz-animation:shake 1s .2s ease both;
+    animation:shake 1s .2s ease both;}
+@-webkit-keyframes shake{
+    0%,100%{-webkit-transform:translateX(0);}
+    10%,30%,50%,70%, 90%{-webkit-transform:translateX(-10px);}
+    20%,40%,60%,80%{-webkit-transform:translateX(10px);}
+}
+@-moz-keyframes shake{
+    0%,100%{-moz-transform:translateX(0);}
+    10%,30%,50%,70%, 90%{-moz-transform:translateX(-10px);}
+    20%,40%,60%,80%{-moz-transform:translateX(10px);}
+}
+@keyframes shake{
+    0%,100%{transform:translateX(0);}
+    10%,30%,50%,70%, 90%{transform:translateX(-10px);}
+    20%,40%,60%,80%{transform:translateX(10px);}
+}
+.tab-content {
+    max-height:200px;
+    overflow: auto;
+}
+.form-signin {
+    max-width: 500px;
+    margin: 150px auto;
+}
+.poj-list,.side-content{
+    overflow: auto;
+}

File diff suppressed because it is too large
+ 4142 - 0
src/lib/jszip.min.js


+ 15 - 0
src/wijmo/controls/cultures/wijmo.culture.de.d.ts

@@ -0,0 +1,15 @@
+/*
+    *
+    * Wijmo Library 5.20143.39
+    * http://wijmo.com/
+    *
+    * Copyright(c) GrapeCity, Inc.  All rights reserved.
+    * 
+    * Licensed under the Wijmo Commercial License. 
+    * sales@wijmo.com
+    * http://wijmo.com/products/wijmo-5/license/
+    *
+    */
+declare module wijmo {
+}
+

+ 91 - 0
src/wijmo/controls/cultures/wijmo.culture.de.js

@@ -0,0 +1,91 @@
+/*
+    *
+    * Wijmo Library 5.20143.39
+    * http://wijmo.com/
+    *
+    * Copyright(c) GrapeCity, Inc.  All rights reserved.
+    * 
+    * Licensed under the Wijmo Commercial License. 
+    * sales@wijmo.com
+    * http://wijmo.com/products/wijmo-5/license/
+    *
+    */
+/*
+* Wijmo culture file: de (German)
+*/
+var wijmo;
+(function (wijmo) {
+    wijmo.culture = {
+        Globalize: {
+            numberFormat: {
+                '.': ',',
+                ',': '.',
+                percent: { pattern: ['-n %', 'n %'] },
+                currency: { decimals: 2, symbol: '€', pattern: ['-n $', 'n $'] }
+            },
+            calendar: {
+                '/': '.',
+                ':': ':',
+                firstDay: 1,
+                days: ['Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag'],
+                daysAbbr: ['So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa'],
+                months: ['Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember'],
+                monthsAbbr: ['Jan', 'Feb', 'Mrz', 'Apr', 'Mai', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dez'],
+                am: ['', ''],
+                pm: ['', ''],
+                eras: ['n. Chr.'],
+                patterns: {
+                    d: 'dd.MM.yyyy', D: 'dddd, d. MMMM yyyy',
+                    f: 'dddd, d. MMMM yyyy HH:mm', F: 'dddd, d. MMMM yyyy HH:mm:ss',
+                    t: 'HH:mm', T: 'HH:mm:ss',
+                    m: 'd. MMMM', M: 'd. MMMM',
+                    y: 'MMMM yyyy', Y: 'MMMM yyyy',
+                    g: 'dd.MM.yyyy HH:mm', G: 'dd.MM.yyyy HH:mm:ss',
+                    s: 'yyyy"-"MM"-"dd"T"HH":"mm":"ss'
+                }
+            }
+        },
+        FlexGrid: {
+            groupHeaderFormat: '{name}: <b>{value} </b>({count:n0} Titel)'
+        },
+        FlexGridFilter: {
+            header: 'Zeige Artikel mit Wert',
+            and: 'Und',
+            or: 'Oder',
+            apply: 'Anwenden',
+            clear: 'Löschen',
+            stringOperators: [
+                { name: '(Nicht festgelegt)', op: null },
+                { name: 'Gleich', op: 0 },
+                { name: 'Ist Nicht gleich', op: 1 },
+                { name: 'Beginnt mit', op: 6 },
+                { name: 'Endet mit', op: 7 },
+                { name: 'Enthält', op: 8 },
+                { name: 'Enthält nicht', op: 9 }
+            ],
+            numberOperators: [
+                { name: '(Nicht festgelegt)', op: null },
+                { name: 'Gleich', op: 0 },
+                { name: 'Ist Nicht gleich', op: 1 },
+                { name: 'Größer als', op: 2 },
+                { name: 'Größer oder gleich', op: 3 },
+                { name: 'Kleiner als', op: 4 },
+                { name: 'Kleiner oder gleich', op: 5 }
+            ],
+            dateOperators: [
+                { name: '(Nicht festgelegt)', op: null },
+                { name: 'Gleich', op: 0 },
+                { name: 'Vor', op: 4 },
+                { name: 'Nach', op: 3 }
+            ],
+            booleanOperators: [
+                { name: '(Nicht festgelegt)', op: null },
+                { name: 'Gleich', op: 0 },
+                { name: 'Ist Nicht gleich', op: 1 }
+            ]
+        }
+    };
+})(wijmo || (wijmo = {}));
+;
+//# sourceMappingURL=wijmo.culture.de.js.map
+

File diff suppressed because it is too large
+ 13 - 0
src/wijmo/controls/cultures/wijmo.culture.de.min.js


+ 15 - 0
src/wijmo/controls/cultures/wijmo.culture.en-GB.d.ts

@@ -0,0 +1,15 @@
+/*
+    *
+    * Wijmo Library 5.20143.39
+    * http://wijmo.com/
+    *
+    * Copyright(c) GrapeCity, Inc.  All rights reserved.
+    * 
+    * Licensed under the Wijmo Commercial License. 
+    * sales@wijmo.com
+    * http://wijmo.com/products/wijmo-5/license/
+    *
+    */
+declare module wijmo {
+}
+

+ 91 - 0
src/wijmo/controls/cultures/wijmo.culture.en-GB.js

@@ -0,0 +1,91 @@
+/*
+    *
+    * Wijmo Library 5.20143.39
+    * http://wijmo.com/
+    *
+    * Copyright(c) GrapeCity, Inc.  All rights reserved.
+    * 
+    * Licensed under the Wijmo Commercial License. 
+    * sales@wijmo.com
+    * http://wijmo.com/products/wijmo-5/license/
+    *
+    */
+/*
+* Wijmo culture file: en-GB (English (United Kingdom))
+*/
+var wijmo;
+(function (wijmo) {
+    wijmo.culture = {
+        Globalize: {
+            numberFormat: {
+                '.': '.',
+                ',': ',',
+                percent: { pattern: ['-n %', 'n %'] },
+                currency: { decimals: 2, symbol: '£', pattern: ['-$n', '$n'] }
+            },
+            calendar: {
+                '/': '/',
+                ':': ':',
+                firstDay: 1,
+                days: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],
+                daysAbbr: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
+                months: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
+                monthsAbbr: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
+                am: ['AM', 'A'],
+                pm: ['PM', 'P'],
+                eras: ['A.D.'],
+                patterns: {
+                    d: 'dd/MM/yyyy', D: 'dd MMMM yyyy',
+                    f: 'dd MMMM yyyy HH:mm', F: 'dd MMMM yyyy HH:mm:ss',
+                    t: 'HH:mm', T: 'HH:mm:ss',
+                    m: 'dd MMMM', M: 'dd MMMM',
+                    y: 'MMMM yyyy', Y: 'MMMM yyyy',
+                    g: 'dd/MM/yyyy HH:mm', G: 'dd/MM/yyyy HH:mm:ss',
+                    s: 'yyyy"-"MM"-"dd"T"HH":"mm":"ss'
+                }
+            }
+        },
+        FlexGrid: {
+            groupHeaderFormat: '{name}: <b>{value} </b>({count} items)'
+        },
+        FlexGridFilter: {
+            header: 'Show items where the value',
+            and: 'And',
+            or: 'Or',
+            apply: 'Apply',
+            clear: 'Clear',
+            stringOperators: [
+                { name: '(not set)', op: null },
+                { name: 'Equals', op: 0 },
+                { name: 'Does not equal', op: 1 },
+                { name: 'Begins with', op: 6 },
+                { name: 'Ends with', op: 7 },
+                { name: 'Contains', op: 8 },
+                { name: 'Does not contain', op: 9 }
+            ],
+            numberOperators: [
+                { name: '(not set)', op: null },
+                { name: 'Equals', op: 0 },
+                { name: 'Does not equal', op: 1 },
+                { name: 'Is Greater than', op: 2 },
+                { name: 'Is Greater than or equal to', op: 3 },
+                { name: 'Is Less than', op: 4 },
+                { name: 'Is Less than or equal to', op: 5 }
+            ],
+            dateOperators: [
+                { name: '(not set)', op: null },
+                { name: 'Equals', op: 0 },
+                { name: 'Is Before', op: 4 },
+                { name: 'Is After', op: 3 }
+            ],
+            booleanOperators: [
+                { name: '(not set)', op: null },
+                { name: 'Equals', op: 0 },
+                { name: 'Does not equal', op: 1 }
+            ]
+        }
+    };
+})(wijmo || (wijmo = {}));
+;
+//# sourceMappingURL=wijmo.culture.en-GB.js.map
+

File diff suppressed because it is too large
+ 13 - 0
src/wijmo/controls/cultures/wijmo.culture.en-GB.min.js


+ 15 - 0
src/wijmo/controls/cultures/wijmo.culture.en.d.ts

@@ -0,0 +1,15 @@
+/*
+    *
+    * Wijmo Library 5.20143.39
+    * http://wijmo.com/
+    *
+    * Copyright(c) GrapeCity, Inc.  All rights reserved.
+    * 
+    * Licensed under the Wijmo Commercial License. 
+    * sales@wijmo.com
+    * http://wijmo.com/products/wijmo-5/license/
+    *
+    */
+declare module wijmo {
+}
+

+ 91 - 0
src/wijmo/controls/cultures/wijmo.culture.en.js

@@ -0,0 +1,91 @@
+/*
+    *
+    * Wijmo Library 5.20143.39
+    * http://wijmo.com/
+    *
+    * Copyright(c) GrapeCity, Inc.  All rights reserved.
+    * 
+    * Licensed under the Wijmo Commercial License. 
+    * sales@wijmo.com
+    * http://wijmo.com/products/wijmo-5/license/
+    *
+    */
+/*
+* Wijmo culture file: en (English)
+*/
+var wijmo;
+(function (wijmo) {
+    wijmo.culture = {
+        Globalize: {
+            numberFormat: {
+                '.': '.',
+                ',': ',',
+                percent: { pattern: ['-n %', 'n %'] },
+                currency: { decimals: 2, symbol: '$', pattern: ['($n)', '$n'] }
+            },
+            calendar: {
+                '/': '/',
+                ':': ':',
+                firstDay: 0,
+                days: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],
+                daysAbbr: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
+                months: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
+                monthsAbbr: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
+                am: ['AM', 'A'],
+                pm: ['PM', 'P'],
+                eras: ['A.D.'],
+                patterns: {
+                    d: 'M/d/yyyy', D: 'dddd, MMMM d, yyyy',
+                    f: 'dddd, MMMM d, yyyy h:mm tt', F: 'dddd, MMMM d, yyyy h:mm:ss tt',
+                    t: 'h:mm tt', T: 'h:mm:ss tt',
+                    m: 'MMMM d', M: 'MMMM d',
+                    y: 'MMMM yyyy', Y: 'MMMM yyyy',
+                    g: 'M/d/yyyy h:mm tt', G: 'M/d/yyyy h:mm:ss tt',
+                    s: 'yyyy"-"MM"-"dd"T"HH":"mm":"ss'
+                }
+            }
+        },
+        FlexGrid: {
+            groupHeaderFormat: '{name}: <b>{value} </b>({count:n0} items)'
+        },
+        FlexGridFilter: {
+            header: 'Show items where the value',
+            and: 'And',
+            or: 'Or',
+            apply: 'Apply',
+            clear: 'Clear',
+            stringOperators: [
+                { name: '(not set)', op: null },
+                { name: 'Equals', op: 0 },
+                { name: 'Does not equal', op: 1 },
+                { name: 'Begins with', op: 6 },
+                { name: 'Ends with', op: 7 },
+                { name: 'Contains', op: 8 },
+                { name: 'Does not contain', op: 9 }
+            ],
+            numberOperators: [
+                { name: '(not set)', op: null },
+                { name: 'Equals', op: 0 },
+                { name: 'Does not equal', op: 1 },
+                { name: 'Is Greater than', op: 2 },
+                { name: 'Is Greater than or equal to', op: 3 },
+                { name: 'Is Less than', op: 4 },
+                { name: 'Is Less than or equal to', op: 5 }
+            ],
+            dateOperators: [
+                { name: '(not set)', op: null },
+                { name: 'Equals', op: 0 },
+                { name: 'Is Before', op: 4 },
+                { name: 'Is After', op: 3 }
+            ],
+            booleanOperators: [
+                { name: '(not set)', op: null },
+                { name: 'Equals', op: 0 },
+                { name: 'Does not equal', op: 1 }
+            ]
+        }
+    };
+})(wijmo || (wijmo = {}));
+;
+//# sourceMappingURL=wijmo.culture.en.js.map
+

File diff suppressed because it is too large
+ 13 - 0
src/wijmo/controls/cultures/wijmo.culture.en.min.js


+ 13 - 0
src/wijmo/controls/cultures/wijmo.culture.es.d.ts

@@ -0,0 +1,13 @@
+/*
+    *
+    * Wijmo Library 5.20143.39
+    * http://wijmo.com/
+    *
+    * Copyright(c) GrapeCity, Inc.  All rights reserved.
+    * 
+    * Licensed under the Wijmo Commercial License. 
+    * sales@wijmo.com
+    * http://wijmo.com/products/wijmo-5/license/
+    *
+    */
+

+ 87 - 0
src/wijmo/controls/cultures/wijmo.culture.es.js

@@ -0,0 +1,87 @@
+/*
+    *
+    * Wijmo Library 5.20143.39
+    * http://wijmo.com/
+    *
+    * Copyright(c) GrapeCity, Inc.  All rights reserved.
+    * 
+    * Licensed under the Wijmo Commercial License. 
+    * sales@wijmo.com
+    * http://wijmo.com/products/wijmo-5/license/
+    *
+    */
+/*
+* Wijmo culture file: es (Spanish)
+*/
+wijmo.culture = {
+    Globalize: {
+        numberFormat: {
+            '.': ',',
+            ',': '.',
+            percent: { pattern: ['-n %', 'n %'] },
+            currency: { decimals: 2, symbol: '€', pattern: ['-n $', 'n $'] }
+        },
+        calendar: {
+            '/': '/',
+            ':': ':',
+            firstDay: 1,
+            days: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado'],
+            daysAbbr: ['do.', 'lu.', 'ma.', 'mi.', 'ju.', 'vi.', 'sá.'],
+            months: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'],
+            monthsAbbr: ['ene.', 'feb.', 'mar.', 'abr.', 'may.', 'jun.', 'jul.', 'ago.', 'sep.', 'oct.', 'nov.', 'dic.'],
+            am: ['', ''],
+            pm: ['', ''],
+            eras: ['d. C.'],
+            patterns: {
+                d: 'dd/MM/yyyy', D: 'dddd, d" de "MMMM" de "yyyy',
+                f: 'dddd, d" de "MMMM" de "yyyy H:mm', F: 'dddd, d" de "MMMM" de "yyyy H:mm:ss',
+                t: 'H:mm', T: 'H:mm:ss',
+                m: 'd" de "MMMM', M: 'd" de "MMMM',
+                y: 'MMMM" de "yyyy', Y: 'MMMM" de "yyyy',
+                g: 'dd/MM/yyyy H:mm', G: 'dd/MM/yyyy H:mm:ss',
+                s: 'yyyy"-"MM"-"dd"T"HH":"mm":"ss'
+            }
+        }
+    },
+    FlexGrid: {
+        groupHeaderFormat: '<b>{value} </b>({count:n0} ítems)'
+    },
+    FlexGridFilter: {
+        header: 'Mostrar ítems donde el valor',
+        and: 'Y',
+        or: 'O',
+        apply: 'Aplicar',
+        clear: 'Borrar',
+        stringOperators: [
+            { name: '(ninguno)', op: null },
+            { name: 'Es igual a', op: 0 },
+            { name: 'No es igual a', op: 1 },
+            { name: 'Comienza con x', op: 6 },
+            { name: 'Termina con', op: 7 },
+            { name: 'Contiene', op: 8 },
+            { name: 'No contiene', op: 9 }
+        ],
+        numberOperators: [
+            { name: '(ninguno)', op: null },
+            { name: 'Es igual a', op: 0 },
+            { name: 'No es igual a', op: 1 },
+            { name: 'Es mayor que', op: 2 },
+            { name: 'Es mayor que o igual a', op: 3 },
+            { name: 'Es menor que', op: 4 },
+            { name: 'Es menor que o igual a', op: 5 }
+        ],
+        dateOperators: [
+            { name: '(ninguno)', op: null },
+            { name: 'Es igual a', op: 0 },
+            { name: 'Es antes de', op: 4 },
+            { name: 'Es después de', op: 3 }
+        ],
+        booleanOperators: [
+            { name: '(ninguno)', op: null },
+            { name: 'Es igual a', op: 0 },
+            { name: 'No es igual a', op: 1 }
+        ]
+    }
+};
+//# sourceMappingURL=wijmo.culture.es.js.map
+

File diff suppressed because it is too large
+ 13 - 0
src/wijmo/controls/cultures/wijmo.culture.es.min.js


+ 15 - 0
src/wijmo/controls/cultures/wijmo.culture.fr.d.ts

@@ -0,0 +1,15 @@
+/*
+    *
+    * Wijmo Library 5.20143.39
+    * http://wijmo.com/
+    *
+    * Copyright(c) GrapeCity, Inc.  All rights reserved.
+    * 
+    * Licensed under the Wijmo Commercial License. 
+    * sales@wijmo.com
+    * http://wijmo.com/products/wijmo-5/license/
+    *
+    */
+declare module wijmo {
+}
+

+ 91 - 0
src/wijmo/controls/cultures/wijmo.culture.fr.js

@@ -0,0 +1,91 @@
+/*
+    *
+    * Wijmo Library 5.20143.39
+    * http://wijmo.com/
+    *
+    * Copyright(c) GrapeCity, Inc.  All rights reserved.
+    * 
+    * Licensed under the Wijmo Commercial License. 
+    * sales@wijmo.com
+    * http://wijmo.com/products/wijmo-5/license/
+    *
+    */
+/*
+* Wijmo culture file: fr (French)
+*/
+var wijmo;
+(function (wijmo) {
+    wijmo.culture = {
+        Globalize: {
+            numberFormat: {
+                '.': ',',
+                ',': ' ',
+                percent: { pattern: ['-n %', 'n %'] },
+                currency: { decimals: 2, symbol: '€', pattern: ['-n $', 'n $'] }
+            },
+            calendar: {
+                '/': '/',
+                ':': ':',
+                firstDay: 1,
+                days: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'],
+                daysAbbr: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'],
+                months: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'],
+                monthsAbbr: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'],
+                am: ['', ''],
+                pm: ['', ''],
+                eras: ['ap. J.-C.'],
+                patterns: {
+                    d: 'dd/MM/yyyy', D: 'dddd d MMMM yyyy',
+                    f: 'dddd d MMMM yyyy HH:mm', F: 'dddd d MMMM yyyy HH:mm:ss',
+                    t: 'HH:mm', T: 'HH:mm:ss',
+                    m: 'd MMMM', M: 'd MMMM',
+                    y: 'MMMM yyyy', Y: 'MMMM yyyy',
+                    g: 'dd/MM/yyyy HH:mm', G: 'dd/MM/yyyy HH:mm:ss',
+                    s: 'yyyy"-"MM"-"dd"T"HH":"mm":"ss'
+                }
+            }
+        },
+        FlexGrid: {
+            groupHeaderFormat: '{name}: <b>{value} </b>({count:n0} articles)'
+        },
+        FlexGridFilter: {
+            header: 'Afficher articles où la valeur',
+            and: 'Et',
+            or: 'Ou',
+            apply: 'Appliquer',
+            clear: 'Supprimer',
+            stringOperators: [
+                { name: '(Non définie)', op: null },
+                { name: 'Est égale à', op: 0 },
+                { name: 'N\'est pas égale à', op: 1 },
+                { name: 'Commence par', op: 6 },
+                { name: 'Se termine par', op: 7 },
+                { name: 'Contient', op: 8 },
+                { name: 'Ne contient pas', op: 9 }
+            ],
+            numberOperators: [
+                { name: '(Non définie)', op: null },
+                { name: 'Est égale à', op: 0 },
+                { name: 'N\'est pas égale à', op: 1 },
+                { name: 'Est supérieure à', op: 2 },
+                { name: 'Est supérieure ou égale à', op: 3 },
+                { name: 'Est inférieure à', op: 4 },
+                { name: 'Est inférieure ou égale à', op: 5 }
+            ],
+            dateOperators: [
+                { name: '(Non définie)', op: null },
+                { name: 'Est égale à', op: 0 },
+                { name: 'Est avant', op: 4 },
+                { name: 'Est après', op: 3 }
+            ],
+            booleanOperators: [
+                { name: '(Non définie)', op: null },
+                { name: 'Est égale à', op: 0 },
+                { name: 'N\'est pas égale à', op: 1 }
+            ]
+        }
+    };
+})(wijmo || (wijmo = {}));
+;
+//# sourceMappingURL=wijmo.culture.fr.js.map
+

File diff suppressed because it is too large
+ 13 - 0
src/wijmo/controls/cultures/wijmo.culture.fr.min.js


+ 15 - 0
src/wijmo/controls/cultures/wijmo.culture.it.d.ts

@@ -0,0 +1,15 @@
+/*
+    *
+    * Wijmo Library 5.20143.39
+    * http://wijmo.com/
+    *
+    * Copyright(c) GrapeCity, Inc.  All rights reserved.
+    * 
+    * Licensed under the Wijmo Commercial License. 
+    * sales@wijmo.com
+    * http://wijmo.com/products/wijmo-5/license/
+    *
+    */
+declare module wijmo {
+}
+

+ 91 - 0
src/wijmo/controls/cultures/wijmo.culture.it.js

@@ -0,0 +1,91 @@
+/*
+    *
+    * Wijmo Library 5.20143.39
+    * http://wijmo.com/
+    *
+    * Copyright(c) GrapeCity, Inc.  All rights reserved.
+    * 
+    * Licensed under the Wijmo Commercial License. 
+    * sales@wijmo.com
+    * http://wijmo.com/products/wijmo-5/license/
+    *
+    */
+/*
+* Wijmo culture file: it (Italian)
+*/
+var wijmo;
+(function (wijmo) {
+    wijmo.culture = {
+        Globalize: {
+            numberFormat: {
+                '.': ',',
+                ',': '.',
+                percent: { pattern: ['-n%', 'n%'] },
+                currency: { decimals: 2, symbol: '€', pattern: ['-$ n', '$ n'] }
+            },
+            calendar: {
+                '/': '/',
+                ':': ':',
+                firstDay: 1,
+                days: ['domenica', 'lunedì', 'martedì', 'mercoledì', 'giovedì', 'venerdì', 'sabato'],
+                daysAbbr: ['dom', 'lun', 'mar', 'mer', 'gio', 'ven', 'sab'],
+                months: ['gennaio', 'febbraio', 'marzo', 'aprile', 'maggio', 'giugno', 'luglio', 'agosto', 'settembre', 'ottobre', 'novembre', 'dicembre'],
+                monthsAbbr: ['gen', 'feb', 'mar', 'apr', 'mag', 'giu', 'lug', 'ago', 'set', 'ott', 'nov', 'dic'],
+                am: ['', ''],
+                pm: ['', ''],
+                eras: ['d.C.'],
+                patterns: {
+                    d: 'dd/MM/yyyy', D: 'dddd d MMMM yyyy',
+                    f: 'dddd d MMMM yyyy HH:mm', F: 'dddd d MMMM yyyy HH:mm:ss',
+                    t: 'HH:mm', T: 'HH:mm:ss',
+                    m: 'd MMMM', M: 'd MMMM',
+                    y: 'MMMM yyyy', Y: 'MMMM yyyy',
+                    g: 'dd/MM/yyyy HH:mm', G: 'dd/MM/yyyy HH:mm:ss',
+                    s: 'yyyy"-"MM"-"dd"T"HH":"mm":"ss'
+                }
+            }
+        },
+        FlexGrid: {
+            groupHeaderFormat: '{name}: <b>{value} </b>({count:n0} articoli)'
+        },
+        FlexGridFilter: {
+            header: 'Mostra elementi in cui il valore',
+            and: 'E',
+            or: 'O',
+            apply: 'Applica',
+            clear: 'Rimuovi',
+            stringOperators: [
+                { name: '(Non impostato)', op: null },
+                { name: 'È uguale a', op: 0 },
+                { name: 'Non è uguale a', op: 1 },
+                { name: 'Inizia con', op: 6 },
+                { name: 'Finisce per', op: 7 },
+                { name: 'Contiene', op: 8 },
+                { name: 'Non contiene', op: 9 }
+            ],
+            numberOperators: [
+                { name: '(Non impostato)', op: null },
+                { name: 'È uguale a', op: 0 },
+                { name: 'Non è uguale a', op: 1 },
+                { name: 'È maggiore di', op: 2 },
+                { name: 'È maggiore di o uguale a', op: 3 },
+                { name: 'È minore di', op: 4 },
+                { name: 'È minore di o uguale a', op: 5 }
+            ],
+            dateOperators: [
+                { name: '(Non impostato)', op: null },
+                { name: 'È uguale a', op: 0 },
+                { name: 'Prima di', op: 4 },
+                { name: 'Dopo', op: 3 }
+            ],
+            booleanOperators: [
+                { name: '(Non impostato)', op: null },
+                { name: 'È uguale a', op: 0 },
+                { name: 'Non è uguale a', op: 1 }
+            ]
+        }
+    };
+})(wijmo || (wijmo = {}));
+;
+//# sourceMappingURL=wijmo.culture.it.js.map
+

File diff suppressed because it is too large
+ 13 - 0
src/wijmo/controls/cultures/wijmo.culture.it.min.js


+ 15 - 0
src/wijmo/controls/cultures/wijmo.culture.ja.d.ts

@@ -0,0 +1,15 @@
+/*
+    *
+    * Wijmo Library 5.20143.39
+    * http://wijmo.com/
+    *
+    * Copyright(c) GrapeCity, Inc.  All rights reserved.
+    * 
+    * Licensed under the Wijmo Commercial License. 
+    * sales@wijmo.com
+    * http://wijmo.com/products/wijmo-5/license/
+    *
+    */
+declare module wijmo {
+}
+

+ 97 - 0
src/wijmo/controls/cultures/wijmo.culture.ja.js

@@ -0,0 +1,97 @@
+/*
+    *
+    * Wijmo Library 5.20143.39
+    * http://wijmo.com/
+    *
+    * Copyright(c) GrapeCity, Inc.  All rights reserved.
+    * 
+    * Licensed under the Wijmo Commercial License. 
+    * sales@wijmo.com
+    * http://wijmo.com/products/wijmo-5/license/
+    *
+    */
+/*
+* Wijmo culture file: ja (Japanese)
+*/
+var wijmo;
+(function (wijmo) {
+    wijmo.culture = {
+        Globalize: {
+            numberFormat: {
+                '.': '.',
+                ',': ',',
+                percent: { pattern: ['-n%', 'n%'] },
+                currency: { decimals: 0, symbol: '¥', pattern: ['-$n', '$n'] }
+            },
+            calendar: {
+                '/': '/',
+                ':': ':',
+                firstDay: 0,
+                days: ['日曜日', '月曜日', '火曜日', '水曜日', '木曜日', '金曜日', '土曜日'],
+                daysAbbr: ['日', '月', '火', '水', '木', '金', '土'],
+                months: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],
+                monthsAbbr: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'],
+                am: ['午前', '午'],
+                pm: ['午後', '午'],
+                //eras: ['西暦'],
+                eras: [
+                    { name: '平成', symbol: 'H', start: new Date(1989, 0, 8) },
+                    { name: '昭和', symbol: 'S', start: new Date(1926, 11, 25) },
+                    { name: '大正', symbol: 'T', start: new Date(1912, 6, 30) },
+                    { name: '明治', symbol: 'M', start: new Date(1868, 8, 8) }
+                ],
+                patterns: {
+                    d: 'yyyy/M/d', D: 'yyyy"年"M"月"d"日"',
+                    f: 'yyyy"年"M"月"d"日" H:mm', F: 'yyyy"年"M"月"d"日" H:mm:ss',
+                    t: 'H:mm', T: 'H:mm:ss',
+                    m: 'M"月"d"日"', M: 'M"月"d"日"',
+                    y: 'yyyy"年"M"月"', Y: 'yyyy"年"M"月"',
+                    g: 'yyyy/M/d H:mm', G: 'yyyy/M/d H:mm:ss',
+                    s: 'yyyy"-"M"-"d"T"HH":"mm":"ss'
+                }
+            }
+        },
+        FlexGrid: {
+            groupHeaderFormat: '{name}: <b>{value} </b>({count:n0} 項目)'
+        },
+        FlexGridFilter: {
+            header: '抽出条件の指定',
+            and: 'AND',
+            or: 'OR',
+            apply: '適用',
+            clear: 'リセット',
+            stringOperators: [
+                { name: '(設定しない)', op: null },
+                { name: '指定の値に等しい', op: 0 },
+                { name: '指定の値に等しくない', op: 1 },
+                { name: '指定の値で始まる', op: 6 },
+                { name: '指定の値で終わる', op: 7 },
+                { name: '指定の値を含む', op: 8 },
+                { name: '指定の値を含まない', op: 9 }
+            ],
+            numberOperators: [
+                { name: '(設定しない)', op: null },
+                { name: '指定の値に等しい', op: 0 },
+                { name: '指定の値に等しくない', op: 1 },
+                { name: '指定の値より大きい', op: 2 },
+                { name: '指定の値以上', op: 3 },
+                { name: '指定の値より小さい', op: 4 },
+                { name: '指定の値以下', op: 5 }
+            ],
+            dateOperators: [
+                { name: '(設定しない)', op: null },
+                { name: '指定の値に等しい', op: 0 },
+                { name: '前である', op: 4 },
+                { name: 'の後である', op: 3 }
+            ],
+            booleanOperators: [
+                { name: '(設定しない)', op: null },
+                { name: '指定の値に等しい', op: 0 },
+                { name: '指定の値に等しくない', op: 1 }
+            ]
+        }
+    };
+})(wijmo || (wijmo = {}));
+;
+//# sourceMappingURL=wijmo.culture.ja.js.map
+

File diff suppressed because it is too large
+ 13 - 0
src/wijmo/controls/cultures/wijmo.culture.ja.min.js


+ 15 - 0
src/wijmo/controls/cultures/wijmo.culture.ko.d.ts

@@ -0,0 +1,15 @@
+/*
+    *
+    * Wijmo Library 5.20143.39
+    * http://wijmo.com/
+    *
+    * Copyright(c) GrapeCity, Inc.  All rights reserved.
+    * 
+    * Licensed under the Wijmo Commercial License. 
+    * sales@wijmo.com
+    * http://wijmo.com/products/wijmo-5/license/
+    *
+    */
+declare module wijmo {
+}
+

+ 91 - 0
src/wijmo/controls/cultures/wijmo.culture.ko.js

@@ -0,0 +1,91 @@
+/*
+    *
+    * Wijmo Library 5.20143.39
+    * http://wijmo.com/
+    *
+    * Copyright(c) GrapeCity, Inc.  All rights reserved.
+    * 
+    * Licensed under the Wijmo Commercial License. 
+    * sales@wijmo.com
+    * http://wijmo.com/products/wijmo-5/license/
+    *
+    */
+/*
+* Wijmo culture file: ko (Korean)
+*/
+var wijmo;
+(function (wijmo) {
+    wijmo.culture = {
+        Globalize: {
+            numberFormat: {
+                '.': '.',
+                ',': ',',
+                percent: { pattern: ['-n %', 'n %'] },
+                currency: { decimals: 0, symbol: '₩', pattern: ['-$n', '$n'] }
+            },
+            calendar: {
+                '/': '-',
+                ':': ':',
+                firstDay: 0,
+                days: ['일요일', '월요일', '화요일', '수요일', '목요일', '금요일', '토요일'],
+                daysAbbr: ['일', '월', '화', '수', '목', '금', '토'],
+                months: ['1월', '2월', '3월', '4월', '5월', '6월', '7월', '8월', '9월', '10월', '11월', '12월'],
+                monthsAbbr: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'],
+                am: ['오전', '오'],
+                pm: ['오후', '오'],
+                eras: ['서기'],
+                patterns: {
+                    d: 'yyyy-MM-dd', D: 'yyyy"년" M"월" d"일" dddd',
+                    f: 'yyyy"년" M"월" d"일" dddd tt h:mm', F: 'yyyy"년" M"월" d"일" dddd tt h:mm:ss',
+                    t: 'tt h:mm', T: 'tt h:mm:ss',
+                    m: 'M"월" d"일"', M: 'M"월" d"일"',
+                    y: 'yyyy"년" M"월"', Y: 'yyyy"년" M"월"',
+                    g: 'yyyy-MM-dd tt h:mm', G: 'yyyy-MM-dd tt h:mm:ss',
+                    s: 'yyyy"-"MM"-"dd"T"HH":"mm":"ss'
+                }
+            }
+        },
+        FlexGrid: {
+            groupHeaderFormat: '{name}: <b>{value} </b>({count:n0} 항목)'
+        },
+        FlexGridFilter: {
+            header: '자료 행 보기',
+            and: '그리고',
+            or: '또는',
+            apply: '적용',
+            clear: '확인',
+            stringOperators: [
+                { name: '(설정되지 않음)', op: null },
+                { name: '같음', op: 0 },
+                { name: '같지 않음', op: 1 },
+                { name: '로 시작', op: 6 },
+                { name: '로 엔드', op: 7 },
+                { name: '포함', op: 8 },
+                { name: '포함하지 않음', op: 9 }
+            ],
+            numberOperators: [
+                { name: '(설정되지 않음)', op: null },
+                { name: '같음', op: 0 },
+                { name: '같지 않음', op: 1 },
+                { name: '보다 큼', op: 2 },
+                { name: '크거나 같음', op: 3 },
+                { name: '보다 작음', op: 4 },
+                { name: '작거나 같음', op: 5 }
+            ],
+            dateOperators: [
+                { name: '(설정되지 않음)', op: null },
+                { name: '같음', op: 0 },
+                { name: '전에', op: 4 },
+                { name: '후', op: 3 }
+            ],
+            booleanOperators: [
+                { name: '(설정되지 않음)', op: null },
+                { name: '같음', op: 0 },
+                { name: '같지 않음', op: 1 }
+            ]
+        }
+    };
+})(wijmo || (wijmo = {}));
+;
+//# sourceMappingURL=wijmo.culture.ko.js.map
+

File diff suppressed because it is too large
+ 13 - 0
src/wijmo/controls/cultures/wijmo.culture.ko.min.js


+ 15 - 0
src/wijmo/controls/cultures/wijmo.culture.pt.d.ts

@@ -0,0 +1,15 @@
+/*
+    *
+    * Wijmo Library 5.20143.39
+    * http://wijmo.com/
+    *
+    * Copyright(c) GrapeCity, Inc.  All rights reserved.
+    * 
+    * Licensed under the Wijmo Commercial License. 
+    * sales@wijmo.com
+    * http://wijmo.com/products/wijmo-5/license/
+    *
+    */
+declare module wijmo {
+}
+

+ 91 - 0
src/wijmo/controls/cultures/wijmo.culture.pt.js

@@ -0,0 +1,91 @@
+/*
+    *
+    * Wijmo Library 5.20143.39
+    * http://wijmo.com/
+    *
+    * Copyright(c) GrapeCity, Inc.  All rights reserved.
+    * 
+    * Licensed under the Wijmo Commercial License. 
+    * sales@wijmo.com
+    * http://wijmo.com/products/wijmo-5/license/
+    *
+    */
+/*
+* Wijmo culture file: pt (Portuguese)
+*/
+var wijmo;
+(function (wijmo) {
+    wijmo.culture = {
+        Globalize: {
+            numberFormat: {
+                '.': ',',
+                ',': '.',
+                percent: { pattern: ['-n%', 'n%'] },
+                currency: { decimals: 2, symbol: 'R$', pattern: ['-$ n', '$ n'] }
+            },
+            calendar: {
+                '/': '/',
+                ':': ':',
+                firstDay: 0,
+                days: ['domingo', 'segunda-feira', 'terça-feira', 'quarta-feira', 'quinta-feira', 'sexta-feira', 'sábado'],
+                daysAbbr: ['dom', 'seg', 'ter', 'qua', 'qui', 'sex', 'sáb'],
+                months: ['janeiro', 'fevereiro', 'março', 'abril', 'maio', 'junho', 'julho', 'agosto', 'setembro', 'outubro', 'novembro', 'dezembro'],
+                monthsAbbr: ['jan', 'fev', 'mar', 'abr', 'mai', 'jun', 'jul', 'ago', 'set', 'out', 'nov', 'dez'],
+                am: ['', ''],
+                pm: ['', ''],
+                eras: ['d.C.'],
+                patterns: {
+                    d: 'dd/MM/yyyy', D: 'dddd, d" de "MMMM" de "yyyy',
+                    f: 'dddd, d" de "MMMM" de "yyyy HH:mm', F: 'dddd, d" de "MMMM" de "yyyy HH:mm:ss',
+                    t: 'HH:mm', T: 'HH:mm:ss',
+                    m: 'd" de "MMMM', M: 'd" de "MMMM',
+                    y: 'MMMM" de "yyyy', Y: 'MMMM" de "yyyy',
+                    g: 'dd/MM/yyyy HH:mm', G: 'dd/MM/yyyy HH:mm:ss',
+                    s: 'yyyy"-"MM"-"dd"T"HH":"mm":"ss'
+                }
+            }
+        },
+        FlexGrid: {
+            groupHeaderFormat: '{name}: <b>{value} </b>({count:n0} itens)'
+        },
+        FlexGridFilter: {
+            header: 'Mostrar items com valor',
+            and: 'E',
+            or: 'Ou',
+            apply: 'Aplicar',
+            clear: 'Remover',
+            stringOperators: [
+                { name: '(nenhum)', op: null },
+                { name: 'Igual a', op: 0 },
+                { name: 'Diferente de', op: 1 },
+                { name: 'Que inicia com', op: 6 },
+                { name: 'Que termina em', op: 7 },
+                { name: 'Que contém', op: 8 },
+                { name: 'Que não contém', op: 9 }
+            ],
+            numberOperators: [
+                { name: '(nenhum)', op: null },
+                { name: 'Igual a', op: 0 },
+                { name: 'Diferente de', op: 1 },
+                { name: 'Maior que', op: 2 },
+                { name: 'Maior ou igual a', op: 3 },
+                { name: 'Menor que', op: 4 },
+                { name: 'Menor ou igual a', op: 5 }
+            ],
+            dateOperators: [
+                { name: '(nenhum)', op: null },
+                { name: 'Igual a', op: 0 },
+                { name: 'Antes de', op: 4 },
+                { name: 'Depois de', op: 3 }
+            ],
+            booleanOperators: [
+                { name: '(nenhum)', op: null },
+                { name: 'Igual a', op: 0 },
+                { name: 'Diferente de', op: 1 }
+            ]
+        }
+    };
+})(wijmo || (wijmo = {}));
+;
+//# sourceMappingURL=wijmo.culture.pt.js.map
+

File diff suppressed because it is too large
+ 13 - 0
src/wijmo/controls/cultures/wijmo.culture.pt.min.js


+ 15 - 0
src/wijmo/controls/cultures/wijmo.culture.ru.d.ts

@@ -0,0 +1,15 @@
+/*
+    *
+    * Wijmo Library 5.20143.39
+    * http://wijmo.com/
+    *
+    * Copyright(c) GrapeCity, Inc.  All rights reserved.
+    * 
+    * Licensed under the Wijmo Commercial License. 
+    * sales@wijmo.com
+    * http://wijmo.com/products/wijmo-5/license/
+    *
+    */
+declare module wijmo {
+}
+

+ 91 - 0
src/wijmo/controls/cultures/wijmo.culture.ru.js

@@ -0,0 +1,91 @@
+/*
+    *
+    * Wijmo Library 5.20143.39
+    * http://wijmo.com/
+    *
+    * Copyright(c) GrapeCity, Inc.  All rights reserved.
+    * 
+    * Licensed under the Wijmo Commercial License. 
+    * sales@wijmo.com
+    * http://wijmo.com/products/wijmo-5/license/
+    *
+    */
+/*
+* Wijmo culture file: ru (Russian)
+*/
+var wijmo;
+(function (wijmo) {
+    wijmo.culture = {
+        Globalize: {
+            numberFormat: {
+                '.': ',',
+                ',': ' ',
+                percent: { pattern: ['-n%', 'n%'] },
+                currency: { decimals: 2, symbol: 'р.', pattern: ['-n $', 'n $'] }
+            },
+            calendar: {
+                '/': '.',
+                ':': ':',
+                firstDay: 1,
+                days: ['воскресенье', 'понедельник', 'вторник', 'среда', 'четверг', 'пятница', 'суббота'],
+                daysAbbr: ['Вс', 'Пн', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб'],
+                months: ['Январь', 'Февраль', 'Март', 'Апрель', 'Май', 'Июнь', 'Июль', 'Август', 'Сентябрь', 'Октябрь', 'Ноябрь', 'Декабрь'],
+                monthsAbbr: ['янв', 'фев', 'мар', 'апр', 'май', 'июн', 'июл', 'авг', 'сен', 'окт', 'ноя', 'дек'],
+                am: ['', ''],
+                pm: ['', ''],
+                eras: ['наша эра'],
+                patterns: {
+                    d: 'dd.MM.yyyy', D: 'd MMMM yyyy "г."',
+                    f: 'd MMMM yyyy "г." H:mm', F: 'd MMMM yyyy "г." H:mm:ss',
+                    t: 'H:mm', T: 'H:mm:ss',
+                    m: 'd MMMM', M: 'd MMMM',
+                    y: 'MMMM yyyy', Y: 'MMMM yyyy',
+                    g: 'dd.MM.yyyy H:mm', G: 'dd.MM.yyyy H:mm:ss',
+                    s: 'yyyy"-"MM"-"dd"T"HH":"mm":"ss'
+                }
+            }
+        },
+        FlexGrid: {
+            groupHeaderFormat: '{name}: <b>{value} </b>({count:n0} наименований)'
+        },
+        FlexGridFilter: {
+            header: 'Показать строки где значение',
+            and: 'И',
+            or: 'Или',
+            apply: 'Применить',
+            clear: 'Удалить',
+            stringOperators: [
+                { name: '(Не задано)', op: null },
+                { name: 'равно', op: 0 },
+                { name: 'не равно', op: 1 },
+                { name: 'начинается с', op: 6 },
+                { name: 'заканчивается на', op: 7 },
+                { name: 'содержит', op: 8 },
+                { name: 'не содержит', op: 9 }
+            ],
+            numberOperators: [
+                { name: '(Не задано)', op: null },
+                { name: 'равно', op: 0 },
+                { name: 'не равно', op: 1 },
+                { name: 'больше чем', op: 2 },
+                { name: 'больше или равно', op: 3 },
+                { name: 'меньше чем', op: 4 },
+                { name: 'меньше или равно', op: 5 }
+            ],
+            dateOperators: [
+                { name: '(Не задано)', op: null },
+                { name: 'равно', op: 0 },
+                { name: 'до', op: 4 },
+                { name: 'после', op: 3 }
+            ],
+            booleanOperators: [
+                { name: '(Не задано)', op: null },
+                { name: 'равно', op: 0 },
+                { name: 'не равно', op: 1 }
+            ]
+        }
+    };
+})(wijmo || (wijmo = {}));
+;
+//# sourceMappingURL=wijmo.culture.ru.js.map
+

File diff suppressed because it is too large
+ 13 - 0
src/wijmo/controls/cultures/wijmo.culture.ru.min.js


+ 15 - 0
src/wijmo/controls/cultures/wijmo.culture.zh.d.ts

@@ -0,0 +1,15 @@
+/*
+    *
+    * Wijmo Library 5.20143.39
+    * http://wijmo.com/
+    *
+    * Copyright(c) GrapeCity, Inc.  All rights reserved.
+    * 
+    * Licensed under the Wijmo Commercial License. 
+    * sales@wijmo.com
+    * http://wijmo.com/products/wijmo-5/license/
+    *
+    */
+declare module wijmo {
+}
+

+ 91 - 0
src/wijmo/controls/cultures/wijmo.culture.zh.js

@@ -0,0 +1,91 @@
+/*
+    *
+    * Wijmo Library 5.20143.39
+    * http://wijmo.com/
+    *
+    * Copyright(c) GrapeCity, Inc.  All rights reserved.
+    * 
+    * Licensed under the Wijmo Commercial License. 
+    * sales@wijmo.com
+    * http://wijmo.com/products/wijmo-5/license/
+    *
+    */
+/*
+* Wijmo culture file: zh (Chinese)
+*/
+var wijmo;
+(function (wijmo) {
+    wijmo.culture = {
+        Globalize: {
+            numberFormat: {
+                '.': '.',
+                ',': ',',
+                percent: { pattern: ['-n%', 'n%'] },
+                currency: { decimals: 2, symbol: '¥', pattern: ['$-n', '$n'] }
+            },
+            calendar: {
+                '/': '/',
+                ':': ':',
+                firstDay: 0,
+                days: ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'],
+                daysAbbr: ['周日', '周一', '周二', '周三', '周四', '周五', '周六'],
+                months: ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月'],
+                monthsAbbr: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],
+                am: ['上午', '上'],
+                pm: ['下午', '下'],
+                eras: ['公元'],
+                patterns: {
+                    d: 'yyyy/M/d', D: 'yyyy"年"M"月"d"日"',
+                    f: 'yyyy"年"M"月"d"日" H:mm', F: 'yyyy"年"M"月"d"日" H:mm:ss',
+                    t: 'H:mm', T: 'H:mm:ss',
+                    m: 'M"月"d"日"', M: 'M"月"d"日"',
+                    y: 'yyyy"年"M"月"', Y: 'yyyy"年"M"月"',
+                    g: 'yyyy/M/d H:mm', G: 'yyyy/M/d H:mm:ss',
+                    s: 'yyyy"-"MM"-"dd"T"HH":"mm":"ss'
+                }
+            }
+        },
+        FlexGrid: {
+            groupHeaderFormat: '{name}: <b>{value} </b>({count:n0} 项)'
+        },
+        FlexGridFilter: {
+            header: '显示行',
+            and: '与',
+            or: '或',
+            apply: '应用',
+            clear: '清除',
+            stringOperators: [
+                { name: '(空白)', op: null },
+                { name: '等于', op: 0 },
+                { name: '不等于', op: 1 },
+                { name: '开始是', op: 6 },
+                { name: '结尾是', op: 7 },
+                { name: '包含', op: 8 },
+                { name: '不包含', op: 9 }
+            ],
+            numberOperators: [
+                { name: '(空白)', op: null },
+                { name: '等于', op: 0 },
+                { name: '不等于', op: 1 },
+                { name: '大于', op: 2 },
+                { name: '大于或等于', op: 3 },
+                { name: '小于', op: 4 },
+                { name: '小于或等于', op: 5 }
+            ],
+            dateOperators: [
+                { name: '(空白)', op: null },
+                { name: '等于', op: 0 },
+                { name: '是前', op: 4 },
+                { name: '是后', op: 3 }
+            ],
+            booleanOperators: [
+                { name: '(空白)', op: null },
+                { name: '等于', op: 0 },
+                { name: '不等于', op: 1 }
+            ]
+        }
+    };
+})(wijmo || (wijmo = {}));
+;
+//# sourceMappingURL=wijmo.culture.zh.js.map
+

File diff suppressed because it is too large
+ 13 - 0
src/wijmo/controls/cultures/wijmo.culture.zh.min.js


File diff suppressed because it is too large
+ 1654 - 0
src/wijmo/controls/wijmo.chart.d.ts


File diff suppressed because it is too large
+ 13 - 0
src/wijmo/controls/wijmo.chart.min.js


File diff suppressed because it is too large
+ 2793 - 0
src/wijmo/controls/wijmo.d.ts


+ 446 - 0
src/wijmo/controls/wijmo.gauge.d.ts

@@ -0,0 +1,446 @@
+/*
+    *
+    * Wijmo Library 5.20143.39
+    * http://wijmo.com/
+    *
+    * Copyright(c) GrapeCity, Inc.  All rights reserved.
+    * 
+    * Licensed under the Wijmo Commercial License. 
+    * sales@wijmo.com
+    * http://wijmo.com/products/wijmo-5/license/
+    *
+    */
+/**
+* Defines the @see:RadialGauge, @see:LinearGauge, and @see:BulletGraph
+* controls.
+*
+* Unlike many gauge controls, Wijmo gauges concentrate on the data being
+* displayed, with little extraneous color and markup elements. They were
+* designed to be easy to use and to read, especially on small-screen devices.
+*
+* Wijmo gauges are composed of @see:Range objects. Every Wijmo gauge has
+* at least two ranges: the "face" and the "pointer".
+*
+* <ul><li>
+* The "face" represents the background gauge background. The "min" and "max"
+* properties of the face range correspond to the "min" and "max" properties
+* of the gauge control, and limit the values that can be displayed by the
+* gauge.
+* </li><li>
+* The "pointer" is the range that indicates the gauge's current value. The
+* "max" property of the pointer range corresponds to the "value" property
+* of the gauge.
+* </li></ul>
+*
+* In addition to these two special ranges, gauges may have any number of
+* additional ranges added to their "ranges" collection. These additional
+* ranges can be used for two things:
+*
+* <ul><li>
+* By default, the extra ranges appear as part of the gauge background.
+* This way you can show 'zones' within the gauge, like 'good', 'average',
+* and 'bad' for example.
+* </li><li>
+* If you set the gauge's "showRanges" property to false, the additional
+* ranges are not shown. Instead, they are used to automatically set the
+* color of the "pointer" based on the current value.
+* </li></ul>
+*/
+declare module wijmo.gauge {
+    /**
+    * Specifies which values should be displayed as text.
+    */
+    enum ShowText {
+        /** Do not show any text in the gauge. */
+        None = 0,
+        /** Show the gauge's @see:value as text. */
+        Value = 1,
+        /** Show the gauge's @see:min and @see:max values as text. */
+        MinMax = 2,
+        /** Show the gauge's @see:value, @see:min, and @see:max as text. */
+        All = 3,
+    }
+    /**
+    * Base class for the Wijmo Gauge controls (abstract).
+    */
+    class Gauge extends Control {
+        static _SVGNS: string;
+        static _ctr: number;
+        private _ranges;
+        private _rngElements;
+        private _format;
+        private _showRanges;
+        private _shadow;
+        private _animated;
+        private _animInterval;
+        private _readOnly;
+        private _step;
+        private _showText;
+        private _filterID;
+        private _rangesDirty;
+        private _origin;
+        public _thickness: number;
+        public _initialized: boolean;
+        public _animColor: string;
+        public _face: Range;
+        public _pointer: Range;
+        public _dSvg: HTMLDivElement;
+        public _svg: SVGSVGElement;
+        public _gFace: SVGGElement;
+        public _gRanges: SVGGElement;
+        public _gPointer: SVGGElement;
+        public _gCover: SVGGElement;
+        public _pFace: SVGPathElement;
+        public _pPointer: SVGPathElement;
+        public _filter: SVGFilterElement;
+        public _cValue: SVGCircleElement;
+        public _tValue: SVGTextElement;
+        public _tMin: SVGTextElement;
+        public _tMax: SVGTextElement;
+        /**
+        * Gets or sets the template used to instantiate @see:Gauge controls.
+        */
+        static controlTemplate: string;
+        /**
+        * Initializes a new instance of a @see:Gauge control.
+        *
+        * @param element The DOM element that will host the control, or a selector for the host element (e.g. '#theCtrl').
+        * @param options JavaScript object containing initialization data for the control.
+        */
+        constructor(element: any, options?: any);
+        /**
+        * Gets or sets the value displayed on the gauge.
+        */
+        public value : number;
+        /**
+        * Gets or sets the minimum value that can be displayed on the gauge.
+        */
+        public min : number;
+        /**
+        * Gets or sets the maximum value that can be displayed on the gauge.
+        */
+        public max : number;
+        /**
+        * Gets or sets the starting point used for painting the range.
+        *
+        * By default, this property is set to null, which causes the value range
+        * to start at the gauge's minimum value, or zero if the minimum is less
+        * than zero.
+        */
+        public origin : number;
+        /**
+        * Gets or whether the user can edit the value using the mouse and
+        * the keyboard.
+        */
+        public isReadOnly : boolean;
+        /**
+        * Gets or sets the amount to add or subtract to the @see:value property
+        * when the user presses the arrow keys.
+        */
+        public step : number;
+        /**
+        * Gets or sets the format string used for displaying the gauge values
+        * as text.
+        */
+        public format : string;
+        /**
+        * Gets or sets the thickness of the gauge, on a scale between zero and one.
+        *
+        * Setting the thickness to one causes the gauge to fill as much of the
+        * control area as possible. Smaller values create thinner gauges.
+        */
+        public thickness : number;
+        /**
+        * Gets the @see:Range used to represent the gauge's overall geometry
+        * and appearance.
+        */
+        public face : Range;
+        /**
+        * Gets the @see:Range used to represent the gauge's current value.
+        */
+        public pointer : Range;
+        /**
+        * Gets or sets which values should be displayed as text in the gauge.
+        */
+        public showText : ShowText;
+        /**
+        * Gets or sets whether the gauge should display the ranges contained in the @see:ranges property.
+        *
+        * If this property is set to false, the ranges contained in the @see:ranges property are not
+        * displayed in the gauge. Instead, they are used to interpolate the color of the @see:pointer
+        * range while animating value changes.
+        */
+        public showRanges : boolean;
+        /**
+        * Gets or sets whether the gauge should display a shadow effect.
+        */
+        public hasShadow : boolean;
+        /**
+        * Gets or sets whether the gauge should animate value changes.
+        */
+        public isAnimated : boolean;
+        /**
+        * Gets the collection of ranges in this gauge.
+        */
+        public ranges : collections.ObservableArray;
+        /**
+        * Occurs when the value shown on the gauge changes.
+        */
+        public valueChanged: Event;
+        /**
+        * Raises the @see:valueChanged event.
+        */
+        public onValueChanged(): void;
+        /**
+        * Refreshes the control.
+        *
+        * @param fullUpdate Whether to update the control layout as well as the content.
+        */
+        public refresh(fullUpdate?: boolean): void;
+        /**
+        * Gets a number that corresponds to the value of the gauge at a given point.
+        *
+        * For example:
+        *
+        * <pre>
+        * // hit test a point when the user clicks on the gauge
+        * gauge.hostElement.addEventListener('click', function (e) {
+        *   var ht = gauge.hitTest(e.pageX, e.pageY);
+        *   if (ht != null) {
+        *     console.log('you clicked the gauge at value ' + ht.toString());
+        *   }
+        * });
+        * </pre>
+        *
+        * @param pt Point to investigate, in window coordinates, or a MoueEvent object, or x coordinate of the point.
+        * @param y Y coordinate of the point (if the first parameter is a number).
+        * @return Value of the gauge at the point, or null if the point on the gauge's face.
+        */
+        public hitTest(pt: any, y?: number): number;
+        public _getFilterUrl(): string;
+        public _getRangeElement(rng: Range): SVGPathElement;
+        public _rangeChanged(rng: Range, e: PropertyChangedEventArgs): void;
+        public _createElement(tag: string, parent: SVGElement, cls?: string): Element;
+        public _centerText(e: SVGTextElement, value: number, center: Point): void;
+        public _copy(key: string, value: any): boolean;
+        public _getPercent: (value: any) => number;
+        public _setAttribute(e: SVGElement, att: string, value: string): void;
+        public _updateRange(rng: Range, value?: number): void;
+        public _getPointerColor(value: number): string;
+        public _keyDown(e: KeyboardEvent): void;
+        public _htDown: number;
+        public _mouseDown(e: MouseEvent): void;
+        public _mouseMove(e: MouseEvent): void;
+        public _mouseUp(e: MouseEvent): void;
+        public _applyValue(value: number): void;
+        public _updateRangeElement(e: SVGPathElement, rng: Range, value: number): void;
+        public _updateText(): void;
+        public _getValueFromPoint(pt: Point): any;
+        public _fix(n: any): string;
+    }
+}
+
+declare module wijmo.gauge {
+    /**
+    * Represents the direction in which the pointer of a @see:LinearGauge
+    * increases.
+    */
+    enum GaugeDirection {
+        /** Gauge value increases from left to right. */
+        Right = 0,
+        /** Gauge value increases from right to left. */
+        Left = 1,
+        /** Gauge value increases from bottom to top. */
+        Up = 2,
+        /** Gauge value increases from top to bottom. */
+        Down = 3,
+    }
+    /**
+    * The @see:LinearGauge displays a linear scale with an indicator
+    * that represents a single value and optional ranges to represent
+    * reference values.
+    *
+    * If you set the gauge's @see:isReadOnly property to false, then the
+    * user will be able to edit the value by clicking on the gauge.
+    *
+    * @fiddle:t842jozb
+    */
+    class LinearGauge extends Gauge {
+        private _direction;
+        /**
+        * Initializes a new instance of a @see:LinearGauge control.
+        *
+        * @param element The DOM element that will host the control, or a selector for the host element (e.g. '#theCtrl').
+        * @param options JavaScript object containing initialization data for the control.
+        */
+        constructor(element: any, options?: any);
+        /**
+        * Gets or sets the direction in which the gauge is filled.
+        */
+        public direction : GaugeDirection;
+        public _updateRangeElement(e: SVGPathElement, rng: Range, value: number): void;
+        public _updateText(): void;
+        public _updateSegment(path: SVGPathElement, rc: Rect): void;
+        public _setText(e: SVGTextElement, value: number, rc: Rect, pos: string): void;
+        public _getRangeRect(rng: Range, value?: number): Rect;
+        public _getValueFromPoint(pt: Point): number;
+    }
+}
+
+declare module wijmo.gauge {
+    /**
+    * The @see:RadialGauge displays a circular scale with an indicator
+    * that represents a single value and optional ranges to represent
+    * reference values.
+    *
+    * If you set the gauge's @see:isReadOnly property to false, then the
+    * user will be able to edit the value by clicking on the gauge.
+    *
+    * @fiddle:7ec2144u
+    */
+    class RadialGauge extends Gauge {
+        private _startAngle;
+        private _sweepAngle;
+        private _autoScale;
+        /**
+        * Initializes a new instance of a @see:RadialGauge control.
+        *
+        * @param element The DOM element that will host the control, or a selector for the host element (e.g. '#theCtrl').
+        * @param options JavaScript object containing initialization data for the control.
+        */
+        constructor(element: any, options?: any);
+        /**
+        * Gets or sets the starting angle for the gauge, in degrees.
+        *
+        * Angles are measured clockwise, starting at the 9 o'clock position.
+        */
+        public startAngle : number;
+        /**
+        * Gets or sets the sweeping angle for the gauge, in degrees.
+        *
+        * Angles are measured clockwise, starting at the 9 o'clock position.
+        */
+        public sweepAngle : number;
+        /**
+        * Gets or sets whether the gauge should automatically scale to fill the host element.
+        */
+        public autoScale : boolean;
+        /**
+        * Refreshes the control.
+        *
+        * @param fullUpdate Whether to update the control layout as well as the content.
+        */
+        public refresh(fullUpdate?: boolean): void;
+        public _updateRangeElement(e: SVGPathElement, rng: Range, value: number): void;
+        public _updateText(): void;
+        public _updateSegment(path: SVGPathElement, ctr: Point, rOut: number, rIn: number, start: number, sweep: number): void;
+        public _getPoint(ctr: Point, angle: number, radius: number): Point;
+        public _getValueFromPoint(pt: Point): number;
+    }
+}
+
+declare module wijmo.gauge {
+    /**
+    * The @see:BulletGraph is a type of linear gauge designed specifically for use
+    * in dashboards. It displays a single key measure along with a comparative
+    * measure and qualitative ranges to instantly signal whether the measure is
+    * good, bad, or in some other state.
+    *
+    * Bullet Graphs were created and popularized by dashboard design expert
+    * Stephen Few. You can find more details and examples on
+    * <a href="http://en.wikipedia.org/wiki/Bullet_graph">Wikipedia</a>.
+    *
+    * @fiddle:8uxb1vwf
+    */
+    class BulletGraph extends LinearGauge {
+        public _rngTarget: Range;
+        public _rngGood: Range;
+        public _rngBad: Range;
+        /**
+        * Initializes a new instance of a @see:BulletGraph control.
+        *
+        * @param element The DOM element that will host the control, or a selector for the host element (e.g. '#theCtrl').
+        * @param options JavaScript object containing initialization data for the control.
+        */
+        constructor(element: any, options?: any);
+        /**
+        * Gets or sets the target value for the measure.
+        */
+        public target : number;
+        /**
+        * Gets or sets a reference value considered good for the measure.
+        */
+        public good : number;
+        /**
+        * Gets or sets a reference value considered bad for the measure.
+        */
+        public bad : number;
+        public _getRangeRect(rng: Range, value?: number): Rect;
+    }
+}
+
+declare module wijmo.gauge {
+    /**
+    * Defines ranges to be used with @see:Gauge controls.
+    *
+    * @see:Range objects have @see:min and @see:max properties that
+    * define the range's domain, as well as @see:color and @see:thickness
+    * properties that define the range's appearance.
+    *
+    * Every @see:Gauge control has at least two ranges:
+    * the 'face' defines the minimum and maximum values for the gauge, and
+    * the 'pointer' displays the gauge's current value.
+    *
+    * In addition to the built-in ranges, gauges may have additional
+    * ranges used to display regions of significance (for example,
+    * low, medium, and high values).
+    */
+    class Range {
+        static _ctr: number;
+        private _min;
+        private _max;
+        private _thickness;
+        private _color;
+        private _name;
+        /**
+        * Initializes a new instance of a @see:Range.
+        *
+        * @param name Name of the range.
+        */
+        constructor(name?: string);
+        /**
+        * Gets or sets the minimum value for this range.
+        */
+        public min : number;
+        /**
+        * Gets or sets the maximum value for this range.
+        */
+        public max : number;
+        /**
+        * Gets or sets the color used to display this range.
+        */
+        public color : string;
+        /**
+        * Gets or sets the thickness of this range as a percentage of
+        * the parent gauge's thickness.
+        */
+        public thickness : number;
+        /**
+        * Gets or sets whether the name of this @see:Range.
+        */
+        public name : string;
+        /**
+        * Occurs when the value of a property changes.
+        */
+        public propertyChanged: Event;
+        /**
+        * Raises the @see:propertyChanged event.
+        *
+        * @param e @see:PropertyChangedEventArgs that contains the property
+        * name, old, and new values.
+        */
+        public onPropertyChanged(e: PropertyChangedEventArgs): void;
+        public _setProp(name: string, value: any): void;
+    }
+}
+

File diff suppressed because it is too large
+ 13 - 0
src/wijmo/controls/wijmo.gauge.min.js


File diff suppressed because it is too large
+ 2258 - 0
src/wijmo/controls/wijmo.grid.d.ts


+ 287 - 0
src/wijmo/controls/wijmo.grid.filter.d.ts

@@ -0,0 +1,287 @@
+/*
+    *
+    * Wijmo Library 5.20143.39
+    * http://wijmo.com/
+    *
+    * Copyright(c) GrapeCity, Inc.  All rights reserved.
+    * 
+    * Licensed under the Wijmo Commercial License. 
+    * sales@wijmo.com
+    * http://wijmo.com/products/wijmo-5/license/
+    *
+    */
+/**
+* Defines the @see:FlexGridFilter and associated classes.
+*
+* The @see:FlexGridFilter class is an extension that adds column
+* filtering to @see:FlexGrid controls.
+*
+* This extension depends on the <b>wijmo.grid</b> and <b>wijmo.input</b>
+* modules.
+*
+* The example below shows how you can add a @see:FlexGridFilter to
+* a @see:FlexGrid control.
+*
+* @fiddle:6aax531a
+*/
+declare module wijmo.grid.filter {
+    /**
+    * Implements an Excel-style filter for @see:FlexGrid controls.
+    *
+    * To enable filtering on a @see:FlexGrid control, create an instance
+    * of the @see:FlexGridFilter and pass the grid as a parameter to the
+    * constructor. For example:
+    *
+    * <pre>
+    * // create FlexGrid
+    * var flex = new wijmo.grid.FlexGrid('#gridElement');
+    * // enable filtering on the FlexGrid
+    * var filter = new wijmo.grid.filter.FlexGridFilter(flex);
+    * </pre>
+    *
+    * Once this is done, a filter icon is added to the grid's column headers.
+    * Clicking the icon shows an editor where the user can edit the filter
+    * conditions for that column.
+    *
+    * The @see:FlexGridFilter class depends on the <b>wijmo.grid</b> and
+    * <b>wijmo.input</b> modules.
+    */
+    class FlexGridFilter {
+        static _WJA_FILTER: string;
+        public _grid: FlexGrid;
+        public _filters: ColumnFilter[];
+        public _filterColumns: string[];
+        public _divEdt: HTMLElement;
+        public _edtCol: Column;
+        public _ehBoundsChanged: any;
+        public _ehWheel: any;
+        public _showIcons: boolean;
+        /**
+        * Initializes a new instance of the @see:FlexGridFilter.
+        *
+        * @param grid The @see:FlexGrid to filter.
+        */
+        constructor(grid: FlexGrid);
+        /**
+        * Gets or sets a value indicating whether the @see:FlexGridFilter adds filter
+        * editing buttons to the grid's column headers.
+        */
+        public showFilterIcons : boolean;
+        /**
+        * Gets or sets an array containing the names or bindings of the columns
+        * that have filters.
+        *
+        * Setting this property to null or to an empty array adds filters to all
+        * columns.
+        */
+        public filterColumns : string[];
+        /**
+        * Gets the filter for the given column.
+        *
+        * @param col The @see:Column that the filter applies to.
+        * @param create The value indicating whether to create the filter if it does not exist.
+        */
+        public getColumnFilter(col: Column, create?: boolean): ColumnFilter;
+        /**
+        * Shows the filter editor for the given grid column.
+        *
+        * @param col The @see:Column that contains the filter to edit.
+        */
+        public editColumnFilter(col: any): void;
+        /**
+        * Closes the filter editor.
+        */
+        public closeEditor(): void;
+        /**
+        * Applies the current column filters to the grid.
+        */
+        public apply(): void;
+        /**
+        * Clears all column filters.
+        */
+        public clear(): void;
+        /**
+        * Occurs after the filter is applied.
+        */
+        public filterApplied: Event;
+        /**
+        * Raises the @see:filterApplied event.
+        */
+        public onFilterApplied(): void;
+        public _filter(item: any): boolean;
+        public _formatItem(sender: FlexGrid, e: FormatItemEventArgs): void;
+        public _mouseDown(e: any): void;
+        public _hasAttribute(e: any, att: string): boolean;
+        public _updatePosition(): void;
+        public _boundsChanged(e: any): void;
+        public _wheel(e: any): void;
+    }
+}
+
+declare module wijmo.grid.filter {
+    /**
+    * Defines a filter for a column on a @see:FlexGrid control.
+    *
+    * Column filters contain two conditions that may be combined
+    * using an 'and' or an 'or' operator.
+    *
+    * This class is used by the @see:FlexGridFilter class; you
+    * rarely use it directly.
+    */
+    class ColumnFilter {
+        public _col: Column;
+        public _bnd: Binding;
+        public _c1: FilterCondition;
+        public _c2: FilterCondition;
+        public _and: boolean;
+        /**
+        * Initializes a new instance of a @see:ColumnFilter.
+        *
+        * @param column The column to filter.
+        */
+        constructor(column: Column);
+        /**
+        * Gets the @see:Column to filter.
+        */
+        public column : Column;
+        /**
+        * Gets the first condition in the filter.
+        */
+        public condition1 : FilterCondition;
+        /**
+        * Gets the second condition in the filter.
+        */
+        public condition2 : FilterCondition;
+        /**
+        * Gets a value indicating whether to combine the two conditions
+        * with an AND or an OR operator.
+        */
+        public and : boolean;
+        /**
+        * Gets a value indicating whether the filter is active.
+        *
+        * The filter is active if at least one of the two conditions
+        * has its operator set to a non-null value.
+        */
+        public isActive : boolean;
+        /**
+        * Returns a value indicating whether the given value passes this @see:Filter.
+        *
+        * @param value The value to test.
+        */
+        public apply(value: any): boolean;
+    }
+}
+
+declare module wijmo.grid.filter {
+    /**
+    * The editor used to inspect and modify @see:ColumnFilter objects.
+    *
+    * This class is used by the @see:FlexGridFilter class; you
+    * rarely use it directly.
+    */
+    class ColumnFilterEditor extends Control {
+        public _filter: ColumnFilter;
+        public _cmb1: input.ComboBox;
+        public _val1: any;
+        public _cmb2: input.ComboBox;
+        public _val2: any;
+        public _divHdr: HTMLElement;
+        public _divCmb1: HTMLElement;
+        public _divVal1: HTMLElement;
+        public _divCmb2: HTMLElement;
+        public _divVal2: HTMLElement;
+        public _spAnd: HTMLSpanElement;
+        public _spOr: HTMLSpanElement;
+        public _btnAnd: HTMLInputElement;
+        public _btnOr: HTMLInputElement;
+        public _btnApply: HTMLLinkElement;
+        public _btnClear: HTMLLinkElement;
+        /**
+        * Gets or sets the template used to instantiate @see:ColumnFilterEditor controls.
+        */
+        static controlTemplate: string;
+        public '</div>': any;
+        /**
+        * Initializes a new instance of the @see:ColumnFilterEditor.
+        *
+        * @param element The DOM element that hosts the control, or a selector
+        * for the host element (e.g. '#theCtrl').
+        * @param filter The @see:ColumnFilter to edit.
+        */
+        constructor(element: any, filter: ColumnFilter);
+        /**
+        * Gets a reference to the @see:ColumnFilter being edited.
+        */
+        public filter : ColumnFilter;
+        /**
+        * Occurs after the filter is modified.
+        */
+        public filterChanged: Event;
+        /**
+        * Raises the @see:filterChanged event.
+        */
+        public onFilterChanged(e?: EventArgs): void;
+        public _updateUIFromFilter(): void;
+        public _updateFilterFromUI(): void;
+        public _createOperatorCombo(element: any): input.ComboBox;
+        public _createValueInput(element: any): Control;
+        public _isTimeFormat(fmt: string): boolean;
+        public _btnAndOrChanged(e: any): void;
+        public _btnApplyClearClicked(e: any): void;
+    }
+}
+
+declare module wijmo.grid.filter {
+    /**
+    * Defines a filter condition.
+    *
+    * This class is used by the @see:FlexGridFilter class; you
+    * rarely use it directly.
+    */
+    class FilterCondition {
+        public _op: Operator;
+        public _val: any;
+        public _strVal: string;
+        /**
+        * Gets or sets the operator used by this @see:Condition.
+        */
+        public operator : Operator;
+        /**
+        * Gets or sets the value used by this @see:Condition.
+        */
+        public value : any;
+        /**
+        * Returns a value that determines whether the given value passes this @see:Condition.
+        *
+        * @param value The value to test.
+        */
+        public apply(value: any): boolean;
+    }
+    /**
+    * Specifies filter condition operators.
+    */
+    enum Operator {
+        /** Equals. */
+        EQ = 0,
+        /** Does not equal. */
+        NE = 1,
+        /** Greater than. */
+        GT = 2,
+        /** Greater than or equal to. */
+        GE = 3,
+        /** Less than. */
+        LT = 4,
+        /** Less than or equal to. */
+        LE = 5,
+        /** Begins with. */
+        BW = 6,
+        /** Ends with. */
+        EW = 7,
+        /** Contains. */
+        CT = 8,
+        /** Does not contain. */
+        NC = 9,
+    }
+}
+

File diff suppressed because it is too large
+ 13 - 0
src/wijmo/controls/wijmo.grid.filter.min.js


+ 102 - 0
src/wijmo/controls/wijmo.grid.grouppanel.d.ts

@@ -0,0 +1,102 @@
+/*
+    *
+    * Wijmo Library 5.20143.39
+    * http://wijmo.com/
+    *
+    * Copyright(c) GrapeCity, Inc.  All rights reserved.
+    * 
+    * Licensed under the Wijmo Commercial License. 
+    * sales@wijmo.com
+    * http://wijmo.com/products/wijmo-5/license/
+    *
+    */
+/**
+* Defines the @see:GroupPanel control.
+*/
+declare module wijmo.grid.grouppanel {
+    /**
+    * The @see:GroupPanel control provides a drag/drop UI for editing
+    * groups in a bound @see:FlexGrid control.
+    *
+    * It allows users to drag columns from the @see:FlexGrid into the
+    * panel and to move the groups within the panel. Users may click the
+    * group markers in the panel to sort based on the group column or to
+    * remove groups.
+    *
+    * In order to use a @see:GroupPanel, add it to a page that contains a
+    * @see:FlexGrid control and set the panel's @see:grid property to the
+    * @see:FlexGrid control. For example:
+    *
+    * <pre>// create a FlexGrid
+    * var flex = new wijmo.grid.FlexGrid('#flex-grid');
+    * flex.itemsSource = getData();
+    * // add a GroupPanel to edit data groups
+    * var groupPanel = new wijmo.grid.grouppanel.GroupPanel('#group-panel');
+    * groupPanel.placeholder = "Drag columns here to create groups.";
+    * groupPanel.grid = flex;</pre>
+    */
+    class GroupPanel extends Control {
+        public _g: any;
+        public _gds: collections.ObservableArray;
+        public _hideGroupedCols: boolean;
+        public _maxGroups: number;
+        public _dragCol: Column;
+        public _dragMarker: HTMLElement;
+        public _divMarkers: HTMLElement;
+        public _divPH: HTMLElement;
+        /**
+        * Gets or sets the template used to instantiate @see:GroupPanel controls.
+        */
+        static controlTemplate: string;
+        /**
+        * Initializes a new instance of a @see:GroupPanel control.
+        *
+        * @param element The DOM element that will host the control, or a selector for the host element (e.g. '#theCtrl').
+        * @param options JavaScript object containing initialization data for the control.
+        */
+        constructor(element: any, options?: any);
+        /**
+        * Gets or sets whether the panel should hide grouped columns in the owner grid.
+        *
+        * The @see:FlexGrid displays grouping information in row headers, so it is
+        * usually a good idea to hide grouped columns since they display redundant
+        * information.
+        */
+        public hideGroupedColumns : boolean;
+        /**
+        * Gets or sets the maximum number of groups allowed.
+        */
+        public maxGroups : number;
+        /**
+        * Gets or sets a string to be displayed in the control when it contains no groups.
+        */
+        public placeholder : string;
+        /**
+        * Gets or sets the @see:C1FlexGrid that is connected to this @see:GroupPanel.
+        *
+        * Once a grid is connected to the panel, the panel will display the groups
+        * defined in the grid's data source. Users will be able to drag grid columns
+        * into the panel to create new groups, drag groups withing the panel to
+        * re-arrange the groups, or delete items in the panel to remove the groups.
+        */
+        public grid : FlexGrid;
+        /**
+        * Updates the panel to show the current groups.
+        */
+        public refresh(): void;
+        public _addGroup(col: Column, e: MouseEvent): void;
+        public _moveGroup(marker: HTMLElement, e: MouseEvent): void;
+        public _removeGroup(index: number): void;
+        public _getIndex(e: MouseEvent): number;
+        public _getElementIndex(e: HTMLElement): number;
+        public _draggingColumn(s: FlexGrid, e: CellRangeEventArgs): void;
+        public _itemsSourceChanged(s: FlexGrid, e: EventArgs): void;
+        public _groupsChanged(s: FlexGrid, e: EventArgs): void;
+        public _dragStart(e: any): void;
+        public _dragOver(e: any): void;
+        public _drop(e: MouseEvent): void;
+        public _dragEnd(e: any): void;
+        public _click(e: any): void;
+    }
+}
+

File diff suppressed because it is too large
+ 13 - 0
src/wijmo/controls/wijmo.grid.grouppanel.min.js


File diff suppressed because it is too large
+ 13 - 0
src/wijmo/controls/wijmo.grid.min.js


File diff suppressed because it is too large
+ 4552 - 0
src/wijmo/controls/wijmo.grid.sheet.min.js


File diff suppressed because it is too large
+ 1271 - 0
src/wijmo/controls/wijmo.input.d.ts


File diff suppressed because it is too large
+ 13 - 0
src/wijmo/controls/wijmo.input.min.js


File diff suppressed because it is too large
+ 13 - 0
src/wijmo/controls/wijmo.min.js


+ 425 - 0
src/wijmo/interop/angular/wijmo.angular.d.ts

@@ -0,0 +1,425 @@
+/*
+    *
+    * Wijmo Library 5.20143.39
+    * http://wijmo.com/
+    *
+    * Copyright(c) GrapeCity, Inc.  All rights reserved.
+    * 
+    * Licensed under the Wijmo Commercial License. 
+    * sales@wijmo.com
+    * http://wijmo.com/products/wijmo-5/license/
+    *
+    */
+declare module wijmo {
+    module interop {
+        class ControlMetaFactory {
+            static CreateProp(propertyName: string, propertyType: PropertyType, bindingMode?: BindingMode, enumType?: any, isNativeControlProperty?: boolean, priority?: number): PropDescBase;
+            static CreateEvent(eventName: string, isPropChanged?: boolean): EventDescBase;
+            static CreateComplexProp(propertyName: string, isArray: boolean, ownsObject?: boolean): ComplexPropDescBase;
+            static findProp(propName: string, props: PropDescBase[]): PropDescBase;
+            static findEvent(eventName: string, events: EventDescBase[]): EventDescBase;
+            static findComplexProp(propName: string, props: ComplexPropDescBase[]): ComplexPropDescBase;
+            static getMetaData(metaDataId: any): MetaDataBase;
+            static getClassName(classRef: any): string;
+            private static findInArr(arr, propName, value);
+        }
+        class PropDescBase {
+            private _propertyName;
+            private _propertyType;
+            private _enumType;
+            private _bindingMode;
+            private _isNativeControlProperty;
+            private _priority;
+            constructor(propertyName: string, propertyType: PropertyType, bindingMode?: BindingMode, enumType?: any, isNativeControlProperty?: boolean, priority?: number);
+            public propertyName : string;
+            public propertyType : PropertyType;
+            public enumType : any;
+            public bindingMode : BindingMode;
+            public isNativeControlProperty : boolean;
+            public priority : number;
+            public shouldUpdateSource : boolean;
+            public initialize(options: any): void;
+        }
+        enum PropertyType {
+            Boolean = 0,
+            Number = 1,
+            Date = 2,
+            String = 3,
+            Enum = 4,
+            Function = 5,
+            EventHandler = 6,
+            Any = 7,
+        }
+        function isSimpleType(type: PropertyType): boolean;
+        enum BindingMode {
+            OneWay = 0,
+            TwoWay = 1,
+        }
+        class EventDescBase {
+            private _eventName;
+            private _isPropChanged;
+            constructor(eventName: string, isPropChanged?: boolean);
+            public eventName : string;
+            public isPropChanged : boolean;
+        }
+        class ComplexPropDescBase {
+            public propertyName: string;
+            public isArray: boolean;
+            private _ownsObject;
+            constructor(propertyName: string, isArray: boolean, ownsObject?: boolean);
+            public ownsObject : boolean;
+        }
+        class MetaDataBase {
+            private _props;
+            private _events;
+            private _complexProps;
+            public parentProperty: string;
+            public isParentPropertyArray: boolean;
+            public ownsObject: boolean;
+            public parentReferenceProperty: string;
+            constructor(props: PropDescBase[], events?: EventDescBase[], complexProps?: ComplexPropDescBase[], parentProperty?: string, isParentPropertyArray?: boolean, ownsObject?: boolean, parentReferenceProperty?: string);
+            public props : PropDescBase[];
+            public events : EventDescBase[];
+            public complexProps : ComplexPropDescBase[];
+            public add(props: PropDescBase[], events?: EventDescBase[], complexProps?: ComplexPropDescBase[], parentProperty?: string, isParentPropertyArray?: boolean, ownsObject?: boolean): MetaDataBase;
+            public prepare(): void;
+        }
+    }
+}
+
+declare module wijmo.angular {
+    class MetaFactory extends interop.ControlMetaFactory {
+        static CreateProp(propertyName: string, propertyType: interop.PropertyType, bindingMode?: interop.BindingMode, enumType?: any, isNativeControlProperty?: boolean, priority?: number): PropDesc;
+        static CreateEvent(eventName: string, isPropChanged?: boolean): EventDesc;
+        static CreateComplexProp(propertyName: string, isArray: boolean, ownsObject?: boolean): ComplexPropDesc;
+        static findProp(propName: string, props: PropDesc[]): PropDesc;
+        static findEvent(eventName: string, events: EventDesc[]): EventDesc;
+        static findComplexProp(propName: string, props: ComplexPropDesc[]): ComplexPropDesc;
+    }
+    class PropDesc extends interop.PropDescBase {
+        private _scopeBindingMode;
+        private _customHandler;
+        constructor(propertyName: string, propertyType: interop.PropertyType, bindingMode?: interop.BindingMode, enumType?: any, isNativeControlProperty?: boolean, priority?: number);
+        public scopeBindingMode : string;
+        public customHandler : (scope: ng.IScope, control: Control, value: any, oldValue: any, link: WjLink) => void;
+    }
+    class EventDesc extends interop.EventDescBase {
+    }
+    class ComplexPropDesc extends interop.ComplexPropDescBase {
+    }
+}
+
+declare module wijmo.angular {
+    class WjDirective implements ng.IDirective {
+        static _parPropAttr: string;
+        static _initPropAttr: string;
+        static _initEventAttr: string;
+        static _cntrlScopeProp: string;
+        static _cntrlLinkProp: string;
+        static _scopeChildrenProp: string;
+        static _optionalAttr: boolean;
+        static _angStripPrefixes: string[];
+        public link: (scope: ng.IScope, templateElement: ng.IAugmentedJQuery, templateAttributes: ng.IAttributes, controller: any, transclude: ng.ITranscludeFunction) => any;
+        public controller: any;
+        public replace: boolean;
+        public require: any;
+        public restrict: string;
+        public scope: any;
+        public template: string;
+        public transclude: boolean;
+        public _property: string;
+        public _isPropertyArray: boolean;
+        public _ownObject: boolean;
+        public _parentReferenceProperty: string;
+        public _isCustomParentInit: boolean;
+        public _props: PropDesc[];
+        public _events: EventDesc[];
+        public _complexProps: ComplexPropDesc[];
+        public _$parse: any;
+        private _stripReq;
+        public _controlConstructor : any;
+        public _getMetaDataId(): any;
+        constructor();
+        private _initDirective();
+        public _initSharedMeta(): void;
+        public _initProps(): void;
+        public _initEvents(): void;
+        public _createLink(): WjLink;
+        public _controllerImpl(controller: any, scope: any, tElement: any): void;
+        public _initControl(element: any): any;
+        public _isChild(): boolean;
+        public _isParentInitializer(): boolean;
+        public _isParentReferencer(): boolean;
+        public _scopeToAttrName(scopeName: string): string;
+        public _getComplexPropDesc(propName: string): ComplexPropDesc;
+        private _initScopeEvents();
+        private _initScopeDescription();
+        public _postLinkFn(): (scope: any, tElement: ng.IAugmentedJQuery, tAttrs: ng.IAttributes, controller?: any) => void;
+        private _prepareProps();
+        private _stripRequire(index);
+        static _versionOk(minVer: string): boolean;
+    }
+    class WjLink {
+        public directive: WjDirective;
+        public scope: ng.IScope;
+        public tElement: ng.IAugmentedJQuery;
+        public tAttrs: ng.IAttributes;
+        public controller: any;
+        public directiveTemplateElement: JQuery;
+        public control: any;
+        public parent: WjLink;
+        private _nonAssignable;
+        private _parentPropDesc;
+        private _definedProps;
+        private _definedEvents;
+        private _oldValues;
+        public _isInitialized: boolean;
+        private _scopeSuspend;
+        private _suspendedEvents;
+        constructor();
+        public _link(): void;
+        public _onChildrenReady(): void;
+        private _createInstance();
+        private _parentReady(parentLink);
+        public _initParent(): void;
+        public _destroy(): void;
+        private _notifyReady();
+        public _initControl(): any;
+        private _prepareControl();
+        private _setupScopeWithControlProperties();
+        private _initNonAssignable();
+        public _suspendScope(): void;
+        public _resumeScope(): void;
+        public _isScopeSuspended(): boolean;
+        public _isAttrDefined(name: string): boolean;
+        private _isAppliedToParent;
+        public _childInitialized(child: WjLink): void;
+        private _initialized();
+        private _appliedToParent();
+        private _checkRaiseInitialized();
+        private _addWatchers();
+        private _addEventHandlers();
+        private _addEventHandler(eventDesc);
+        private _updateScope(eventInfo?);
+        private _castValueToType(value, prop);
+        private _parseDate(value);
+        private _isChild();
+        private _isParentInitializer();
+        private _isParentReferencer();
+        private _getParentProp();
+        private _getParentReferenceProperty();
+        private _useParentObj();
+        private _isParentArray();
+        private _parentInCtor();
+        public _safeApply(scope: any, name: any, value: any): void;
+        public _shouldApply(scope: any, name: any, value: any): boolean;
+        public _canApply(scope: any, name: any): boolean;
+        public _nullOrValue(value: any): any;
+    }
+}
+
+declare module wijmo.angular {
+}
+
+declare module wijmo.angular {
+    class WjMenuLink extends WjLink {
+        public _link(): void;
+    }
+}
+
+declare module wijmo.angular {
+}
+
+declare module wijmo.angular {
+}
+
+declare module wijmo.angular {
+    /**
+    * AngularJS directive for the @see:FlexGrid control.
+    *
+    * Use the <b>wj-flex-grid</b> directive to add grids to your AngularJS applications.
+    * Note that directive and parameter names must be formatted as lower-case with dashes
+    * instead of camel-case. For example:
+    *
+    * <pre>&lt;p&gt;Here is a FlexGrid control:&lt;/p&gt;
+    * &lt;wj-flex-grid items-source="data"&gt;
+    *   &lt;wj-flex-grid-column
+    *     header="Country"
+    *     binding="country"&gt;
+    *   &lt;/wj-flex-grid-column&gt;
+    *   &lt;wj-flex-grid-column
+    *     header="Sales"
+    *     binding="sales"&gt;
+    *   &lt;/wj-flex-grid-column&gt;
+    *   &lt;wj-flex-grid-column
+    *     header="Expenses"
+    *     binding="expenses"&gt;
+    *   &lt;/wj-flex-grid-column&gt;
+    *   &lt;wj-flex-grid-column
+    *     header="Downloads"
+    *     binding="downloads"&gt;
+    *   &lt;/wj-flex-grid-column&gt;
+    * &lt;/wj-flex-grid&gt;</pre>
+    *
+    * The example below creates a FlexGrid control and binds it to a 'data' array
+    * exposed by the controller. The grid has three columns, each corresponding to
+    * a property of the objects contained in the source array.
+    *
+    * @fiddle:QNb9X
+    *
+    * The <b>wj-flex-grid</b> directive supports the following attributes:
+    *
+    * <dl class="dl-horizontal">
+    *   <dt>allowAddNew</dt>              <dd><code>@</code> A value indicating whether to show a new row
+    *                                     template so users can add items to the source collection.</dd>
+    *   <dt>allow-delete</dt>             <dd><code>@</code> A value indicating whether the grid deletes
+    *                                     selected rows when the user presses the Delete key.</dd>
+    *   <dt>allow-dragging</dt>           <dd><code>@</code> An @see:AllowDragging value indicating
+    *                                     whether and how the user can drag rows and columns with the mouse.</dd>
+    *   <dt>allow-merging</dt>            <dd><code>@</code> An @see:AllowMerging value indicating
+    *                                     which parts of the grid provide cell merging.</dd>
+    *   <dt>allow-resizing</dt>           <dd><code>@</code> An @see:AllowResizing value indicating
+    *                                     whether users are allowed to resize rows and columns with the mouse.</dd>
+    *   <dt>allow-sorting</dt>            <dd><code>@</code> A boolean value indicating whether users can sort
+    *                                     columns by clicking the column headers.</dd>
+    *   <dt>auto-generate-columns</dt>    <dd><code>@</code> A boolean value indicating whether the grid generates
+    *                                     columns automatically based on the <b>items-source</b>.</dd>
+    *   <dt>child-items-path</dt>         <dd><code>@</code> The name of the property used to generate
+    *                                     child rows in hierarchical grids.</dd>
+    *   <dt>control</dt>                  <dd><code>=</code> A reference to the @see:FlexGrid control
+    *                                     created by this directive.</dd>
+    *   <dt>frozen-columns</dt>           <dd><code>@</code> The number of frozen (non-scrollable) columns in the grid.</dd>
+    *   <dt>frozen-rows</dt>              <dd><code>@</code> The number of frozen (non-scrollable) rows in the grid.</dd>
+    *   <dt>group-header-format</dt>      <dd><code>@</code> The format string used to create the group
+    *                                     header content.</dd>
+    *   <dt>headers-visibility</dt>       <dd><code>=</code> A @see:HeadersVisibility value
+    *                                     indicating whether the row and column headers are visible. </dd>
+    *   <dt>initialized</dt>              <dd><code>&</code> This event occurs after the binding has finished
+    *                                     initializing the control with attribute values.</dd>
+    *   <dt>is-initialized</dt>           <dd><code>=</code> A value indicating whether the binding has finished
+    *                                     initializing the control with attribute values. </dd>
+    *   <dt>item-formatter</dt>           <dd><code>=</code> A function that customizes
+    *                                     cells on this grid.</dd>
+    *   <dt>items-source</dt>             <dd><code>=</code> An array or @see:ICollectionView object that
+    *                                     contains the items shown on the grid.</dd>
+    *   <dt>is-read-only</dt>             <dd><code>@</code> A boolean value indicating whether the user is
+    *                                     prevented from editing grid cells by typing into them.</dd>
+    *   <dt>merge-manager</dt>            <dd><code>=</code> A @see:MergeManager object that specifies
+    *                                     the merged extent of the specified cell.</dd>
+    *   <dt>scroll-position</dt>          <dd><code>=</code> A @see:Point that represents the value of the
+    *                                     grid's scrollbars.</dd>
+    *   <dt>selection</dt>                <dd><code>=</code> A @see:CellRange that represents the
+    *                                     currently selected cells.</dd>
+    *   <dt>selection-mode</dt>           <dd><code>@</code> A @see:SelectionMode value
+    *                                     indicating whether and how the user can select cells.</dd>
+    *   <dt>show-groups</dt>              <dd><code>@</code> A boolean value indicating whether to insert group
+    *                                     rows to delimit data groups.</dd>
+    *   <dt>show-sort</dt>                <dd><code>@</code> A boolean value indicating whether to display sort
+    *                                     indicators in the column headers.</dd>
+    *   <dt>tree-indent</dt>              <dd><code>@</code> The indentation, in pixels, used to offset row
+    *                                     groups of different levels.</dd>
+    *   <dt>beginning-edit</dt>           <dd><code>&</code> Handler for the @see:beginningEdit event.</dd>
+    *   <dt>cell-edit-ended</dt>          <dd><code>&</code> Handler for the @see:cellEditEnded event.</dd>
+    *   <dt>cell-edit-ending</dt>         <dd><code>&</code> Handler for the @see:cellEditEnding event.</dd>
+    *   <dt>prepare-cell-for-edit</dt>    <dd><code>&</code> Handler for the @see:prepareCellForEdit event.</dd>
+    *   <dt>resizing-column</dt>          <dd><code>&</code> Handler for the @see:resizingColumn event.</dd>
+    *   <dt>resized-column</dt>           <dd><code>&</code> Handler for the @see:resizedColumn event.</dd>
+    *   <dt>dragged-column</dt>           <dd><code>&</code> Handler for the @see:draggedColumn event.</dd>
+    *   <dt>dragging-column</dt>          <dd><code>&</code> Handler for the @see:draggingColumn event.</dd>
+    *   <dt>sorted-column</dt>            <dd><code>&</code> Handler for the @see:sortedColumn event.</dd>
+    *   <dt>sorting-column</dt>           <dd><code>&</code> Handler for the @see:sortingColumn event.</dd>
+    *   <dt>deleting-row</dt>             <dd><code>&</code> Handler for the @see:deletingRow event.</dd>
+    *   <dt>dragging-row</dt>             <dd><code>&</code> Handler for the @see:draggingRow event.</dd>
+    *   <dt>dragged-row</dt>              <dd><code>&</code> Handler for the @see:draggedRow event.</dd>
+    *   <dt>resizing-row</dt>             <dd><code>&</code> Handler for the @see:resizingRow event.</dd>
+    *   <dt>resized-row</dt>              <dd><code>&</code> Handler for the @see:resizedRow event.</dd>
+    *   <dt>row-added</dt>                <dd><code>&</code> Handler for the @see:rowAdded event.</dd>
+    *   <dt>row-edit-ended</dt>           <dd><code>&</code> Handler for the @see:rowEditEnded event.</dd>
+    *   <dt>row-edit-ending</dt>          <dd><code>&</code> Handler for the @see:rowEditEnding event.</dd>
+    *   <dt>loaded-rows</dt>              <dd><code>&</code> Handler for the @see:loadedRows event.</dd>
+    *   <dt>loading-rows</dt>             <dd><code>&</code> Handler for the @see:loadingRows event.</dd>
+    *   <dt>group-collapsed-changed</dt>  <dd><code>&</code> Handler for the @see:groupCollapsedChanged event.</dd>
+    *   <dt>group-collapsed-changing</dt> <dd><code>&</code> Handler for the @see:groupCollapsedChanging event.</dd>
+    *   <dt>items-source-changed</dt>     <dd><code>&</code> Handler for the @see:itemsSourceChanged event.</dd>
+    *   <dt>selection-changing</dt>       <dd><code>&</code> Handler for the @see:selectionChanging event.</dd>
+    *   <dt>selection-changed</dt>        <dd><code>&</code> Handler for the @see:selectionChanged event.</dd>
+    *   <dt>scroll-position-changed</dt>  <dd><code>&</code> Handler for the @see:scrollPositionChanged event.</dd>
+    * </dl>
+    *
+    * The <b>wj-flex-grid</b> directive may contain @see:WjFlexGridColumn child directives.
+    */
+    class WjFlexGrid extends WjDirective {
+        public _$compile: ng.ICompileService;
+        public _$interpolate: ng.IInterpolateService;
+        constructor($compile: ng.ICompileService, $interpolate: ng.IInterpolateService);
+        public _controlConstructor : typeof grid.FlexGrid;
+        public _createLink(): WjLink;
+        public _initProps(): void;
+        private _formatterPropHandler(scope, control, value, oldValue, link);
+    }
+    class WjFlexGridLink extends WjLink {
+        public _wrapperFormatter: Function;
+        public _userFormatter: Function;
+        public _onChildrenReady(): void;
+        private _initCellScope(scope, panel, rowIndex, columnIndex);
+        private _getCellTemplate(column);
+    }
+}
+
+/**
+* Contains AngularJS directives for the Wijmo controls.
+*
+* The directives allow you to add Wijmo controls to
+* <a href="https://angularjs.org/" target="_blank">AngularJS</a>
+* applications using simple markup in HTML pages.
+*
+* You can use directives as regular HTML tags in the page markup. The
+* tag name corresponds to the control name, prefixed with "wj-," and the
+* attributes correspond to the names of control properties and events.
+*
+* All control, property, and event names within directives follow
+* the usual AngularJS convention of replacing camel-casing with hyphenated
+* lower-case names.
+*
+* AngularJS directive parameters come in three flavors, depending on the
+* type of binding they use. The table below describes each one:
+*
+* <dl class="dl-horizontal">
+*   <dt><code>@</code></dt>   <dd>By value, or one-way binding. The attribute
+*                             value is interpreted as a literal.</dd>
+*   <dt><code>=</code></dt>   <dd>By reference, or two-way binding. The
+*                             attribute value is interpreted as an expression.</dd>
+*   <dt><code>&</code></dt>   <dd>Function binding. The attribute value
+*                             is interpreted as a function call, including the parameters.</dd>
+* </dl>
+*
+* For more details on the different binding types, please see <a href=
+* "http://weblogs.asp.net/dwahlin/creating-custom-angularjs-directives-part-2-isolate-scope"
+* target="_blank"> Dan Wahlin's blog on directives</a>.
+*
+* The documentation does not describe directive events because they are identical to
+* the control events, and the binding mode is always the same (function binding).
+*
+* To illustrate, here is the markup used to create a @see:ComboBox control:
+*
+* <pre>&lt;wj-combo-box
+*   text="ctx.theCountry"
+*   items-source="ctx.countries"
+*   is-editable="true"
+*   selected-index-changed="ctx.selChanged(s, e)"&gt;
+*   &lt;/wj-combo-box&gt;</pre>
+*
+* Notice that the <b>text</b> property of the @see:ComboBox is bound to a controller
+* variable called "ctx.theCountry." The binding goes two ways; changes in the control
+* update the scope, and changes in the scope update the control. To
+* initialize the <b>text</b> property with a string constant, enclose
+* the attribute value in single quotes (for example, <code>text="'constant'"</code>).
+*
+* Notice also that the <b>selected-index-changed</b> event is bound to a controller
+* method called "selChanged," and that the binding includes the two event parameters
+* (without the parameters, the method is not called).
+* Whenever the control raises the event, the directive invokes the controller method.
+*/
+declare module wijmo.angular {
+}
+

File diff suppressed because it is too large
+ 13 - 0
src/wijmo/interop/angular/wijmo.angular.min.js


File diff suppressed because it is too large
+ 1292 - 0
src/wijmo/interop/knockout/wijmo.knockout.d.ts


File diff suppressed because it is too large
+ 13 - 0
src/wijmo/interop/knockout/wijmo.knockout.min.js


+ 144 - 0
src/wijmo/styles/themes/wijmo.theme.cerulean.css

@@ -0,0 +1,144 @@
+/* -- Backgrounds -- */
+.wj-content:not(.customEdit),
+div[wj-part='cells'] {
+  color: #082d43;
+  background: #fcfcfc;
+  background-image: -ms-linear-gradient(bottom, #dddddd 0%, #fcfcfc 100%);
+  background-image: -moz-linear-gradient(bottom, #dddddd 0%, #fcfcfc 100%);
+  background-image: -o-linear-gradient(bottom, #dddddd 0%, #fcfcfc 100%);
+  background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #dddddd), color-stop(1, #fcfcfc));
+  background-image: -webkit-linear-gradient(bottom, #dddddd 0%, #fcfcfc 100%);
+  background-image: linear-gradient(to top, #dddddd 0%, #fcfcfc 100%);
+}
+.wj-content:not(.customEdit) .wj-input-group .wj-form-control {
+  color: #082d43;
+  background: #fcfcfc;
+  background-image: -ms-linear-gradient(bottom, #dddddd 0%, #fcfcfc 100%);
+  background-image: -moz-linear-gradient(bottom, #dddddd 0%, #fcfcfc 100%);
+  background-image: -o-linear-gradient(bottom, #dddddd 0%, #fcfcfc 100%);
+  background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #dddddd), color-stop(1, #fcfcfc));
+  background-image: -webkit-linear-gradient(bottom, #dddddd 0%, #fcfcfc 100%);
+  background-image: linear-gradient(to top, #dddddd 0%, #fcfcfc 100%);
+}
+.wj-listbox-item:not(.wj-state-selected):hover {
+  background: rgba(0, 0, 0, 0.04);
+}
+/* -- Headers -- */
+.wj-header {
+  background: #033c73;
+  color: #ffffff;
+  background-image: -ms-linear-gradient(bottom, #033c73 0%, #055baf 100%);
+  background-image: -moz-linear-gradient(bottom, #033c73 0%, #055baf 100%);
+  background-image: -o-linear-gradient(bottom, #033c73 0%, #055baf 100%);
+  background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #033c73), color-stop(1, #055baf));
+  background-image: -webkit-linear-gradient(bottom, #033c73 0%, #055baf 100%);
+  background-image: linear-gradient(to top, #033c73 0%, #055baf 100%);
+}
+.wj-flexgrid .wj-group {
+  background: #777777;
+  color: #dddddd;
+}
+/* -- Grid -- */
+div[wj-part='root'] {
+  background: #efefef;
+}
+.wj-state-selected {
+  background: #2a9fd6;
+  color: #ffffff;
+}
+.wj-state-multi-selected {
+  background: #77afc9;
+  color: #ffffff;
+}
+.wj-input-group .wj-form-control,
+.wj-grid-editor {
+  background: #fff;
+  color: #000000;
+}
+div[wj-part='rhcells'] .wj-header {
+  background: #033c73;
+}
+.wj-cell:not(.wj-frozen-col):not(.wj-frozen-row):not(.wj-frozen) {
+  border-right: 0px solid rgba(0, 0, 0, 0.2);
+  border-bottom: 0px solid rgba(0, 0, 0, 0.2);
+}
+.wj-cell:not(.wj-header):not(.wj-group):not(.wj-alt):not(.wj-state-selected):not(.wj-state-multi-selected) {
+  /* Default grid cell color */
+  background: #fcfcfc;
+}
+.wj-alt:not(.wj-header):not(.wj-group):not(.wj-state-selected):not(.wj-state-multi-selected) {
+  /* Alternate grid cell color */
+  background: #efefef;
+}
+.wj-frozen:not(.wj-header):not(.wj-group):not(.wj-alt):not(.wj-state-selected):not(.wj-state-multi-selected) {
+  /* Default frozen cell color */
+  background: #e4ecf2;
+  color: #082d43;
+}
+.wj-frozen.wj-alt:not(.wj-header):not(.wj-group):not(.wj-state-selected):not(.wj-state-multi-selected) {
+  /* Alternate frozen cell color */
+  background: #d3e0ea;
+  color: #082d43;
+}
+.wj-frozen-row {
+  border-bottom-color: #082d43;
+  border-width: 0px;
+}
+.wj-frozen-col {
+  border-right-color: #082d43;
+  border-width: 0px;
+}
+/* -- Buttons -- */
+.wj-content:not(.customEdit) .wj-input-group-btn > .wj-btn,
+.wj-content:not(.customEdit) .wj-btn-group > .wj-btn {
+  background: #70a438;
+  color: #ffffff;
+  background-image: -ms-linear-gradient(bottom, #70a438 0%, #8fc554 100%);
+  background-image: -moz-linear-gradient(bottom, #70a438 0%, #8fc554 100%);
+  background-image: -o-linear-gradient(bottom, #70a438 0%, #8fc554 100%);
+  background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #70a438), color-stop(1, #8fc554));
+  background-image: -webkit-linear-gradient(bottom, #70a438 0%, #8fc554 100%);
+  background-image: linear-gradient(to top, #70a438 0%, #8fc554 100%);
+}
+.wj-content:not(.customEdit) .wj-input-group-btn > .wj-btn:hover,
+.wj-content:not(.customEdit) .wj-btn-group > .wj-btn:hover {
+  background: #59822c;
+  color: #ffffff;
+}
+.wj-content:not(.customEdit) .wj-input-group-btn > .wj-btn:focus,
+.wj-content:not(.customEdit) .wj-btn-group > .wj-btn:focus {
+  background: #59822c;
+  color: #ffffff;
+}
+.wj-content:not(.customEdit):not(.wj-dropdown-panel):not(.wj-listbox):not(.wj-flexgrid):not(.wj-calendar-outer) {
+  border: 0px solid rgba(0, 0, 0, 0.2);
+}
+.wj-btn-default {
+  border: 0px solid rgba(0, 0, 0, 0.2);
+}
+.wj-input-group-btn > .wj-btn {
+  border: 0px;
+}
+/* -- Border Radii -- */
+.wj-content,
+.wj-input-group,
+.wj-btn-group,
+.wj-btn-group-vertical,
+.wj-tooltip,
+.customEdit {
+  border-radius: 4px;
+}
+/* -- Tooltip -- */
+.wj-tooltip {
+  background: #ffffff;
+  color: #000000;
+  border: 1px solid rgba(0, 0, 0, 0.1);
+}
+/* -- Gauges -- */
+.wj-gauge .wj-pointer path {
+  fill: #2a9fd6;
+}
+.wj-cell.wj-frozen {
+  border: 0;
+}
+

File diff suppressed because it is too large
+ 13 - 0
src/wijmo/styles/themes/wijmo.theme.cerulean.min.css


+ 117 - 0
src/wijmo/styles/themes/wijmo.theme.cocoa.css

@@ -0,0 +1,117 @@
+/* -- Backgrounds -- */
+.wj-content:not(.customEdit),
+div[wj-part='cells'] {
+  color: #26211f;
+  background: #f3f3f3;
+}
+.wj-content:not(.customEdit) .wj-input-group .wj-form-control {
+  color: #26211f;
+  background: #f3f3f3;
+}
+.wj-listbox-item:not(.wj-state-selected):hover {
+  background: rgba(0, 0, 0, 0.04);
+}
+/* -- Headers -- */
+.wj-header {
+  background: #54443b;
+  color: #ffffff;
+}
+.wj-flexgrid .wj-group {
+  background: #c8c7c6;
+  color: #000000;
+}
+/* -- Grid -- */
+div[wj-part='root'] {
+  background: #e6e6e6;
+}
+.wj-state-selected {
+  background: #2780ec;
+  color: #ffffff;
+}
+.wj-state-multi-selected {
+  background: #97b2d2;
+  color: #ffffff;
+}
+.wj-input-group .wj-form-control,
+.wj-grid-editor {
+  background: #fff;
+  color: #000000;
+}
+div[wj-part='rhcells'] .wj-header {
+  background: #54443b;
+}
+.wj-cell:not(.wj-frozen-col):not(.wj-frozen-row):not(.wj-frozen) {
+  border-right: 1px solid rgba(0, 0, 0, 0.2);
+  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
+}
+.wj-cell:not(.wj-header):not(.wj-group):not(.wj-alt):not(.wj-state-selected):not(.wj-state-multi-selected) {
+  /* Default grid cell color */
+  background: #f3f3f3;
+}
+.wj-alt:not(.wj-header):not(.wj-group):not(.wj-state-selected):not(.wj-state-multi-selected) {
+  /* Alternate grid cell color */
+  background: #e6e6e6;
+}
+.wj-frozen:not(.wj-header):not(.wj-group):not(.wj-alt):not(.wj-state-selected):not(.wj-state-multi-selected) {
+  /* Default frozen cell color */
+  background: #dfe8f2;
+  color: #26211f;
+}
+.wj-frozen.wj-alt:not(.wj-header):not(.wj-group):not(.wj-state-selected):not(.wj-state-multi-selected) {
+  /* Alternate frozen cell color */
+  background: #cddbeb;
+  color: #26211f;
+}
+.wj-frozen-row {
+  border-bottom-color: #26211f;
+  border-width: 1px;
+}
+.wj-frozen-col {
+  border-right-color: #26211f;
+  border-width: 1px;
+}
+/* -- Buttons -- */
+.wj-content:not(.customEdit) .wj-input-group-btn > .wj-btn,
+.wj-content:not(.customEdit) .wj-btn-group > .wj-btn {
+  background: #5f534c;
+  color: #ffffff;
+}
+.wj-content:not(.customEdit) .wj-input-group-btn > .wj-btn:hover,
+.wj-content:not(.customEdit) .wj-btn-group > .wj-btn:hover {
+  background: #7b6c63;
+  color: #ffffff;
+}
+.wj-content:not(.customEdit) .wj-input-group-btn > .wj-btn:focus,
+.wj-content:not(.customEdit) .wj-btn-group > .wj-btn:focus {
+  background: #7b6c63;
+  color: #ffffff;
+}
+.wj-content:not(.customEdit):not(.wj-dropdown-panel):not(.wj-listbox):not(.wj-flexgrid):not(.wj-calendar-outer) {
+  border: 1px solid rgba(0, 0, 0, 0.2);
+}
+.wj-btn-default {
+  border: 1px solid rgba(0, 0, 0, 0.2);
+}
+.wj-input-group-btn > .wj-btn {
+  border: 1px;
+}
+/* -- Border Radii -- */
+.wj-content,
+.wj-input-group,
+.wj-btn-group,
+.wj-btn-group-vertical,
+.wj-tooltip,
+.customEdit {
+  border-radius: 4px;
+}
+/* -- Tooltip -- */
+.wj-tooltip {
+  background: #e5d9cf;
+  color: #000000;
+  border: 1px solid rgba(0, 0, 0, 0.1);
+}
+/* -- Gauges -- */
+.wj-gauge .wj-pointer path {
+  fill: #2780ec;
+}
+

File diff suppressed because it is too large
+ 13 - 0
src/wijmo/styles/themes/wijmo.theme.cocoa.min.css


+ 117 - 0
src/wijmo/styles/themes/wijmo.theme.coral.css

@@ -0,0 +1,117 @@
+/* -- Backgrounds -- */
+.wj-content:not(.customEdit),
+div[wj-part='cells'] {
+  color: #1b5c74;
+  background: #ffffff;
+}
+.wj-content:not(.customEdit) .wj-input-group .wj-form-control {
+  color: #1b5c74;
+  background: #ffffff;
+}
+.wj-listbox-item:not(.wj-state-selected):hover {
+  background: rgba(0, 0, 0, 0.04);
+}
+/* -- Headers -- */
+.wj-header {
+  background: #f7f4df;
+  color: #1b5c74;
+}
+.wj-flexgrid .wj-group {
+  background: #ede9d0;
+  color: #1b5c74;
+}
+/* -- Grid -- */
+div[wj-part='root'] {
+  background: #f2f2f2;
+}
+.wj-state-selected {
+  background: #137ba3;
+  color: #ffffff;
+}
+.wj-state-multi-selected {
+  background: #7dbbd2;
+  color: #ffffff;
+}
+.wj-input-group .wj-form-control,
+.wj-grid-editor {
+  background: #fff;
+  color: #000000;
+}
+div[wj-part='rhcells'] .wj-header {
+  background: #f7f4df;
+}
+.wj-cell:not(.wj-frozen-col):not(.wj-frozen-row):not(.wj-frozen) {
+  border-right: 1px solid rgba(0, 0, 0, 0.2);
+  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
+}
+.wj-cell:not(.wj-header):not(.wj-group):not(.wj-alt):not(.wj-state-selected):not(.wj-state-multi-selected) {
+  /* Default grid cell color */
+  background: #ffffff;
+}
+.wj-alt:not(.wj-header):not(.wj-group):not(.wj-state-selected):not(.wj-state-multi-selected) {
+  /* Alternate grid cell color */
+  background: #f2f2f2;
+}
+.wj-frozen:not(.wj-header):not(.wj-group):not(.wj-alt):not(.wj-state-selected):not(.wj-state-multi-selected) {
+  /* Default frozen cell color */
+  background: #e4f0f5;
+  color: #1b5c74;
+}
+.wj-frozen.wj-alt:not(.wj-header):not(.wj-group):not(.wj-state-selected):not(.wj-state-multi-selected) {
+  /* Alternate frozen cell color */
+  background: #d1e6ee;
+  color: #1b5c74;
+}
+.wj-frozen-row {
+  border-bottom-color: #1b5c74;
+  border-width: 1px;
+}
+.wj-frozen-col {
+  border-right-color: #1b5c74;
+  border-width: 1px;
+}
+/* -- Buttons -- */
+.wj-content:not(.customEdit) .wj-input-group-btn > .wj-btn,
+.wj-content:not(.customEdit) .wj-btn-group > .wj-btn {
+  background: #137ba3;
+  color: #ffffff;
+}
+.wj-content:not(.customEdit) .wj-input-group-btn > .wj-btn:hover,
+.wj-content:not(.customEdit) .wj-btn-group > .wj-btn:hover {
+  background: #189dd1;
+  color: #ffffff;
+}
+.wj-content:not(.customEdit) .wj-input-group-btn > .wj-btn:focus,
+.wj-content:not(.customEdit) .wj-btn-group > .wj-btn:focus {
+  background: #189dd1;
+  color: #ffffff;
+}
+.wj-content:not(.customEdit):not(.wj-dropdown-panel):not(.wj-listbox):not(.wj-flexgrid):not(.wj-calendar-outer) {
+  border: 1px solid rgba(0, 0, 0, 0.2);
+}
+.wj-btn-default {
+  border: 1px solid rgba(0, 0, 0, 0.2);
+}
+.wj-input-group-btn > .wj-btn {
+  border: 1px;
+}
+/* -- Border Radii -- */
+.wj-content,
+.wj-input-group,
+.wj-btn-group,
+.wj-btn-group-vertical,
+.wj-tooltip,
+.customEdit {
+  border-radius: 0;
+}
+/* -- Tooltip -- */
+.wj-tooltip {
+  background: #f7f4df;
+  color: #000000;
+  border: 1px solid rgba(0, 0, 0, 0.1);
+}
+/* -- Gauges -- */
+.wj-gauge .wj-pointer path {
+  fill: #137ba3;
+}
+

File diff suppressed because it is too large
+ 13 - 0
src/wijmo/styles/themes/wijmo.theme.coral.min.css


+ 120 - 0
src/wijmo/styles/themes/wijmo.theme.cyborg.css

@@ -0,0 +1,120 @@
+/* -- Backgrounds -- */
+.wj-content:not(.customEdit),
+div[wj-part='cells'] {
+  color: #ffffff;
+  background: #424242;
+}
+.wj-content:not(.customEdit) .wj-input-group .wj-form-control {
+  color: #ffffff;
+  background: #424242;
+}
+.wj-listbox-item:not(.wj-state-selected):hover {
+  background: rgba(255, 255, 255, 0.05);
+}
+/* -- Headers -- */
+.wj-header {
+  background: #222222;
+  color: #ffffff;
+}
+.wj-flexgrid .wj-group {
+  background: #777777;
+  color: #dddddd;
+}
+/* -- Grid -- */
+div[wj-part='root'] {
+  background: #353535;
+}
+.wj-state-selected {
+  background: #2a9fd6;
+  color: #ffffff;
+}
+.wj-state-multi-selected {
+  background: #77afc9;
+  color: #ffffff;
+}
+.wj-input-group .wj-form-control,
+.wj-grid-editor {
+  background: #fff;
+  color: #000000;
+}
+div[wj-part='rhcells'] .wj-header {
+  background: #222222;
+}
+.wj-cell:not(.wj-frozen-col):not(.wj-frozen-row):not(.wj-frozen) {
+  border-right: 0px solid rgba(0, 0, 0, 0.2);
+  border-bottom: 0px solid rgba(0, 0, 0, 0.2);
+}
+.wj-cell:not(.wj-header):not(.wj-group):not(.wj-alt):not(.wj-state-selected):not(.wj-state-multi-selected) {
+  /* Default grid cell color */
+  background: #424242;
+}
+.wj-alt:not(.wj-header):not(.wj-group):not(.wj-state-selected):not(.wj-state-multi-selected) {
+  /* Alternate grid cell color */
+  background: #4f4f4f;
+}
+.wj-frozen:not(.wj-header):not(.wj-group):not(.wj-alt):not(.wj-state-selected):not(.wj-state-multi-selected) {
+  /* Default frozen cell color */
+  background: #66b308;
+  color: #ffffff;
+}
+.wj-frozen.wj-alt:not(.wj-header):not(.wj-group):not(.wj-state-selected):not(.wj-state-multi-selected) {
+  /* Alternate frozen cell color */
+  background: #74cb09;
+  color: #ffffff;
+}
+.wj-frozen-row {
+  border-bottom-color: #ffffff;
+  border-width: 0px;
+}
+.wj-frozen-col {
+  border-right-color: #ffffff;
+  border-width: 0px;
+}
+/* -- Buttons -- */
+.wj-content:not(.customEdit) .wj-input-group-btn > .wj-btn,
+.wj-content:not(.customEdit) .wj-btn-group > .wj-btn {
+  background: #424242;
+  color: #ffffff;
+}
+.wj-content:not(.customEdit) .wj-input-group-btn > .wj-btn:hover,
+.wj-content:not(.customEdit) .wj-btn-group > .wj-btn:hover {
+  background: #282828;
+  color: #ffffff;
+}
+.wj-content:not(.customEdit) .wj-input-group-btn > .wj-btn:focus,
+.wj-content:not(.customEdit) .wj-btn-group > .wj-btn:focus {
+  background: #282828;
+  color: #ffffff;
+}
+.wj-content:not(.customEdit):not(.wj-dropdown-panel):not(.wj-listbox):not(.wj-flexgrid):not(.wj-calendar-outer) {
+  border: 0px solid rgba(0, 0, 0, 0.2);
+}
+.wj-btn-default {
+  border: 0px solid rgba(0, 0, 0, 0.2);
+}
+.wj-input-group-btn > .wj-btn {
+  border: 0px;
+}
+/* -- Border Radii -- */
+.wj-content,
+.wj-input-group,
+.wj-btn-group,
+.wj-btn-group-vertical,
+.wj-tooltip,
+.customEdit {
+  border-radius: 4px;
+}
+/* -- Tooltip -- */
+.wj-tooltip {
+  background: #202020;
+  color: #bbbbbb;
+  border: 1px solid rgba(0, 0, 0, 0.1);
+}
+/* -- Gauges -- */
+.wj-gauge .wj-pointer path {
+  fill: #2a9fd6;
+}
+.wj-cell.wj-frozen {
+  border: 0;
+}
+

File diff suppressed because it is too large
+ 13 - 0
src/wijmo/styles/themes/wijmo.theme.cyborg.min.css


+ 141 - 0
src/wijmo/styles/themes/wijmo.theme.dark.css

@@ -0,0 +1,141 @@
+/* -- Backgrounds -- */
+.wj-content:not(.customEdit),
+div[wj-part='cells'] {
+  color: #e6e6e6;
+  background: #444444;
+  background-image: -ms-linear-gradient(bottom, #444444 0%, #636363 100%);
+  background-image: -moz-linear-gradient(bottom, #444444 0%, #636363 100%);
+  background-image: -o-linear-gradient(bottom, #444444 0%, #636363 100%);
+  background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #444444), color-stop(1, #636363));
+  background-image: -webkit-linear-gradient(bottom, #444444 0%, #636363 100%);
+  background-image: linear-gradient(to top, #444444 0%, #636363 100%);
+}
+.wj-content:not(.customEdit) .wj-input-group .wj-form-control {
+  color: #e6e6e6;
+  background: #444444;
+}
+.wj-listbox-item:not(.wj-state-selected):hover {
+  background: rgba(255, 255, 255, 0.05);
+}
+/* -- Headers -- */
+.wj-header {
+  background: #444444;
+  color: #ffffff;
+  background-image: -ms-linear-gradient(bottom, #444444 0%, #636363 100%);
+  background-image: -moz-linear-gradient(bottom, #444444 0%, #636363 100%);
+  background-image: -o-linear-gradient(bottom, #444444 0%, #636363 100%);
+  background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #444444), color-stop(1, #636363));
+  background-image: -webkit-linear-gradient(bottom, #444444 0%, #636363 100%);
+  background-image: linear-gradient(to top, #444444 0%, #636363 100%);
+}
+.wj-flexgrid .wj-group {
+  background: #c3c3c3;
+  color: #000000;
+}
+/* -- Grid -- */
+div[wj-part='root'] {
+  background: #373737;
+}
+.wj-state-selected {
+  background: #ff6a00;
+  color: #ffffff;
+}
+.wj-state-multi-selected {
+  background: #ad5a1f;
+  color: #ffffff;
+}
+.wj-input-group .wj-form-control,
+.wj-grid-editor {
+  background: #fff;
+  color: #000000;
+}
+div[wj-part='rhcells'] .wj-header {
+  background: #444444;
+}
+.wj-cell:not(.wj-frozen-col):not(.wj-frozen-row):not(.wj-frozen) {
+  border-right: 1px solid rgba(0, 0, 0, 0.2);
+  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
+}
+.wj-cell:not(.wj-header):not(.wj-group):not(.wj-alt):not(.wj-state-selected):not(.wj-state-multi-selected) {
+  /* Default grid cell color */
+  background: #444444;
+}
+.wj-alt:not(.wj-header):not(.wj-group):not(.wj-state-selected):not(.wj-state-multi-selected) {
+  /* Alternate grid cell color */
+  background: #515151;
+}
+.wj-frozen:not(.wj-header):not(.wj-group):not(.wj-alt):not(.wj-state-selected):not(.wj-state-multi-selected) {
+  /* Default frozen cell color */
+  background: #3a4d59;
+  color: #dddddd;
+}
+.wj-frozen.wj-alt:not(.wj-header):not(.wj-group):not(.wj-state-selected):not(.wj-state-multi-selected) {
+  /* Alternate frozen cell color */
+  background: #445a68;
+  color: #dddddd;
+}
+.wj-frozen-row {
+  border-bottom-color: #e6e6e6;
+  border-width: 1px;
+}
+.wj-frozen-col {
+  border-right-color: #e6e6e6;
+  border-width: 1px;
+}
+/* -- Buttons -- */
+.wj-content:not(.customEdit) .wj-input-group-btn > .wj-btn,
+.wj-content:not(.customEdit) .wj-btn-group > .wj-btn {
+  background: #555555;
+  color: #ffffff;
+  background-image: -ms-linear-gradient(bottom, #555555 0%, #747474 100%);
+  background-image: -moz-linear-gradient(bottom, #555555 0%, #747474 100%);
+  background-image: -o-linear-gradient(bottom, #555555 0%, #747474 100%);
+  background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #555555), color-stop(1, #747474));
+  background-image: -webkit-linear-gradient(bottom, #555555 0%, #747474 100%);
+  background-image: linear-gradient(to top, #555555 0%, #747474 100%);
+}
+.wj-content:not(.customEdit) .wj-input-group-btn > .wj-btn:hover,
+.wj-content:not(.customEdit) .wj-btn-group > .wj-btn:hover {
+  background: #6f6f6f;
+  color: #ffffff;
+}
+.wj-content:not(.customEdit) .wj-input-group-btn > .wj-btn:focus,
+.wj-content:not(.customEdit) .wj-btn-group > .wj-btn:focus {
+  background: #6f6f6f;
+  color: #ffffff;
+}
+.wj-content:not(.customEdit):not(.wj-dropdown-panel):not(.wj-listbox):not(.wj-flexgrid):not(.wj-calendar-outer) {
+  border: 0 solid rgba(0, 0, 0, 0.2);
+}
+.wj-btn-default {
+  border: 0 solid rgba(0, 0, 0, 0.2);
+}
+.wj-input-group-btn > .wj-btn {
+  border: 0;
+}
+/* -- Border Radii -- */
+.wj-content,
+.wj-input-group,
+.wj-btn-group,
+.wj-btn-group-vertical,
+.wj-tooltip,
+.customEdit {
+  border-radius: 4px;
+}
+/* -- Tooltip -- */
+.wj-tooltip {
+  background: #e5d8cf;
+  color: #000000;
+  border: 1px solid rgba(0, 0, 0, 0.1);
+}
+/* -- Gauges -- */
+.wj-gauge .wj-pointer path {
+  fill: #ff6a00;
+}
+.wj-frozen-row {
+  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
+}
+.wj-frozen-col {
+  border-right: 1px solid rgba(0, 0, 0, 0.2);
+}
+

File diff suppressed because it is too large
+ 13 - 0
src/wijmo/styles/themes/wijmo.theme.dark.min.css


+ 120 - 0
src/wijmo/styles/themes/wijmo.theme.darkly.css

@@ -0,0 +1,120 @@
+/* -- Backgrounds -- */
+.wj-content:not(.customEdit),
+div[wj-part='cells'] {
+  color: #dadada;
+  background: #464545;
+}
+.wj-content:not(.customEdit) .wj-input-group .wj-form-control {
+  color: #dadada;
+  background: #464545;
+}
+.wj-listbox-item:not(.wj-state-selected):hover {
+  background: rgba(255, 255, 255, 0.05);
+}
+/* -- Headers -- */
+.wj-header {
+  background: #2c2c2c;
+  color: #ffffff;
+}
+.wj-flexgrid .wj-group {
+  background: #222222;
+  color: #dadada;
+}
+/* -- Grid -- */
+div[wj-part='root'] {
+  background: #393939;
+}
+.wj-state-selected {
+  background: #00a379;
+  color: #ffffff;
+}
+.wj-state-multi-selected {
+  background: #00c190;
+  color: #ffffff;
+}
+.wj-input-group .wj-form-control,
+.wj-grid-editor {
+  background: #fff;
+  color: #000000;
+}
+div[wj-part='rhcells'] .wj-header {
+  background: #2c2c2c;
+}
+.wj-cell:not(.wj-frozen-col):not(.wj-frozen-row):not(.wj-frozen) {
+  border-right: 0px solid rgba(0, 0, 0, 0.2);
+  border-bottom: 0px solid rgba(0, 0, 0, 0.2);
+}
+.wj-cell:not(.wj-header):not(.wj-group):not(.wj-alt):not(.wj-state-selected):not(.wj-state-multi-selected) {
+  /* Default grid cell color */
+  background: #464545;
+}
+.wj-alt:not(.wj-header):not(.wj-group):not(.wj-state-selected):not(.wj-state-multi-selected) {
+  /* Alternate grid cell color */
+  background: #535252;
+}
+.wj-frozen:not(.wj-header):not(.wj-group):not(.wj-alt):not(.wj-state-selected):not(.wj-state-multi-selected) {
+  /* Default frozen cell color */
+  background: #347199;
+  color: #ffffff;
+}
+.wj-frozen.wj-alt:not(.wj-header):not(.wj-group):not(.wj-state-selected):not(.wj-state-multi-selected) {
+  /* Alternate frozen cell color */
+  background: #3a7fac;
+  color: #ffffff;
+}
+.wj-frozen-row {
+  border-bottom-color: #dadada;
+  border-width: 0px;
+}
+.wj-frozen-col {
+  border-right-color: #dadada;
+  border-width: 0px;
+}
+/* -- Buttons -- */
+.wj-content:not(.customEdit) .wj-input-group-btn > .wj-btn,
+.wj-content:not(.customEdit) .wj-btn-group > .wj-btn {
+  background: #3498db;
+  color: #ffffff;
+}
+.wj-content:not(.customEdit) .wj-input-group-btn > .wj-btn:hover,
+.wj-content:not(.customEdit) .wj-btn-group > .wj-btn:hover {
+  background: #217dbb;
+  color: #ffffff;
+}
+.wj-content:not(.customEdit) .wj-input-group-btn > .wj-btn:focus,
+.wj-content:not(.customEdit) .wj-btn-group > .wj-btn:focus {
+  background: #217dbb;
+  color: #ffffff;
+}
+.wj-content:not(.customEdit):not(.wj-dropdown-panel):not(.wj-listbox):not(.wj-flexgrid):not(.wj-calendar-outer) {
+  border: 0px solid rgba(0, 0, 0, 0.2);
+}
+.wj-btn-default {
+  border: 0px solid rgba(0, 0, 0, 0.2);
+}
+.wj-input-group-btn > .wj-btn {
+  border: 0px;
+}
+/* -- Border Radii -- */
+.wj-content,
+.wj-input-group,
+.wj-btn-group,
+.wj-btn-group-vertical,
+.wj-tooltip,
+.customEdit {
+  border-radius: 4px;
+}
+/* -- Tooltip -- */
+.wj-tooltip {
+  background: #3498db;
+  color: #ffffff;
+  border: 1px solid rgba(0, 0, 0, 0.1);
+}
+/* -- Gauges -- */
+.wj-gauge .wj-pointer path {
+  fill: #00a379;
+}
+.wj-cell.wj-frozen {
+  border: 0;
+}
+

File diff suppressed because it is too large
+ 13 - 0
src/wijmo/styles/themes/wijmo.theme.darkly.min.css


+ 117 - 0
src/wijmo/styles/themes/wijmo.theme.flatly.css

@@ -0,0 +1,117 @@
+/* -- Backgrounds -- */
+.wj-content:not(.customEdit),
+div[wj-part='cells'] {
+  color: #2c3e50;
+  background: #e9eef0;
+}
+.wj-content:not(.customEdit) .wj-input-group .wj-form-control {
+  color: #2c3e50;
+  background: #e9eef0;
+}
+.wj-listbox-item:not(.wj-state-selected):hover {
+  background: rgba(0, 0, 0, 0.04);
+}
+/* -- Headers -- */
+.wj-header {
+  background: #2c3e50;
+  color: #ffffff;
+}
+.wj-flexgrid .wj-group {
+  background: #76818d;
+  color: #dddfe2;
+}
+/* -- Grid -- */
+div[wj-part='root'] {
+  background: #dfe0e1;
+}
+.wj-state-selected {
+  background: #798d8f;
+  color: #ffffff;
+}
+.wj-state-multi-selected {
+  background: #95a5a6;
+  color: #ffffff;
+}
+.wj-input-group .wj-form-control,
+.wj-grid-editor {
+  background: #fff;
+  color: #000000;
+}
+div[wj-part='rhcells'] .wj-header {
+  background: #2c3e50;
+}
+.wj-cell:not(.wj-frozen-col):not(.wj-frozen-row):not(.wj-frozen) {
+  border-right: 1px solid rgba(0, 0, 0, 0.2);
+  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
+}
+.wj-cell:not(.wj-header):not(.wj-group):not(.wj-alt):not(.wj-state-selected):not(.wj-state-multi-selected) {
+  /* Default grid cell color */
+  background: #e9eef0;
+}
+.wj-alt:not(.wj-header):not(.wj-group):not(.wj-state-selected):not(.wj-state-multi-selected) {
+  /* Alternate grid cell color */
+  background: #dae2e6;
+}
+.wj-frozen:not(.wj-header):not(.wj-group):not(.wj-alt):not(.wj-state-selected):not(.wj-state-multi-selected) {
+  /* Default frozen cell color */
+  background: #d6e6ed;
+  color: #2c3e50;
+}
+.wj-frozen.wj-alt:not(.wj-header):not(.wj-group):not(.wj-state-selected):not(.wj-state-multi-selected) {
+  /* Alternate frozen cell color */
+  background: #c4dbe5;
+  color: #2c3e50;
+}
+.wj-frozen-row {
+  border-bottom-color: #2c3e50;
+  border-width: 1px;
+}
+.wj-frozen-col {
+  border-right-color: #2c3e50;
+  border-width: 1px;
+}
+/* -- Buttons -- */
+.wj-content:not(.customEdit) .wj-input-group-btn > .wj-btn,
+.wj-content:not(.customEdit) .wj-btn-group > .wj-btn {
+  background: #18bc9c;
+  color: #ffffff;
+}
+.wj-content:not(.customEdit) .wj-input-group-btn > .wj-btn:hover,
+.wj-content:not(.customEdit) .wj-btn-group > .wj-btn:hover {
+  background: #128f76;
+  color: #ffffff;
+}
+.wj-content:not(.customEdit) .wj-input-group-btn > .wj-btn:focus,
+.wj-content:not(.customEdit) .wj-btn-group > .wj-btn:focus {
+  background: #128f76;
+  color: #ffffff;
+}
+.wj-content:not(.customEdit):not(.wj-dropdown-panel):not(.wj-listbox):not(.wj-flexgrid):not(.wj-calendar-outer) {
+  border: 0px solid rgba(0, 0, 0, 0.2);
+}
+.wj-btn-default {
+  border: 0px solid rgba(0, 0, 0, 0.2);
+}
+.wj-input-group-btn > .wj-btn {
+  border: 0px;
+}
+/* -- Border Radii -- */
+.wj-content,
+.wj-input-group,
+.wj-btn-group,
+.wj-btn-group-vertical,
+.wj-tooltip,
+.customEdit {
+  border-radius: 0px;
+}
+/* -- Tooltip -- */
+.wj-tooltip {
+  background: #95a5a6;
+  color: #ffffff;
+  border: 1px solid rgba(0, 0, 0, 0.1);
+}
+/* -- Gauges -- */
+.wj-gauge .wj-pointer path {
+  fill: #798d8f;
+}
+

File diff suppressed because it is too large
+ 13 - 0
src/wijmo/styles/themes/wijmo.theme.flatly.min.css


+ 117 - 0
src/wijmo/styles/themes/wijmo.theme.grayscale.css

@@ -0,0 +1,117 @@
+/* -- Backgrounds -- */
+.wj-content:not(.customEdit),
+div[wj-part='cells'] {
+  color: #000000;
+  background: #f5f5f5;
+}
+.wj-content:not(.customEdit) .wj-input-group .wj-form-control {
+  color: #000000;
+  background: #f5f5f5;
+}
+.wj-listbox-item:not(.wj-state-selected):hover {
+  background: rgba(0, 0, 0, 0.04);
+}
+/* -- Headers -- */
+.wj-header {
+  background: #666666;
+  color: #ffffff;
+}
+.wj-flexgrid .wj-group {
+  background: #cccccc;
+  color: #000000;
+}
+/* -- Grid -- */
+div[wj-part='root'] {
+  background: #e8e8e8;
+}
+.wj-state-selected {
+  background: #cccccc;
+  color: #000000;
+}
+.wj-state-multi-selected {
+  background: #b3b3b3;
+  color: #ffffff;
+}
+.wj-input-group .wj-form-control,
+.wj-grid-editor {
+  background: #fff;
+  color: #000000;
+}
+div[wj-part='rhcells'] .wj-header {
+  background: #666666;
+}
+.wj-cell:not(.wj-frozen-col):not(.wj-frozen-row):not(.wj-frozen) {
+  border-right: 1px solid rgba(0, 0, 0, 0.2);
+  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
+}
+.wj-cell:not(.wj-header):not(.wj-group):not(.wj-alt):not(.wj-state-selected):not(.wj-state-multi-selected) {
+  /* Default grid cell color */
+  background: #f5f5f5;
+}
+.wj-alt:not(.wj-header):not(.wj-group):not(.wj-state-selected):not(.wj-state-multi-selected) {
+  /* Alternate grid cell color */
+  background: #e8e8e8;
+}
+.wj-frozen:not(.wj-header):not(.wj-group):not(.wj-alt):not(.wj-state-selected):not(.wj-state-multi-selected) {
+  /* Default frozen cell color */
+  background: #e4e4e4;
+  color: #000000;
+}
+.wj-frozen.wj-alt:not(.wj-header):not(.wj-group):not(.wj-state-selected):not(.wj-state-multi-selected) {
+  /* Alternate frozen cell color */
+  background: #d7d7d7;
+  color: #000000;
+}
+.wj-frozen-row {
+  border-bottom-color: #000000;
+  border-width: 1px;
+}
+.wj-frozen-col {
+  border-right-color: #000000;
+  border-width: 1px;
+}
+/* -- Buttons -- */
+.wj-content:not(.customEdit) .wj-input-group-btn > .wj-btn,
+.wj-content:not(.customEdit) .wj-btn-group > .wj-btn {
+  background: #dddddd;
+  color: #000000;
+}
+.wj-content:not(.customEdit) .wj-input-group-btn > .wj-btn:hover,
+.wj-content:not(.customEdit) .wj-btn-group > .wj-btn:hover {
+  background: #c4c4c4;
+  color: #000000;
+}
+.wj-content:not(.customEdit) .wj-input-group-btn > .wj-btn:focus,
+.wj-content:not(.customEdit) .wj-btn-group > .wj-btn:focus {
+  background: #c4c4c4;
+  color: #000000;
+}
+.wj-content:not(.customEdit):not(.wj-dropdown-panel):not(.wj-listbox):not(.wj-flexgrid):not(.wj-calendar-outer) {
+  border: 1px solid rgba(0, 0, 0, 0.2);
+}
+.wj-btn-default {
+  border: 1px solid rgba(0, 0, 0, 0.2);
+}
+.wj-input-group-btn > .wj-btn {
+  border: 1px;
+}
+/* -- Border Radii -- */
+.wj-content,
+.wj-input-group,
+.wj-btn-group,
+.wj-btn-group-vertical,
+.wj-tooltip,
+.customEdit {
+  border-radius: 4px;
+}
+/* -- Tooltip -- */
+.wj-tooltip {
+  background: #eeeeee;
+  color: #000000;
+  border: 1px solid rgba(0, 0, 0, 0.1);
+}
+/* -- Gauges -- */
+.wj-gauge .wj-pointer path {
+  fill: #cccccc;
+}
+

File diff suppressed because it is too large
+ 13 - 0
src/wijmo/styles/themes/wijmo.theme.grayscale.min.css


+ 123 - 0
src/wijmo/styles/themes/wijmo.theme.highcontrast.css

@@ -0,0 +1,123 @@
+/* -- Backgrounds -- */
+.wj-content:not(.customEdit),
+div[wj-part='cells'] {
+  color: #ffffff;
+  background: #000000;
+}
+.wj-content:not(.customEdit) .wj-input-group .wj-form-control {
+  color: #ffffff;
+  background: #000000;
+}
+.wj-listbox-item:not(.wj-state-selected):hover {
+  background: rgba(255, 255, 255, 0.5);
+}
+/* -- Headers -- */
+.wj-header {
+  background: #890d3a;
+  color: #ffffff;
+}
+.wj-flexgrid .wj-group {
+  background: #eea7c1;
+  color: #000000;
+}
+/* -- Grid -- */
+div[wj-part='root'] {
+  background: #000000;
+}
+.wj-state-selected {
+  background: #0021ab;
+  color: #ffffff;
+}
+.wj-state-multi-selected {
+  background: #617ae3;
+  color: #ffffff;
+}
+.wj-input-group .wj-form-control,
+.wj-grid-editor {
+  background: #fff;
+  color: #000000;
+}
+div[wj-part='rhcells'] .wj-header {
+  background: #890d3a;
+}
+.wj-cell:not(.wj-frozen-col):not(.wj-frozen-row):not(.wj-frozen) {
+  border-right: 1px solid rgba(0, 0, 0, 0.2);
+  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
+}
+.wj-cell:not(.wj-header):not(.wj-group):not(.wj-alt):not(.wj-state-selected):not(.wj-state-multi-selected) {
+  /* Default grid cell color */
+  background: #000000;
+}
+.wj-alt:not(.wj-header):not(.wj-group):not(.wj-state-selected):not(.wj-state-multi-selected) {
+  /* Alternate grid cell color */
+  background: #737373;
+}
+.wj-frozen:not(.wj-header):not(.wj-group):not(.wj-alt):not(.wj-state-selected):not(.wj-state-multi-selected) {
+  /* Default frozen cell color */
+  background: #56ae4c;
+  color: #ffffff;
+}
+.wj-frozen.wj-alt:not(.wj-header):not(.wj-group):not(.wj-state-selected):not(.wj-state-multi-selected) {
+  /* Alternate frozen cell color */
+  background: #65b85c;
+  color: #ffffff;
+}
+.wj-frozen-row {
+  border-bottom-color: #ffffff;
+  border-width: 1px;
+}
+.wj-frozen-col {
+  border-right-color: #ffffff;
+  border-width: 1px;
+}
+/* -- Buttons -- */
+.wj-content:not(.customEdit) .wj-input-group-btn > .wj-btn,
+.wj-content:not(.customEdit) .wj-btn-group > .wj-btn {
+  background: #b8114e;
+  color: #ffffff;
+}
+.wj-content:not(.customEdit) .wj-input-group-btn > .wj-btn:hover,
+.wj-content:not(.customEdit) .wj-btn-group > .wj-btn:hover {
+  background: #e71562;
+  color: #ffffff;
+}
+.wj-content:not(.customEdit) .wj-input-group-btn > .wj-btn:focus,
+.wj-content:not(.customEdit) .wj-btn-group > .wj-btn:focus {
+  background: #e71562;
+  color: #ffffff;
+}
+.wj-content:not(.customEdit):not(.wj-dropdown-panel):not(.wj-listbox):not(.wj-flexgrid):not(.wj-calendar-outer) {
+  border: 0px solid rgba(0, 0, 0, 0.2);
+}
+.wj-btn-default {
+  border: 0px solid rgba(0, 0, 0, 0.2);
+}
+.wj-input-group-btn > .wj-btn {
+  border: 0px;
+}
+/* -- Border Radii -- */
+.wj-content,
+.wj-input-group,
+.wj-btn-group,
+.wj-btn-group-vertical,
+.wj-tooltip,
+.customEdit {
+  border-radius: 0;
+}
+/* -- Tooltip -- */
+.wj-tooltip {
+  background: #f2e1e8;
+  color: #000000;
+  border: 1px solid rgba(0, 0, 0, 0.1);
+}
+/* -- Gauges -- */
+.wj-gauge .wj-pointer path {
+  fill: #0021ab;
+}
+.wj-frozen-row {
+  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
+}
+.wj-frozen-col {
+  border-right: 1px solid rgba(0, 0, 0, 0.2);
+}
+

File diff suppressed because it is too large
+ 13 - 0
src/wijmo/styles/themes/wijmo.theme.highcontrast.min.css


+ 121 - 0
src/wijmo/styles/themes/wijmo.theme.light.css

@@ -0,0 +1,121 @@
+/* -- Backgrounds -- */
+.wj-content:not(.customEdit),
+div[wj-part='cells'] {
+  color: #666666;
+  background: #ffffff;
+}
+.wj-content:not(.customEdit) .wj-input-group .wj-form-control {
+  color: #666666;
+  background: #ffffff;
+}
+.wj-listbox-item:not(.wj-state-selected):hover {
+  background: rgba(0, 0, 0, 0.04);
+}
+/* -- Headers -- */
+.wj-header {
+  background: #eaeaea;
+  color: #666666;
+}
+.wj-flexgrid .wj-group {
+  background: #dddddd;
+  color: #888888;
+}
+/* -- Grid -- */
+div[wj-part='root'] {
+  background: #f2f2f2;
+}
+.wj-state-selected {
+  background: #9ec5e7;
+  color: #ffffff;
+}
+.wj-state-multi-selected {
+  background: #afc4d6;
+  color: #ffffff;
+}
+.wj-input-group .wj-form-control,
+.wj-grid-editor {
+  background: #fff;
+  color: #000000;
+}
+div[wj-part='rhcells'] .wj-header {
+  background: #eaeaea;
+}
+.wj-cell:not(.wj-frozen-col):not(.wj-frozen-row):not(.wj-frozen) {
+  border-right: 1px solid rgba(0, 0, 0, 0.2);
+  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
+}
+.wj-cell:not(.wj-header):not(.wj-group):not(.wj-alt):not(.wj-state-selected):not(.wj-state-multi-selected) {
+  /* Default grid cell color */
+  background: #ffffff;
+}
+.wj-alt:not(.wj-header):not(.wj-group):not(.wj-state-selected):not(.wj-state-multi-selected) {
+  /* Alternate grid cell color */
+  background: #f2f2f2;
+}
+.wj-frozen:not(.wj-header):not(.wj-group):not(.wj-alt):not(.wj-state-selected):not(.wj-state-multi-selected) {
+  /* Default frozen cell color */
+  background: #e7eef1;
+  color: #666666;
+}
+.wj-frozen.wj-alt:not(.wj-header):not(.wj-group):not(.wj-state-selected):not(.wj-state-multi-selected) {
+  /* Alternate frozen cell color */
+  background: #d7e3e8;
+  color: #666666;
+}
+.wj-frozen-row {
+  border-bottom-color: #666666;
+  border-width: 1px;
+}
+.wj-frozen-col {
+  border-right-color: #666666;
+  border-width: 1px;
+}
+/* -- Buttons -- */
+.wj-content:not(.customEdit) .wj-input-group-btn > .wj-btn,
+.wj-content:not(.customEdit) .wj-btn-group > .wj-btn {
+  background: #eaeaea;
+  color: #666666;
+}
+.wj-content:not(.customEdit) .wj-input-group-btn > .wj-btn:hover,
+.wj-content:not(.customEdit) .wj-btn-group > .wj-btn:hover {
+  background: #d1d1d1;
+  color: #666666;
+}
+.wj-content:not(.customEdit) .wj-input-group-btn > .wj-btn:focus,
+.wj-content:not(.customEdit) .wj-btn-group > .wj-btn:focus {
+  background: #d1d1d1;
+  color: #666666;
+}
+.wj-content:not(.customEdit):not(.wj-dropdown-panel):not(.wj-listbox):not(.wj-flexgrid):not(.wj-calendar-outer) {
+  border: 1px solid rgba(0, 0, 0, 0.2);
+}
+.wj-btn-default {
+  border: 1px solid rgba(0, 0, 0, 0.2);
+}
+.wj-input-group-btn > .wj-btn {
+  border: 1px;
+}
+/* -- Border Radii -- */
+.wj-content,
+.wj-input-group,
+.wj-btn-group,
+.wj-btn-group-vertical,
+.wj-tooltip,
+.customEdit {
+  border-radius: 4px;
+}
+/* -- Tooltip -- */
+.wj-tooltip {
+  background: #ffffff;
+  color: #000000;
+  border: 1px solid rgba(0, 0, 0, 0.1);
+}
+/* -- Gauges -- */
+.wj-gauge .wj-pointer path {
+  fill: #9ec5e7;
+}
+.wj-dropdown-panel {
+  outline: none;
+  box-shadow: none;
+}
+

File diff suppressed because it is too large
+ 13 - 0
src/wijmo/styles/themes/wijmo.theme.light.min.css


+ 130 - 0
src/wijmo/styles/themes/wijmo.theme.material.css

@@ -0,0 +1,130 @@
+/* -- Backgrounds -- */
+.wj-content:not(.customEdit),
+div[wj-part='cells'] {
+  color: #0f314d;
+  background: #ffffff;
+}
+.wj-content:not(.customEdit) .wj-input-group .wj-form-control {
+  color: #0f314d;
+  background: #edf1f3;
+}
+.wj-listbox-item:not(.wj-state-selected):hover {
+  background: rgba(0, 0, 0, 0.04);
+}
+/* -- Headers -- */
+.wj-header {
+  background: #3076ae;
+  color: #ffffff;
+}
+.wj-flexgrid .wj-group {
+  background: #835992;
+  color: #ffffff;
+}
+/* -- Grid -- */
+div[wj-part='root'] {
+  background: #f2f2f2;
+}
+.wj-state-selected {
+  background: #349b91;
+  color: #ffffff;
+}
+.wj-state-multi-selected {
+  background: #4db6ac;
+  color: #ffffff;
+}
+.wj-input-group .wj-form-control,
+.wj-grid-editor {
+  background: #fff;
+  color: #000000;
+}
+div[wj-part='rhcells'] .wj-header {
+  background: #3076ae;
+}
+.wj-cell:not(.wj-frozen-col):not(.wj-frozen-row):not(.wj-frozen) {
+  border-right: 0px solid rgba(0, 0, 0, 0.2);
+  border-bottom: 0px solid rgba(0, 0, 0, 0.2);
+}
+.wj-cell:not(.wj-header):not(.wj-group):not(.wj-alt):not(.wj-state-selected):not(.wj-state-multi-selected) {
+  /* Default grid cell color */
+  background: #ffffff;
+}
+.wj-alt:not(.wj-header):not(.wj-group):not(.wj-state-selected):not(.wj-state-multi-selected) {
+  /* Alternate grid cell color */
+  background: #f2f2f2;
+}
+.wj-frozen:not(.wj-header):not(.wj-group):not(.wj-alt):not(.wj-state-selected):not(.wj-state-multi-selected) {
+  /* Default frozen cell color */
+  background: #e4ecf2;
+  color: #0f314d;
+}
+.wj-frozen.wj-alt:not(.wj-header):not(.wj-group):not(.wj-state-selected):not(.wj-state-multi-selected) {
+  /* Alternate frozen cell color */
+  background: #d3e0ea;
+  color: #0f314d;
+}
+.wj-frozen-row {
+  border-bottom-color: #0f314d;
+  border-width: 0px;
+}
+.wj-frozen-col {
+  border-right-color: #0f314d;
+  border-width: 0px;
+}
+/* -- Buttons -- */
+.wj-content:not(.customEdit) .wj-input-group-btn > .wj-btn,
+.wj-content:not(.customEdit) .wj-btn-group > .wj-btn {
+  background: #5e9dce;
+  color: #ffffff;
+}
+.wj-content:not(.customEdit) .wj-input-group-btn > .wj-btn:hover,
+.wj-content:not(.customEdit) .wj-btn-group > .wj-btn:hover {
+  background: #4db6ac;
+  color: #ffffff;
+}
+.wj-content:not(.customEdit) .wj-input-group-btn > .wj-btn:focus,
+.wj-content:not(.customEdit) .wj-btn-group > .wj-btn:focus {
+  background: #4db6ac;
+  color: #ffffff;
+}
+.wj-content:not(.customEdit):not(.wj-dropdown-panel):not(.wj-listbox):not(.wj-flexgrid):not(.wj-calendar-outer) {
+  border: 0px solid rgba(0, 0, 0, 0.2);
+}
+.wj-btn-default {
+  border: 0px solid rgba(0, 0, 0, 0.2);
+}
+.wj-input-group-btn > .wj-btn {
+  border: 0px;
+}
+/* -- Border Radii -- */
+.wj-content,
+.wj-input-group,
+.wj-btn-group,
+.wj-btn-group-vertical,
+.wj-tooltip,
+.customEdit {
+  border-radius: 0px;
+}
+/* -- Tooltip -- */
+.wj-tooltip {
+  background: #95a5a6;
+  color: #ffffff;
+  border: 1px solid rgba(0, 0, 0, 0.1);
+}
+/* -- Gauges -- */
+.wj-gauge .wj-pointer path {
+  fill: #349b91;
+}
+.wj-cell,
+.wj-controll:not(.wj-pager) .wj-input-group .wj-form-control {
+  padding-left: 15px;
+  padding-right: 15px;
+}
+.wj-content.wj-dropdown-panel {
+  border: 0;
+  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23);
+  margin-left: 0 !important;
+}
+.wj-cell.wj-frozen {
+  border: 0;
+}
+

File diff suppressed because it is too large
+ 13 - 0
src/wijmo/styles/themes/wijmo.theme.material.min.css


+ 135 - 0
src/wijmo/styles/themes/wijmo.theme.midnight.css

@@ -0,0 +1,135 @@
+/* -- Backgrounds -- */
+.wj-content:not(.customEdit),
+div[wj-part='cells'] {
+  color: #ffffff;
+  background: #0d2c45;
+}
+.wj-content:not(.customEdit) .wj-input-group .wj-form-control {
+  color: #ffffff;
+  background: #0d2c45;
+}
+.wj-listbox-item:not(.wj-state-selected):hover {
+  background: rgba(255, 255, 255, 0.05);
+}
+/* -- Headers -- */
+.wj-header {
+  background: #000000;
+  color: #ffffff;
+  background-image: -ms-linear-gradient(bottom, #000000 0%, #1f1f1f 100%);
+  background-image: -moz-linear-gradient(bottom, #000000 0%, #1f1f1f 100%);
+  background-image: -o-linear-gradient(bottom, #000000 0%, #1f1f1f 100%);
+  background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #000000), color-stop(1, #1f1f1f));
+  background-image: -webkit-linear-gradient(bottom, #000000 0%, #1f1f1f 100%);
+  background-image: linear-gradient(to top, #000000 0%, #1f1f1f 100%);
+}
+.wj-flexgrid .wj-group {
+  background: #87acca;
+  color: #000000;
+}
+/* -- Grid -- */
+div[wj-part='root'] {
+  background: #0d1e2b;
+}
+.wj-state-selected {
+  background: #19a26b;
+  color: #ffffff;
+}
+.wj-state-multi-selected {
+  background: #85cfb1;
+  color: #ffffff;
+}
+.wj-input-group .wj-form-control,
+.wj-grid-editor {
+  background: #fff;
+  color: #000000;
+}
+div[wj-part='rhcells'] .wj-header {
+  background: #000000;
+}
+.wj-cell:not(.wj-frozen-col):not(.wj-frozen-row):not(.wj-frozen) {
+  border-right: 1px solid rgba(0, 0, 0, 0.2);
+  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
+}
+.wj-cell:not(.wj-header):not(.wj-group):not(.wj-alt):not(.wj-state-selected):not(.wj-state-multi-selected) {
+  /* Default grid cell color */
+  background: #0d2c45;
+}
+.wj-alt:not(.wj-header):not(.wj-group):not(.wj-state-selected):not(.wj-state-multi-selected) {
+  /* Alternate grid cell color */
+  background: #113a5a;
+}
+.wj-frozen:not(.wj-header):not(.wj-group):not(.wj-alt):not(.wj-state-selected):not(.wj-state-multi-selected) {
+  /* Default frozen cell color */
+  background: #295744;
+  color: #ffffff;
+}
+.wj-frozen.wj-alt:not(.wj-header):not(.wj-group):not(.wj-state-selected):not(.wj-state-multi-selected) {
+  /* Alternate frozen cell color */
+  background: #316852;
+  color: #ffffff;
+}
+.wj-frozen-row {
+  border-bottom-color: #ffffff;
+  border-width: 1px;
+}
+.wj-frozen-col {
+  border-right-color: #ffffff;
+  border-width: 1px;
+}
+/* -- Buttons -- */
+.wj-content:not(.customEdit) .wj-input-group-btn > .wj-btn,
+.wj-content:not(.customEdit) .wj-btn-group > .wj-btn {
+  background: #3b546b;
+  color: #ffffff;
+  background-image: -ms-linear-gradient(bottom, #3b546b 0%, #517392 100%);
+  background-image: -moz-linear-gradient(bottom, #3b546b 0%, #517392 100%);
+  background-image: -o-linear-gradient(bottom, #3b546b 0%, #517392 100%);
+  background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #3b546b), color-stop(1, #517392));
+  background-image: -webkit-linear-gradient(bottom, #3b546b 0%, #517392 100%);
+  background-image: linear-gradient(to top, #3b546b 0%, #517392 100%);
+}
+.wj-content:not(.customEdit) .wj-input-group-btn > .wj-btn:hover,
+.wj-content:not(.customEdit) .wj-btn-group > .wj-btn:hover {
+  background: #4d6e8c;
+  color: #ffffff;
+}
+.wj-content:not(.customEdit) .wj-input-group-btn > .wj-btn:focus,
+.wj-content:not(.customEdit) .wj-btn-group > .wj-btn:focus {
+  background: #4d6e8c;
+  color: #ffffff;
+}
+.wj-content:not(.customEdit):not(.wj-dropdown-panel):not(.wj-listbox):not(.wj-flexgrid):not(.wj-calendar-outer) {
+  border: 0px solid rgba(0, 0, 0, 0.2);
+}
+.wj-btn-default {
+  border: 0px solid rgba(0, 0, 0, 0.2);
+}
+.wj-input-group-btn > .wj-btn {
+  border: 0px;
+}
+/* -- Border Radii -- */
+.wj-content,
+.wj-input-group,
+.wj-btn-group,
+.wj-btn-group-vertical,
+.wj-tooltip,
+.customEdit {
+  border-radius: 0;
+}
+/* -- Tooltip -- */
+.wj-tooltip {
+  background: #e6edf2;
+  color: #000000;
+  border: 1px solid rgba(0, 0, 0, 0.1);
+}
+/* -- Gauges -- */
+.wj-gauge .wj-pointer path {
+  fill: #19a26b;
+}
+.wj-frozen-row {
+  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
+}
+.wj-frozen-col {
+  border-right: 1px solid rgba(0, 0, 0, 0.2);
+}
+

File diff suppressed because it is too large
+ 13 - 0
src/wijmo/styles/themes/wijmo.theme.midnight.min.css


+ 107 - 0
src/wijmo/styles/themes/wijmo.theme.minimal.css

@@ -0,0 +1,107 @@
+/* -- Backgrounds -- */
+.wj-content:not(.customEdit),
+div[wj-part='cells'] {
+  color: #666666;
+  background: #ffffff;
+}
+.wj-content:not(.customEdit) .wj-input-group .wj-form-control {
+  color: #666666;
+  background: #ffffff;
+}
+.wj-listbox-item:not(.wj-state-selected):hover {
+  background: rgba(0, 0, 0, 0.04);
+}
+/* -- Headers -- */
+.wj-header {
+  background: #dddddd;
+  color: #666666;
+}
+.wj-flexgrid .wj-group {
+  background: #e8e8e8;
+  color: #999999;
+}
+/* -- Grid -- */
+div[wj-part='root'] {
+  background: #f2f2f2;
+}
+.wj-state-selected {
+  background: #a2bdeb;
+  color: #ffffff;
+}
+.wj-state-multi-selected {
+  background: #a0b0ca;
+  color: #ffffff;
+}
+.wj-input-group .wj-form-control,
+.wj-grid-editor {
+  background: #fff;
+  color: #000000;
+}
+div[wj-part='rhcells'] .wj-header {
+  background: #dddddd;
+}
+.wj-cell {
+  border-right: 0px solid rgba(0, 0, 0, 0.2);
+  border-bottom: 0px solid rgba(0, 0, 0, 0.2);
+}
+.wj-cell:not(.wj-header):not(.wj-group):not(.wj-alt):not(.wj-state-selected):not(.wj-state-multi-selected) {
+  /* Default grid cell color */
+  background: #ffffff;
+}
+.wj-alt:not(.wj-header):not(.wj-group):not(.wj-state-selected):not(.wj-state-multi-selected) {
+  /* Alternate grid cell color */
+  background: #f2f2f2;
+}
+.wj-frozen:not(.wj-header):not(.wj-group):not(.wj-alt):not(.wj-state-selected):not(.wj-state-multi-selected) {
+  /* Default frozen cell color */
+  background: #f2f2f2;
+}
+.wj-frozen.wj-alt:not(.wj-header):not(.wj-group):not(.wj-state-selected):not(.wj-state-multi-selected) {
+  /* Alternate frozen cell color */
+  background: #f2f2f2;
+}
+/* -- Buttons -- */
+.wj-content:not(.customEdit) .wj-input-group-btn > .wj-btn,
+.wj-content:not(.customEdit) .wj-btn-group > .wj-btn {
+  background: #a2bdeb;
+  color: #ffffff;
+}
+.wj-content:not(.customEdit) .wj-input-group-btn > .wj-btn:hover,
+.wj-content:not(.customEdit) .wj-btn-group > .wj-btn:hover {
+  background: #7da2e2;
+  color: #ffffff;
+}
+.wj-content:not(.customEdit) .wj-input-group-btn > .wj-btn:focus,
+.wj-content:not(.customEdit) .wj-btn-group > .wj-btn:focus {
+  background: #7da2e2;
+  color: #ffffff;
+}
+.wj-content:not(.customEdit):not(.wj-dropdown-panel):not(.wj-listbox):not(.wj-flexgrid):not(.wj-calendar-outer) {
+  border: 1px solid rgba(0, 0, 0, 0.2);
+}
+.wj-btn-default {
+  border: 1px solid rgba(0, 0, 0, 0.2);
+}
+.wj-input-group-btn > .wj-btn {
+  border: 1px;
+}
+/* -- Border Radii -- */
+.wj-content,
+.wj-input-group,
+.wj-btn-group,
+.wj-btn-group-vertical,
+.wj-tooltip,
+.customEdit {
+  border-radius: 0;
+}
+/* -- Tooltip -- */
+.wj-tooltip {
+  background: #fafafa;
+  color: #888888;
+  border: 1px solid rgba(0, 0, 0, 0.1);
+}
+/* -- Gauges -- */
+.wj-gauge .wj-pointer path {
+  fill: #a2bdeb;
+}
+

File diff suppressed because it is too large
+ 13 - 0
src/wijmo/styles/themes/wijmo.theme.minimal.min.css


+ 120 - 0
src/wijmo/styles/themes/wijmo.theme.modern.css

@@ -0,0 +1,120 @@
+/* -- Backgrounds -- */
+.wj-content:not(.customEdit),
+div[wj-part='cells'] {
+  color: #333333;
+  background: #ffffff;
+}
+.wj-content:not(.customEdit) .wj-input-group .wj-form-control {
+  color: #333333;
+  background: #ffffff;
+}
+.wj-listbox-item:not(.wj-state-selected):hover {
+  background: rgba(0, 0, 0, 0.04);
+}
+/* -- Headers -- */
+.wj-header {
+  background: #8bc730;
+  color: #ffffff;
+}
+.wj-flexgrid .wj-group {
+  background: #abcd77;
+  color: #333333;
+}
+/* -- Grid -- */
+div[wj-part='root'] {
+  background: #f2f2f2;
+}
+.wj-state-selected {
+  background: #2a9fd6;
+  color: #ffffff;
+}
+.wj-state-multi-selected {
+  background: #b3d1db;
+  color: #333333;
+}
+.wj-input-group .wj-form-control,
+.wj-grid-editor {
+  background: #fff;
+  color: #000000;
+}
+div[wj-part='rhcells'] .wj-header {
+  background: #e3e5e1;
+}
+.wj-cell:not(.wj-frozen-col):not(.wj-frozen-row):not(.wj-frozen) {
+  border-right: 0px solid rgba(0, 0, 0, 0.2);
+  border-bottom: 0px solid rgba(0, 0, 0, 0.2);
+}
+.wj-cell:not(.wj-header):not(.wj-group):not(.wj-alt):not(.wj-state-selected):not(.wj-state-multi-selected) {
+  /* Default grid cell color */
+  background: #ffffff;
+}
+.wj-alt:not(.wj-header):not(.wj-group):not(.wj-state-selected):not(.wj-state-multi-selected) {
+  /* Alternate grid cell color */
+  background: #f2f2f2;
+}
+.wj-frozen:not(.wj-header):not(.wj-group):not(.wj-alt):not(.wj-state-selected):not(.wj-state-multi-selected) {
+  /* Default frozen cell color */
+  background: #e4eff2;
+  color: #333333;
+}
+.wj-frozen.wj-alt:not(.wj-header):not(.wj-group):not(.wj-state-selected):not(.wj-state-multi-selected) {
+  /* Alternate frozen cell color */
+  background: #d3e5ea;
+  color: #333333;
+}
+.wj-frozen-row {
+  border-bottom-color: #333333;
+  border-width: 0px;
+}
+.wj-frozen-col {
+  border-right-color: #333333;
+  border-width: 0px;
+}
+/* -- Buttons -- */
+.wj-content:not(.customEdit) .wj-input-group-btn > .wj-btn,
+.wj-content:not(.customEdit) .wj-btn-group > .wj-btn {
+  background: #29a3cc;
+  color: #ffffff;
+}
+.wj-content:not(.customEdit) .wj-input-group-btn > .wj-btn:hover,
+.wj-content:not(.customEdit) .wj-btn-group > .wj-btn:hover {
+  background: #4db7db;
+  color: #ffffff;
+}
+.wj-content:not(.customEdit) .wj-input-group-btn > .wj-btn:focus,
+.wj-content:not(.customEdit) .wj-btn-group > .wj-btn:focus {
+  background: #4db7db;
+  color: #ffffff;
+}
+.wj-content:not(.customEdit):not(.wj-dropdown-panel):not(.wj-listbox):not(.wj-flexgrid):not(.wj-calendar-outer) {
+  border: 1px solid rgba(0, 0, 0, 0.2);
+}
+.wj-btn-default {
+  border: 1px solid rgba(0, 0, 0, 0.2);
+}
+.wj-input-group-btn > .wj-btn {
+  border: 1px;
+}
+/* -- Border Radii -- */
+.wj-content,
+.wj-input-group,
+.wj-btn-group,
+.wj-btn-group-vertical,
+.wj-tooltip,
+.customEdit {
+  border-radius: 0;
+}
+/* -- Tooltip -- */
+.wj-tooltip {
+  background: #f6f6d4;
+  color: #000000;
+  border: 1px solid rgba(0, 0, 0, 0.1);
+}
+/* -- Gauges -- */
+.wj-gauge .wj-pointer path {
+  fill: #2a9fd6;
+}
+.wj-cell.wj-frozen {
+  border: 0;
+}
+

File diff suppressed because it is too large
+ 13 - 0
src/wijmo/styles/themes/wijmo.theme.modern.min.css


+ 120 - 0
src/wijmo/styles/themes/wijmo.theme.organic.css

@@ -0,0 +1,120 @@
+/* -- Backgrounds -- */
+.wj-content:not(.customEdit),
+div[wj-part='cells'] {
+  color: #261f15;
+  background: #f6f5ed;
+}
+.wj-content:not(.customEdit) .wj-input-group .wj-form-control {
+  color: #261f15;
+  background: #f6f5ed;
+}
+.wj-listbox-item:not(.wj-state-selected):hover {
+  background: rgba(0, 0, 0, 0.04);
+}
+/* -- Headers -- */
+.wj-header {
+  background: #604e31;
+  color: #ffffff;
+}
+.wj-flexgrid .wj-group {
+  background: #d2cabe;
+  color: #000000;
+}
+/* -- Grid -- */
+div[wj-part='root'] {
+  background: #eae8e0;
+}
+.wj-state-selected {
+  background: #90a938;
+  color: #ffffff;
+}
+.wj-state-multi-selected {
+  background: #c4cab0;
+  color: #261f15;
+}
+.wj-input-group .wj-form-control,
+.wj-grid-editor {
+  background: #fff;
+  color: #000000;
+}
+div[wj-part='rhcells'] .wj-header {
+  background: #604e31;
+}
+.wj-cell:not(.wj-frozen-col):not(.wj-frozen-row):not(.wj-frozen) {
+  border-right: 0 solid rgba(0, 0, 0, 0.2);
+  border-bottom: 0 solid rgba(0, 0, 0, 0.2);
+}
+.wj-cell:not(.wj-header):not(.wj-group):not(.wj-alt):not(.wj-state-selected):not(.wj-state-multi-selected) {
+  /* Default grid cell color */
+  background: #f6f5ed;
+}
+.wj-alt:not(.wj-header):not(.wj-group):not(.wj-state-selected):not(.wj-state-multi-selected) {
+  /* Alternate grid cell color */
+  background: #eeecdc;
+}
+.wj-frozen:not(.wj-header):not(.wj-group):not(.wj-alt):not(.wj-state-selected):not(.wj-state-multi-selected) {
+  /* Default frozen cell color */
+  background: #e5e2cf;
+  color: #261f15;
+}
+.wj-frozen.wj-alt:not(.wj-header):not(.wj-group):not(.wj-state-selected):not(.wj-state-multi-selected) {
+  /* Alternate frozen cell color */
+  background: #dcd8be;
+  color: #261f15;
+}
+.wj-frozen-row {
+  border-bottom-color: #261f15;
+  border-width: 0;
+}
+.wj-frozen-col {
+  border-right-color: #261f15;
+  border-width: 0;
+}
+/* -- Buttons -- */
+.wj-content:not(.customEdit) .wj-input-group-btn > .wj-btn,
+.wj-content:not(.customEdit) .wj-btn-group > .wj-btn {
+  background: #90a938;
+  color: #ffffff;
+}
+.wj-content:not(.customEdit) .wj-input-group-btn > .wj-btn:hover,
+.wj-content:not(.customEdit) .wj-btn-group > .wj-btn:hover {
+  background: #abc54f;
+  color: #ffffff;
+}
+.wj-content:not(.customEdit) .wj-input-group-btn > .wj-btn:focus,
+.wj-content:not(.customEdit) .wj-btn-group > .wj-btn:focus {
+  background: #abc54f;
+  color: #ffffff;
+}
+.wj-content:not(.customEdit):not(.wj-dropdown-panel):not(.wj-listbox):not(.wj-flexgrid):not(.wj-calendar-outer) {
+  border: 1px solid rgba(0, 0, 0, 0.2);
+}
+.wj-btn-default {
+  border: 1px solid rgba(0, 0, 0, 0.2);
+}
+.wj-input-group-btn > .wj-btn {
+  border: 1px;
+}
+/* -- Border Radii -- */
+.wj-content,
+.wj-input-group,
+.wj-btn-group,
+.wj-btn-group-vertical,
+.wj-tooltip,
+.customEdit {
+  border-radius: 0px;
+}
+/* -- Tooltip -- */
+.wj-tooltip {
+  background: #f2e9da;
+  color: #000000;
+  border: 1px solid rgba(0, 0, 0, 0.1);
+}
+/* -- Gauges -- */
+.wj-gauge .wj-pointer path {
+  fill: #90a938;
+}
+.wj-cell.wj-frozen {
+  border: 0;
+}
+

+ 0 - 0
src/wijmo/styles/themes/wijmo.theme.organic.min.css


Some files were not shown because too many files changed in this diff