TonyKang преди 8 години
родител
ревизия
a0d22695e2
променени са 100 файла, в които са добавени 0 реда и са изтрити 220998 реда
  1. 0 11
      protect/cache/rpt_cache.js
  2. 0 62
      protect/controllers/billController.js
  3. 0 57
      protect/controllers/cacheController.js
  4. 0 60
      protect/controllers/projectController.js
  5. 0 68
      protect/controllers/reportController.js
  6. 0 14
      protect/db/cfgdb.js
  7. 0 7
      protect/db/demodb.js
  8. 0 7
      protect/db/projectdb.js
  9. 0 7
      protect/db/smartcostdb.js
  10. 0 141
      protect/models/bills.js
  11. 0 132
      protect/models/calculate_demo.js
  12. 0 109
      protect/models/group_folder.js
  13. 0 45
      protect/models/rpt_control.js
  14. 0 48
      protect/models/rpt_font.js
  15. 0 41
      protect/models/rpt_style.js
  16. 0 34
      protect/models/rpt_temp_data.js
  17. 0 38
      protect/models/rpt_template.js
  18. 0 202
      protect/rpt_component/JpcEx.js
  19. 0 52
      protect/rpt_component/Jpc_Band.js
  20. 0 78
      protect/rpt_component/Jpc_BillTab.js
  21. 0 548
      protect/rpt_component/Jpc_CrossTab.js
  22. 0 98
      protect/rpt_component/Jpc_Data.js
  23. 0 47
      protect/rpt_component/Jpc_Field.js
  24. 0 229
      protect/rpt_component/Jpc_FlowTab.js
  25. 0 18
      protect/rpt_component/Jpc_Function.js
  26. 0 27
      protect/rpt_component/Jpc_Param.js
  27. 0 47
      protect/rpt_component/Jpc_RTE.js
  28. 0 197
      protect/rpt_component/Jpc_ValueDefine.js
  29. 0 58
      protect/rpt_component/helper/Jpc_Helper_Area.js
  30. 0 74
      protect/rpt_component/helper/Jpc_Helper_Band.js
  31. 0 148
      protect/rpt_component/helper/Jpc_Helper_Common.js
  32. 0 60
      protect/rpt_component/helper/Jpc_Helper_CommonOutput.js
  33. 0 189
      protect/rpt_component/helper/Jpc_Helper_CrossTab.js
  34. 0 58
      protect/rpt_component/helper/Jpc_Helper_Discrete.js
  35. 0 44
      protect/rpt_component/helper/Jpc_Helper_Field.js
  36. 0 43
      protect/rpt_component/helper/Jpc_Helper_FlowTab.js
  37. 0 14
      protect/rpt_component/helper/Jpc_Helper_Text.js
  38. 0 85
      server.js
  39. 0 12
      src/404.html
  40. 0 202
      src/BillsDemo.html
  41. 0 963
      src/ExcelConverter/ExcelConverter.js
  42. 0 167
      src/RptHome.html
  43. 0 19
      src/SmartCostHome.html
  44. 0 636
      src/SpreadJsDemo.html
  45. 0 86
      src/WijmoDemo.html
  46. 0 125
      src/ZaoJiaShuTest.html
  47. 0 286
      src/baobiao.html
  48. 0 6
      src/css/bootstrap/bootstrap.min.css
  49. 0 26
      src/css/cust_flex_grid.css
  50. 0 4
      src/css/font-awesome/font-awesome.min.css
  51. BIN
      src/css/font-awesome/fonts/FontAwesome.otf
  52. BIN
      src/css/font-awesome/fonts/fontawesome-webfont.eot
  53. 0 2671
      src/css/font-awesome/fonts/fontawesome-webfont.svg
  54. BIN
      src/css/font-awesome/fonts/fontawesome-webfont.ttf
  55. BIN
      src/css/font-awesome/fonts/fontawesome-webfont.woff
  56. BIN
      src/css/font-awesome/fonts/fontawesome-webfont.woff2
  57. 0 259
      src/css/main.css
  58. BIN
      src/css/ztree/img/diy/1_close.png
  59. BIN
      src/css/ztree/img/diy/1_open.png
  60. BIN
      src/css/ztree/img/diy/2.png
  61. BIN
      src/css/ztree/img/diy/3.png
  62. BIN
      src/css/ztree/img/diy/4.png
  63. BIN
      src/css/ztree/img/diy/5.png
  64. BIN
      src/css/ztree/img/diy/6.png
  65. BIN
      src/css/ztree/img/diy/7.png
  66. BIN
      src/css/ztree/img/diy/8.png
  67. BIN
      src/css/ztree/img/diy/9.png
  68. BIN
      src/css/ztree/img/line_conn.gif
  69. BIN
      src/css/ztree/img/loading.gif
  70. BIN
      src/css/ztree/img/zTreeStandard.gif
  71. BIN
      src/css/ztree/img/zTreeStandard.png
  72. 0 97
      src/css/ztree/zTreeStyle.css
  73. 0 150550
      src/ext/ext-all-debug.js
  74. 0 22
      src/ext/ext-all.js
  75. 0 26442
      src/ext/ext.js
  76. 0 1
      src/ext/packages/ext-aria/build/config.rb
  77. 0 764
      src/ext/packages/ext-aria/build/ext-aria-all-debug.scss
  78. 0 764
      src/ext/packages/ext-aria/build/ext-aria-all-rtl-debug.scss
  79. 0 11834
      src/ext/packages/ext-aria/build/ext-aria-debug.js
  80. 0 43
      src/ext/packages/ext-aria/build/ext-aria.js
  81. 0 3
      src/ext/packages/ext-aria/build/resources/Readme.md
  82. 0 2
      src/ext/packages/ext-aria/build/resources/ext-aria-all-debug.css
  83. 0 2
      src/ext/packages/ext-aria/build/resources/ext-aria-all-rtl-debug.css
  84. 0 0
      src/ext/packages/ext-aria/build/resources/ext-aria-all-rtl.css
  85. 0 0
      src/ext/packages/ext-aria/build/resources/ext-aria-all.css
  86. BIN
      src/ext/packages/ext-aria/build/resources/images/form/date-trigger-rtl.gif
  87. BIN
      src/ext/packages/ext-aria/build/resources/images/form/date-trigger.gif
  88. BIN
      src/ext/packages/ext-aria/build/resources/images/form/exclamation.gif
  89. BIN
      src/ext/packages/ext-aria/build/resources/images/form/trigger-rtl.gif
  90. BIN
      src/ext/packages/ext-aria/build/resources/images/form/trigger.gif
  91. BIN
      src/ext/packages/ext-aria/build/resources/images/shared/left-btn.gif
  92. BIN
      src/ext/packages/ext-aria/build/resources/images/shared/right-btn.gif
  93. 0 1
      src/ext/packages/ext-charts/build/config.rb
  94. 0 717
      src/ext/packages/ext-charts/build/ext-charts-all-debug.scss
  95. 0 717
      src/ext/packages/ext-charts/build/ext-charts-all-rtl-debug.scss
  96. 0 19855
      src/ext/packages/ext-charts/build/ext-charts-debug.js
  97. 0 1
      src/ext/packages/ext-charts/build/ext-charts.js
  98. 0 262
      src/ext/packages/ext-charts/build/resources/ext-charts-all-debug.css
  99. 0 262
      src/ext/packages/ext-charts/build/resources/ext-charts-all-rtl-debug.css
  100. 0 0
      src/ext/packages/ext-charts/build/resources/ext-charts-all-rtl.css

+ 0 - 11
protect/cache/rpt_cache.js

@@ -1,11 +0,0 @@
-/**
- * Created by Tony on 2016/12/28.
- */
-
-var cache_report = {
-    common_ctrls: null,
-    common_fonts: null,
-    common_styles: null
-}
-
-module.exports = cache_report;

+ 0 - 62
protect/controllers/billController.js

@@ -1,62 +0,0 @@
-/**
- * Created by Tony on 2017/1/13.
- */
-var BillsData = require('../models/bills');
-var calDemoMdl = require('../models/calculate_demo');
-
-//ͳһ»Øµ÷º¯Êý
-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);
-            }
-        });
-    },
-    getAll_Construct: function(req, res) {
-        var user_id = req.body.user_id;
-        var project_id = req.body.project_id;
-        BillsData.getAll_Construct(user_id, project_id, function(err, bills){
-            if (bills) {
-                callback(req, res, err, bills);
-            } else {
-                callback(req, res, err, null);
-            }
-        });
-    },
-    testCalculate: function(req, res){
-        var user_id = req.body.user_id;
-        calDemoMdl.testCalculate(user_id, function(err, result){
-            if (err) {
-                callback(req, res, err, null);
-            } else {
-                callback(req, res, err, result);
-            }
-        });
-    },
-    testCalculate2: function(req, res){
-        var user_id = req.body.user_id;
-        calDemoMdl.testCalculate2(user_id, function(err, result){
-            if (err) {
-                callback(req, res, err, null);
-            } else {
-                callback(req, res, err, result);
-            }
-        });
-    }
-
-}

+ 0 - 57
protect/controllers/cacheController.js

@@ -1,57 +0,0 @@
-/**
- * Created by Tony on 2016/12/28.
- */
-var cache = require('../cache/rpt_cache');
-var cmn_ctrl = require('../models/rpt_control');
-var cmn_font = require('../models/rpt_font');
-var cmn_style = require('../models/rpt_style');
-
-//统一回调函数
-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 = {
-    setCache: function(cacheKey, cacheValue) {
-        cache[cacheKey] = cacheValue;
-        return true;
-    },
-    getCache: function(cacheKey) {
-        return cache[cacheKey];
-    },
-    setReportDefaultCache: function (req, res) {
-        var err = "", defProperties = {ctrls: null, fonts: null, styles: null};
-        cmn_ctrl.getAll(null, function(err, ctrls){
-            if (ctrls) {
-                cache.common_ctrls = ctrls;
-                defProperties.ctrls = ctrls;
-            } else {
-                err += 'No default controls! ';
-            }
-        });
-        cmn_font.getAll(null, function(err, fonts){
-            if (fonts) {
-                cache.common_fonts = fonts;
-                defProperties.fonts = fonts;
-            } else {
-                err += 'No default fonts! ';
-            }
-        });
-        cmn_style.getAll(null, function(err, styles){
-            if (styles) {
-                cache.common_styles = styles;
-                defProperties.styles = styles;
-            } else {
-                err += 'No default styles!';
-            }
-        });
-        callback(req, res, err, defProperties);
-    }
-}

+ 0 - 60
protect/controllers/projectController.js

@@ -1,60 +0,0 @@
-/**
- * Created by Tony on 2017/2/14.
- */
-var PrjFolder = require('../models/group_folder');
-
-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 = {
-    getAllProjects: function(req, res){
-        var user_id = req.body.user_id;
-        PrjFolder.getAll(user_id, function(err, result){
-            if (result) {
-                callback(req, res, err, result);
-            } else {
-                callback(req, res, err, null);
-            }
-        });
-    },
-    getProjectsByUserId: function(req, res) {
-        //var user_id = req.body.user_id;
-    },
-
-    saveProjects: function(req, res) {
-        var user_id = req.body.user_id;
-        var prjData = JSON.parse( req.body.prjData);
-        PrjFolder.createNew(user_id, prjData, function(err, result){
-            if (result) {
-                callback(req, res, err, result);
-            } else {
-                callback(req, res, err, null);
-            }
-        });
-    },
-
-    updateProject: function(req, res) {
-        var user_id = req.body.user_id;
-        var prj_id = req.body.prj_id;
-        var prj_Update = JSON.parse( req.body.prj_Update);
-        PrjFolder.update(user_id, prj_id, prj_Update, function(err, result){
-            if (result) {
-                callback(req, res, err, result);
-            } else {
-                callback(req, res, err, null);
-            }
-        });
-    },
-
-    remove: function(req, res){
-    }
-
-}

+ 0 - 68
protect/controllers/reportController.js

@@ -1,68 +0,0 @@
-/**
- * Created by Tony on 2016/12/24.
- */
-
-var JV = require('../rpt_component/Jpc_ValueDefine');
-var Template = require('../models/rpt_template');
-var TemplateData = require('../models/rpt_temp_data');
-var JpcEx = require('../rpt_component/JpcEx');
-var cacheController = require('./cacheController');
-
-//统一回调函数
-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 = {
-    getReportAllPages: function(req, res){
-        var grp_id = req.body.grp_id;
-        var tpl_id = req.body.tpl_id;
-        var pageSize = req.body.pageSize;
-        Template.get(grp_id, tpl_id, function(err, rptTpl){
-            if (rptTpl) {
-                TemplateData.get(tpl_id, function(err, tplData){
-                    if (tplData) {
-                        var printCom = JpcEx.createNew();
-                        rptTpl[JV.NODE_MAIN_INFO][JV.NODE_PAGE_INFO][JV.PROP_PAGE_SIZE] = pageSize;
-                        var dftControls = cacheController.getCache("common_ctrls");
-                        var dftFonts = cacheController.getCache("common_fonts");
-                        var dftStyles = cacheController.getCache("common_styles");
-                        var defProperties = {ctrls: dftControls, fonts: dftFonts, styles: dftStyles};
-                        printCom.initialize(rptTpl);
-                        printCom.analyzeData(rptTpl, tplData, defProperties);
-                        var maxPages = printCom.totalPages;
-                        var pageRst = printCom.outputAsSimpleJSONPageArray(rptTpl, tplData, 1, maxPages, defProperties);
-                        if (pageRst) {
-                            callback(req, res, err, pageRst);
-                        } else {
-                            callback(req, res, "Have errors while on going...", null);
-                        }
-                        //callback(req, res, err, tplData);
-                    } else {
-                        callback(req, res, err, null);
-                    }
-                })
-            } else {
-                callback(req, res, err, null);
-            }
-        });
-    },
-    getReportByPage: function(req, res){
-    },
-    getDefaultControls: function(req, res){
-    },
-    getDefaultFonts: function(req, res){
-    },
-    getDefaultStyles: function(req, res){
-    },
-    remove: function(req, res){
-    }
-
-}

+ 0 - 14
protect/db/cfgdb.js

@@ -1,14 +0,0 @@
-/**
- * Created by Tony on 2017/3/1.
- */
-var mg = require('mongoose');
-//mg.connect('mongodb://localhost/Demo');
-exports.mongoose = {
-    getConnection : function(server, port, dbName) {
-        if (port) {
-            return mg.createConnection(server + ":" + port,dbName);
-        } else {
-            return mg.createConnection(server,dbName);
-        }
-    }
-};

+ 0 - 7
protect/db/demodb.js

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

+ 0 - 7
protect/db/projectdb.js

@@ -1,7 +0,0 @@
-/**
- * Created by Tony on 2017/2/14.
- */
-var mg = require('mongoose');
-var db = mg.createConnection('localhost','Projects');
-//mg.connect('mongodb://localhost/Reports');
-exports.mongoose = db;

+ 0 - 7
protect/db/smartcostdb.js

@@ -1,7 +0,0 @@
-/**
- * Created by Tony on 2016/12/23.
- */
-var mg = require('mongoose');
-var db = mg.createConnection('localhost','Reports');
-//mg.connect('mongodb://localhost/Reports');
-exports.mongoose = db;

+ 0 - 141
protect/models/bills.js

@@ -1,141 +0,0 @@
-/**
- * Created by Tony on 2017/1/12.
- */
-var mongoose = require('mongoose');
-var demodb = require('../db/demodb');
-var cfgdb = require('../db/cfgdb');
-//var Schema = demodb.mongoose.Schema;
-var Schema = mongoose.Schema;
-var BillsSchema = new Schema({
-    "SerialNo": Number,
-    "ChapterID": Number,
-    "ID": Number,
-    "ParentID": Number,
-    "NextSiblingID": Number,
-    "Code": String,
-    "FullCode": String,
-    "Name": String,
-    "Units": String,
-    "Quantity": Number,
-    "DesignQuantity": Number,
-    "DesignQuantity2": Number,
-    "DesignPrice": Number,
-    "TotalPrice": Number,
-    "Memostr": String
-});
-
-var BillTagsSchema = new Schema({
-    isForSingleProj: Boolean,
-    isConfirmed: Boolean, //是否固定ID //公路造价的设计概念,用于报表读取数据,在建筑需要换一种方式记录
-    confirmType: String,  //与上配套
-    isTempEst: Boolean,      //是否暂估
-    tmpEstType: String      //专项指定类型(如:材料、工程设备、专业工程等)
-});
-
-var CostSchema = new Schema({
-    "DirectPrj": Number, //直接工程费
-    "Labour": Number, //定额人工费
-    "LabourAdj": Number, //调整人工费
-    "Material": Number, //材料费
-    "Machine": Number, //定额机械费
-    "Machine_LabourAdj": Number, //调整机上人工费 //机上人工 = 公路的机械工,重庆特有,有单独的调整
-    "MainMaterial": Number, //主材费
-    "Equipment": Number,    //设备费
-    "Management": Number,   //企业管理费
-    "Profit": Number,       //利润
-    "Risk": Number,         //风险费
-    "Diff_Labour": Number,  //人工价差
-    "Diff_Material": Number,//材料价差
-    "Diff_Machine": Number  //机械价差
-});
-
-var ConstructBillsSchema = new Schema({
-    "ProjectID": Number,    //
-    "ID": Number,
-    "ParentID": Number,
-    "NextSiblingID": Number,
-    "SerialNo": String, //序号
-    "Code": String,     //项目编码
-    "Type": String, //类别:定额与非定额区分
-    "Name": String, //项目名称
-    "Units": String,//单位
-    "Feature": String,  //项目特征
-    "Content": String,  //工作内容
-    "PrjClass": String, //工程专业
-    "FeeClass": String, //取费专业
-    "MeaCalRule": String,  //工程量计算规则
-    "RationAdjStatus": String,  //定额调整状态
-    "Quantity": Number, //工程量
-    "UnitPrice": Number, //单价
-    "TotalPrice": Number,//合价
-    "CalFoundation": String, //计算基础
-    "FeeRate": Number, //费率
-    "MixedUnitPrice": Number, //综合单价
-    "MixedGrandTotal": Number,//综合合价
-
-    "UnitCost": CostSchema,
-    "TotalCost": CostSchema,
-    "Tags": BillTagsSchema,
-    //"": Number,
-    "Memo": String  //备注
-});
-
-//var BillsData = demodb.mongoose.model("bills", BillsSchema);
-var BillsData = demodb.mongoose.model("gd_bills", BillsSchema);
-var dbConnection = null;
-var ConstructBillData = null;
-
-var BillDataDAO = function(){};
-
-BillDataDAO.prototype.get = function(id, callback){
-    BillsData.find({ID: id}, function(err, templates){
-        if(templates.length){
-            callback(false, templates[0]);
-        }
-        else{
-            callback('No result found!');
-        }
-    })
-}
-
-BillDataDAO.prototype.getAll = function(userid, callback){
-    var me = this;
-    me.iniDb('localhost', null, 'Demo', "gd_bills", BillsSchema)
-    //BillsData.find({}, function(err, templates){
-    ConstructBillData.find({}, function(err, templates){
-        if(templates.length){
-            callback(false, templates);
-        }
-        else{
-            callback('No result found!');
-        }
-        me.deIniDb();
-    })
-}
-
-BillDataDAO.prototype.iniDb = function(server, port, dbName, collectionName, schema) {
-    dbConnection = cfgdb.mongoose.getConnection(server, port, dbName);
-    ConstructBillData = dbConnection.model(collectionName, schema);
-}
-
-BillDataDAO.prototype.deIniDb = function() {
-    if (dbConnection) {
-        dbConnection.close();
-    }
-}
-
-BillDataDAO.prototype.getAll_Construct = function(userid, prjid, callback){
-    var me = this;
-    me.iniDb('localhost', null, 'Demo', "construct_bills", ConstructBillsSchema)
-    ConstructBillData.find({"ProjectID":prjid}, function(err, templates){
-        me.deIniDb();
-        if(templates.length){
-            callback(false, templates);
-        }
-        else{
-            callback('No result found!');
-        }
-    })
-}
-
-module.exports = new BillDataDAO();

+ 0 - 132
protect/models/calculate_demo.js

@@ -1,132 +0,0 @@
-/**
- * Created by Tony on 2017/2/20.
- */
-var mongoose = require('mongoose');
-var demodb = require('../db/demodb');
-var async = require('async');
-//var Schema = demodb.mongoose.Schema;
-var Schema = mongoose.Schema;
-
-var calSchema = new Schema({
-    "ID": Number,
-    "cal_type": Number,
-    "value": Number,
-    "test_result": Number
-});
-calSchema.statics.findAndModify = function (query, sort, doc, options, callback) {
-    return this.collection.findAndModify(query, sort, doc, options, callback);
-};
-
-//var BillsData = demodb.mongoose.model("bills", BillsSchema);
-var calsMdl = demodb.mongoose.model("demo_cals", calSchema);
-
-var CalDataDAO = function(){};
-
-CalDataDAO.prototype.get = function(id, callback){
-    calsMdl.find({ID: id}, function(err, templates){
-        if(templates.length){
-            callback(false, templates[0]);
-        }
-        else{
-            callback('No result found!');
-        }
-    })
-}
-
-CalDataDAO.prototype.testCalculate = function(userid, callback) {
-    var startIdx = 1, endIdx = 100000, cnt = 1;
-    var testRst = 0;
-    var dt1 = new Date(), dt2 = null;
-    console.log('start time: ' + dt1);
-    demodb.mongoose.collections.demo_cals.find({"ID": {$gte: startIdx, $lte: endIdx}}).forEach( function(obj) {
-        if(obj.cal_type){
-            //*/
-            if(obj.cal_type == 1) {
-                //obj.test_result = obj.value * 1.1;
-                testRst = obj.value * 1.1;
-            } else if(obj.cal_type == 2) {
-                //obj.test_result = obj.value * 1.2;
-                testRst = obj.value * 1.2;
-            } else {
-                //obj.test_result = obj.value + 1;
-                testRst = obj.value + 1;
-            }
-            /*/
-            testRst = 0;
-            //obj.test_result = 0;
-            //*/
-        }
-        //demodb.mongoose.collections.demo_cals.save(obj);
-        demodb.mongoose.collections.demo_cals.update({_id: obj._id}, {$set: {test_result: testRst} } );
-        cnt++;
-        if (cnt > endIdx) {
-            dt2 = new Date();
-            console.log('finished time: ' + dt2);
-        }
-    });
-    callback(false, "calculate OK!");
-}
-
-CalDataDAO.prototype.testCalculate2 = function(userid, callback) {
-    var startIdx = 1, endIdx = 100000, cnt = 1;
-    var testRst = 0;
-    async.waterfall([
-        function (cb) {
-            var dt1 = new Date();
-            console.log('start time: ' + dt1 );
-            cb(null, dt1);
-        },
-        function (dt1, cb) {
-            calsMdl.find({"ID": {$gte: startIdx, $lte: endIdx}}, function(err, data){
-                var len = data.length;
-                var cnt = 0;
-                if(len){
-                    //callback(false, templates[0]);
-                    for (var i = 0; i < len; i++) {
-                        //*/
-                        if(data[i].cal_type == 1) {
-                            //data[i].test_result = data[i].value * 1.1;
-                            testRst = data[i].value * 1.1;
-                        } else if(data[i].cal_type == 2) {
-                            //data[i].test_result = data[i].value * 1.2;
-                            testRst = data[i].value * 1.2;
-                        } else {
-                            //data[i].test_result = data[i].value + 1;
-                            testRst = data[i].value + 1;
-                        }
-                        /*/
-                        testRst = 0;
-                        //*/
-                        //demodb.mongoose.collections.demo_cals.update({_id: obj._id}, {$set: {test_result: testRst} } );
-                        calsMdl.update({_id: data[i]._id}, {$set: {test_result: testRst}}, {upsert : false}, function(error){
-                            cnt++;
-                            if(error) {
-                                console.log(error);
-                                console.log('failed time: ' + (new Date()));
-                                callback("update failed!");
-                                //break;
-                            }
-                            //if (cnt >= len) {
-                            //    console.log('finished time: ' + (new Date()));
-                            //    cb(null, 'calculate OK!');
-                            //}
-                        });
-                    }
-                    console.log('finished time: ' + (new Date()));
-                    cb(null, 'calculate OK!');
-                }
-                else{
-                    cb('No result found!');
-                }
-            });
-        }
-    ], function (err, data) {
-        if (err) {
-            callback(err, "calculate failed!");
-        } else {
-            callback(err, data);
-        }
-    });
-}
-
-module.exports = new CalDataDAO();

+ 0 - 109
protect/models/group_folder.js

@@ -1,109 +0,0 @@
-/**
- * Created by Tony on 2017/2/14.
- */
-var mongoose = require('mongoose');
-var projectdb = require('../db/projectdb');
-
-var Schema = mongoose.Schema;
-var counterSchema = new Schema({
-    _id: String,
-    sequence_value: Number
-});
-counterSchema.statics.findAndModify = function (query, sort, doc, options, callback) {
-    return this.collection.findAndModify(query, sort, doc, options, callback);
-};
-var counterModel = projectdb.mongoose.model("counters", counterSchema);
-
-//var UserGroupSchema = new Schema({
-//    "UserID": String,
-//    "TopID": Number,
-//    "Sequence": Number,
-//    "SubIDS": Array,
-//    "isReadOnly": Boolean,
-//    "Description": String
-//});
-
-var ProjectSchema = new Schema({
-    "ID" : Number,
-    "UserID": String,
-    "ParentID": Number,
-    "NextSiblingID": Number,
-    "parallelSeq": Number,
-    "innerSeq": Number,
-    "TypeID": Number,
-    "Name": String,
-    "Description": String
-});
-
-//var UserProjectsData = projectdb.mongoose.model("user_grps", UserGroupSchema);
-var ProjectsData = projectdb.mongoose.model("projects", ProjectSchema);
-
-var ProjectDataDAO = function(){};
-
-ProjectDataDAO.prototype.get = function(id, callback){
-    ProjectsData.find({ID: id}, function(err, templates){
-        if(templates.length){
-            callback(false, templates[0]);
-        }
-        else{
-            callback('No result found!');
-        }
-    })
-}
-
-ProjectDataDAO.prototype.getAll = function(userid, callback){
-    ProjectsData.find({}, function(err, templates){
-        if(templates.length){
-            callback(false, templates);
-        }
-        else{
-            callback('No result found!');
-        }
-    })
-}
-
-ProjectDataDAO.prototype.remove = function(userid, projectId, callback){
-    //
-}
-
-ProjectDataDAO.prototype.removeAll = function(userid, callback){
-    //
-}
-
-ProjectDataDAO.prototype.createNew = function(userid, folderData, callback){
-    counterModel.findAndModify({_id: "project_grp_id"}, [], { $inc: { sequence_value: 1 } }, {'new':true},
-        function (err, result) {
-            if (err) callback(err)
-            else {
-                //result.value.sequence_value
-                folderData.ID = result.value.sequence_value;
-                //ProjectsData.save
-                ProjectsData.create(folderData, function(err, result) {
-                    if(err) {
-                        console.log(err);
-                    } else {
-                        console.log('save ok');
-                    }
-                    //projectdb.close();
-                });
-            }
-        }
-    );
-}
-
-ProjectDataDAO.prototype.update = function(userid, prj_id, proUpdate, callback){
-    var conditions = {UserID: userid, ID: prj_id};
-    var update = proUpdate;
-    var options    = {upsert : false};
-    ProjectsData.update(conditions, update, options, function(error){
-        if(error) {
-            console.log(error);
-            callback("update failed!");
-        } else {
-            console.log('update ok!');
-            callback(false, "ok");
-        }
-    });
-}
-
-module.exports = new ProjectDataDAO();

+ 0 - 45
protect/models/rpt_control.js

@@ -1,45 +0,0 @@
-/**
- * Created by Tony on 2016/12/23.
- */
-var mongoose = require('mongoose');
-var smartcostdb = require('./../db/smartcostdb');
-//var Schema = smartcostdb.mongoose.Schema;
-var Schema = mongoose.Schema;
-var CtrlSchema = new Schema({
-    "ID" : String,
-    "Shrink" : String,
-    "ShowZero" : String,
-    "Horizon" : String,
-    "Vertical" : String,
-    "Wrap" : String
-});
-
-var Control = smartcostdb.mongoose.model("com_ctrls", CtrlSchema);
-//var Control = smartcostdb.model("com_ctrls", CtrlSchema);
-
-var CtrlDAO = function(){};
-
-//根据id
-CtrlDAO.prototype.get = function(id, callback){
-    Control.find({ID: id}, function(err, templates){
-        if(templates.length){
-            callback(false, templates[0]);
-        }
-        else{
-            callback('查找不到报表模板!');
-        }
-    })
-}
-
-CtrlDAO.prototype.getAll = function(id, callback){
-    Control.find({}, function(err, templates){
-        if(templates.length){
-            callback(false, templates);
-        }
-        else{
-            callback('查找不到报表模板!');
-        }
-    })
-}
-
-module.exports = new CtrlDAO();

+ 0 - 48
protect/models/rpt_font.js

@@ -1,48 +0,0 @@
-/**
- * Created by Tony on 2016/12/23.
- */
-var mongoose = require('mongoose');
-var smartcostdb = require('./../db/smartcostdb');
-//var Schema = smartcostdb.mongoose.Schema;
-var Schema = mongoose.Schema;
-var FontSchema = new Schema({
-    "ID" : String,
-    "Name" : String,
-    "FontHeight" : String,
-    "FontColor" : String,
-    "FontBold" : String,
-    "FontItalic" : String,
-    "FontUnderline" : String,
-    "FontStrikeOut" : String,
-    "FontAngle" : String
-});
-
-var Font = smartcostdb.mongoose.model("com_fonts", FontSchema);
-//var Font = smartcostdb.model("com_fonts", FontSchema);
-
-var FontDAO = function(){};
-
-//根据id
-FontDAO.prototype.get = function(id, callback){
-    Font.find({ID: id}, function(err, templates){
-        if(templates.length){
-            callback(false, templates[0]);
-        }
-        else{
-            callback('查找不到报表模板!');
-        }
-    })
-}
-
-FontDAO.prototype.getAll = function(id, callback){
-    Font.find({}, function(err, templates){
-        if(templates.length){
-            callback(false, templates);
-        }
-        else{
-            callback('查找不到报表模板!');
-        }
-    })
-}
-
-module.exports = new FontDAO();

+ 0 - 41
protect/models/rpt_style.js

@@ -1,41 +0,0 @@
-/**
- * Created by Tony on 2016/12/23.
- */
-var mongoose = require('mongoose');
-var smartcostdb = require('./../db/smartcostdb');
-//var Schema = smartcostdb.mongoose.Schema;
-var Schema = mongoose.Schema;
-var StyleSchema = new Schema({
-    "ID" : String,
-    "border_style" : Array
-});
-
-var Style = smartcostdb.mongoose.model("com_styles", StyleSchema);
-//var Style = smartcostdb.model("com_styles", StyleSchema);
-
-var StyleDAO = function(){};
-
-//根据id
-StyleDAO.prototype.get = function(id, callback){
-    Style.find({ID: id}, function(err, templates){
-        if(templates.length){
-            callback(false, templates[0]);
-        }
-        else{
-            callback('查找不到报表模板!');
-        }
-    })
-}
-
-StyleDAO.prototype.getAll = function(id, callback){
-    Style.find({}, function(err, templates){
-        if(templates.length){
-            callback(false, templates);
-        }
-        else{
-            callback('查找不到报表模板!');
-        }
-    })
-}
-
-module.exports = new StyleDAO();

+ 0 - 34
protect/models/rpt_temp_data.js

@@ -1,34 +0,0 @@
-/**
- * Created by Tony on 2016/12/28.
- */
-var mongoose = require('mongoose');
-var smartcostdb = require('./../db/smartcostdb');
-//var Schema = smartcostdb.mongoose.Schema;
-var Schema = mongoose.Schema;
-var RptTemplateDataSchema = new Schema({
-    "Data_Key": String,
-    "discrete_data": Array,
-    "master_data": Array,
-    "detail_data": Array
-});
-
-var TemplateData = smartcostdb.mongoose.model("temp_tpl_datas", RptTemplateDataSchema);
-//var TemplateData = smartcostdb.model("temp_tpl_datas", RptTemplateDataSchema);
-
-var RplTplDataDAO = function(){};
-
-//根据id获取临时数据
-RplTplDataDAO.prototype.get = function(tpl_id, callback){
-    //TemplateData.find({"Data_Key": tpl_id}, function(err, templates){
-    //TemplateData.find({}, function(err, templates){
-    TemplateData.find({"Data_Key": tpl_id}, function(err, templates){
-        if(templates.length){
-            callback(false, templates[0]);
-        }
-        else{
-            callback('查找不到模板临时数据!');
-        }
-    })
-}
-
-module.exports = new RplTplDataDAO();

+ 0 - 38
protect/models/rpt_template.js

@@ -1,38 +0,0 @@
-/**
- * Created by Tony on 2016/12/23.
- */
-var mongoose = require('mongoose');
-var smartcostdb = require('./../db/smartcostdb');
-//var Schema = smartcostdb.mongoose.Schema;
-var Schema = mongoose.Schema;
-var RptTemplateSchema = new Schema({
-    "GROUP_KEY": String,
-    "ID_KEY": String,
-    "主信息": Schema.Types.Mixed,
-    "指标_数据_映射": Schema.Types.Mixed,
-    "布局框_集合": Array,
-    "流水式表_信息": Schema.Types.Mixed,
-    "交叉表_信息": Schema.Types.Mixed,
-    "无映射离散指标_集合": Schema.Types.Mixed,
-    "离散参数_集合": Schema.Types.Mixed,
-    "计算式_集合": Array
-});
-
-var Template = smartcostdb.mongoose.model("rpt_templates", RptTemplateSchema);
-//var Template = smartcostdb.model("rpt_templates", RptTemplateSchema);
-
-var RplTplDAO = function(){};
-
-//根据id获取试卷
-RplTplDAO.prototype.get = function(grpId, id, callback){
-    Template.find({GROUP_KEY: grpId, ID_KEY: id}, function(err, templates){
-        if(templates.length){
-            callback(false, templates[0]);
-        }
-        else{
-            callback('查找不到报表模板!');
-        }
-    })
-}
-
-module.exports = new RplTplDAO();

+ 0 - 202
protect/rpt_component/JpcEx.js

@@ -1,202 +0,0 @@
-var JV = require('./Jpc_ValueDefine');
-var JpcBand = require('./Jpc_Band');
-var JpcFlowTab = require('./Jpc_FlowTab');
-var JpcBillTab = require('./Jpc_BillTab');
-var JpcCrossTab = require('./Jpc_CrossTab');
-var JpcField = require('./Jpc_Field');
-var JpcParam = require('./Jpc_Param');
-var JpcFunc = require('./Jpc_Function');
-var JpcData = require('./Jpc_Data');
-var JpcCommonHelper = require('./helper/Jpc_Helper_Common');
-var JE = require('./Jpc_RTE'); //Important: for self-define function execution purpose
-
-var JpcExSrv = function(){};
-JpcExSrv.prototype.createNew = function(){
-    function private_buildDftItems(rptTpl, dftCollection, propArray, nodeName) {
-        var rst = {};
-        if (dftCollection) {
-            for (var i = 0; i < dftCollection.length; i++) {
-                var item = {};
-                for (var j = 0; j < propArray.length; j++) {
-                    item[propArray[j]] = dftCollection[i][propArray[j]];
-                }
-                rst[dftCollection[i][JV.PROP_ID]] = item;
-            }
-            if (rptTpl && rptTpl[nodeName] && rptTpl[nodeName].length > 0) {
-                for (var i = 0; i < rptTpl[nodeName].length; i++) {
-                    var rptDftItem = rptTpl[nodeName][i];
-                    if (rst[rptDftItem[JV.PROP_ID]] == undefined) {
-                        var item = {};
-                        for (var j = 0; j < propArray.length; j++) {
-                            item[propArray[j]] = rptDftItem[propArray[j]];
-                        }
-                        rst[rptDftItem[JV.PROP_ID]] = item;
-                    }
-                }
-            }
-        }
-        return rst;
-    }
-    function private_buildDftControls(rptTpl, dftControlCollection) {
-        var rst = private_buildDftItems(rptTpl,dftControlCollection, JV.CONTROL_PROPS, JV.NODE_CONTROL_COLLECTION);
-        return rst;
-    }
-    function private_buildDftFonts(rptTpl, dftFontCollection) {
-        var rst = private_buildDftItems(rptTpl,dftFontCollection, JV.FONT_PROPS, JV.NODE_FONT_COLLECTION);
-        return rst;
-    }
-    function private_buildDftStyles(rptTpl, dftStyleCollection) {
-        var rst = {};
-        if (dftStyleCollection) {
-            for (var i = 0; i < dftStyleCollection.length; i++) {
-                var item = {};
-                if (dftStyleCollection[i][JV.PROP_BORDER_STYLE] && dftStyleCollection[i][JV.PROP_BORDER_STYLE].length > 0) {
-                    for (var j = 0; j < dftStyleCollection[i][JV.PROP_BORDER_STYLE].length; j++) {
-                        var borderItem = {};
-                        for (var k = 0; k < JV.BORDER_STYLE_PROPS.length; k++) {
-                            borderItem[JV.BORDER_STYLE_PROPS[k]] = dftStyleCollection[i][JV.PROP_BORDER_STYLE][j][JV.BORDER_STYLE_PROPS[k]];
-                        }
-                        item[dftStyleCollection[i][JV.PROP_BORDER_STYLE][j][JV.PROP_POSITION]] = borderItem;
-                    }
-                }
-                rst[dftStyleCollection[i][JV.PROP_ID]] = item;
-            }
-            if (rptTpl && rptTpl[JV.NODE_STYLE_COLLECTION] && rptTpl[JV.NODE_STYLE_COLLECTION].length > 0) {
-                for (var i = 0; i < rptTpl[JV.NODE_STYLE_COLLECTION].length; i++) {
-                    var rptDftItem = rptTpl[JV.NODE_STYLE_COLLECTION][i];
-                    if (rst[rptDftItem[JV.PROP_ID]] == undefined) {
-                        var item = {};
-                        for (var j = 0; j < rptDftItem[JV.PROP_BORDER_STYLE].length; j++) {
-                            var borderItem = {};
-                            for (var k = 0; k < JV.BORDER_STYLE_PROPS.length; k++) {
-                                borderItem[JV.BORDER_STYLE_PROPS[k]] = rptDftItem[JV.PROP_BORDER_STYLE][j][JV.BORDER_STYLE_PROPS[k]];
-                            }
-                            item[rptDftItem[JV.PROP_BORDER_STYLE][j][JV.PROP_POSITION]] = borderItem;
-                        }
-                        rst[rptDftItem[JV.PROP_ID]] = item;
-                    }
-                }
-            }
-        }
-        return rst;
-    }
-    var JpcResult = {};
-    //JpcResult.report_title
-    JpcResult.initialize = function(rptTpl) {
-        var me = this;
-        if (rptTpl[JV.NODE_FLOW_INFO]) {
-            me.flowTab = JpcFlowTab.createNew();
-            me.flowTab.initialize();
-        }
-        if (rptTpl[JV.NODE_BILL_INFO]) {
-            me.billTab = JpcBillTab.createNew();
-            me.billTab.initialize();
-        }
-        //var dt1 = new Date();
-        if (rptTpl[JV.NODE_CROSS_INFO]) {
-            me.crossTab = JpcCrossTab.createNew();
-            me.crossTab.initialize();
-        }
-        me.totalPages = 0;
-        me.runTimePageData = {};
-        me.fields = JpcField.createNew(rptTpl);
-        me.params = JpcParam.createNew(rptTpl);
-        me.formulas = JpcFunc.createNew(rptTpl);
-    };
-
-    JpcResult.analyzeData = function(rptTpl, dataObj, defProperties) {
-        var me = this;
-        //1. data object
-        var dataHelper = JpcData.createNew();
-        dataHelper.analyzeData(rptTpl, dataObj);
-        //2. tab object
-        //pre-condition: the data should be sorted in SQL/NoSQL level!
-        //var dt1 = new Date();
-        if (me.flowTab) {
-            me.flowTab.sorting(rptTpl, dataObj, dataHelper.dataSeq.slice(0));
-        }
-        if (me.crossTab) {
-            me.crossTab.sorting(rptTpl, dataObj, dataHelper.dataSeq.slice(0));
-        }
-        //var dt2 = new Date();
-        //alert(dt2 - dt1);
-        //3. formulas
-        me.executeFormulas(JV.RUN_TYPE_BEFORE_PAGING, rptTpl, dataObj, me);
-        //4. paging
-        me.paging(rptTpl, dataObj, defProperties);
-        //alert('analyzeData was completed!');
-        //for garbage collection:
-        dataHelper = null;
-    };
-    JpcResult.paging = function(rptTpl, dataObj, defProperties) {
-        var me = this;
-        if (me.flowTab) {
-            me.totalPages = me.flowTab.preSetupPages(rptTpl, dataObj, defProperties);
-        } else if (me.crossTab) {
-            me.totalPages = me.crossTab.preSetupPages(rptTpl, defProperties);
-        } else if (me.billTab) {
-            //me.totalPages = billTab.paging();
-        }
-    };
-    JpcResult.executeFormulas = function(runType, $CURRENT_TEMPLATE, $CURRENT_DATA, $CURRENT_RPT) {
-        var me = this;
-        for (var i = 0; i < me.formulas.length; i++) {
-            if (me.formulas[i][JV.PROP_RUN_TYPE] === runType) {
-                var expression = me.formulas[i][JV.PROP_EXPRESSION];
-                if (expression) {
-                    eval(expression);
-                }
-            }
-        }
-    };
-    JpcResult.outputAsSimpleJSONPageArray = function(rptTpl, dataObj, startPage, endPage, defProperties) {
-        var me = this, rst = {};
-        if ((startPage > 0) && (startPage <= endPage) && (endPage <= me.totalPages)) {
-            rst[JV.NODE_CONTROL_COLLECTION] = private_buildDftControls(rptTpl, (defProperties == null)?null:defProperties.ctrls);
-            rst[JV.NODE_STYLE_COLLECTION] = private_buildDftStyles(rptTpl, (defProperties == null)?null:defProperties.styles);
-            rst[JV.NODE_FONT_COLLECTION] = private_buildDftFonts(rptTpl, (defProperties == null)?null:defProperties.fonts);
-            rst[JV.NODE_PAGE_INFO] = JpcCommonHelper.getPageSize(rptTpl);
-            rst.items = [];
-            var bands = JpcBand.createNew(rptTpl, defProperties);
-            try {
-                for (var page = startPage; page <= endPage; page++) {
-                    me.runTimePageData.currentPage = page;
-                    me.executeFormulas(JV.RUN_TYPE_BEFORE_OUTPUT, rptTpl, dataObj, me);
-                    rst.items.push(me.outputAsSimpleJSONPage(rptTpl, dataObj, bands, page, rst[JV.NODE_CONTROL_COLLECTION]));
-                }
-                if (bands[JV.BAND_PROP_MERGE_BAND]) {
-                    var mergedBand = {}, band = bands[JV.BAND_PROP_MERGE_BAND];
-                    mergedBand[JV.PROP_LEFT] = band[JV.PROP_LEFT].toFixed(0);
-                    mergedBand[JV.PROP_RIGHT] = band[JV.PROP_RIGHT].toFixed(0);
-                    mergedBand[JV.PROP_TOP] = band[JV.PROP_TOP].toFixed(0);
-                    mergedBand[JV.PROP_BOTTOM] = band[JV.PROP_BOTTOM].toFixed(0);
-                    mergedBand[JV.BAND_PROP_STYLE] = band[JV.BAND_PROP_STYLE];
-                    rst[JV.BAND_PROP_MERGE_BAND] = mergedBand;
-                }
-            } finally {
-                bands = null;
-            }
-        }
-        return rst;
-    };
-    JpcResult.outputAsSimpleJSONPage = function(rptTpl, dataObj, bands, page, controls) {
-        var me = this, rst = null;
-        if (me.totalPages >= page) {
-            rst = {};
-            rst[JV.PROP_PAGE_SEQ] = page;
-            //rst.cells = [];
-            if (me.flowTab) {
-                rst.cells = me.flowTab.outputAsSimpleJSONPage(rptTpl, dataObj, page, bands, controls, me);
-            } else if (me.crossTab) {
-                rst.cells = me.crossTab.outputAsSimpleJSONPage(rptTpl, dataObj, page, bands, controls, me);
-            } else if (me.billTab) {
-                //
-            }
-        }
-        return rst;
-    };
-    //JpcEx.rte.currentRptObj = JpcResult;
-    return JpcResult;
-}
-
-module.exports = new JpcExSrv();

+ 0 - 52
protect/rpt_component/Jpc_Band.js

@@ -1,52 +0,0 @@
-var JV = require('./Jpc_ValueDefine');
-var JpcCommonHelper = require('./helper/Jpc_Helper_Common');
-var JpcBandHelper = require('./helper/Jpc_Helper_Band');
-
-var JpcBand = {
-    createNew: function(rptTpl, defProperties) {
-        var me = this;
-        var JpcBandResult = {};
-        if (rptTpl[JV.NODE_BAND_COLLECTION]) {
-            for (var i = 0; i < rptTpl[JV.NODE_BAND_COLLECTION].length; i++) {
-                me.createSingle(rptTpl[JV.NODE_BAND_COLLECTION][i], JpcBandResult, rptTpl, defProperties);
-            }
-        }
-        return JpcBandResult;
-    },
-    createSingle: function(bandNode, parentObj, rptTpl, defProperties) {
-        var me = this;
-        if (bandNode && bandNode[JV.BAND_PROP_NAME]) {
-            var item = {Left:0, Right:0, Top:0, Bottom:0};
-            item[JV.BAND_PROP_STYLE] = JpcCommonHelper.getStyle(bandNode[JV.BAND_PROP_STYLE], defProperties.styles, null);
-            item[JV.BAND_PROP_CONTROL] = JpcCommonHelper.getControl(bandNode[JV.BAND_PROP_CONTROL], defProperties.ctrls, null);
-            if (bandNode[JV.BAND_PROP_HEIGHT]) {
-                item[JV.BAND_PROP_HEIGHT] = 1.0 * bandNode[JV.BAND_PROP_HEIGHT];
-            } else {
-                item[JV.BAND_PROP_HEIGHT] = 0.0;
-            }
-            if (bandNode[JV.BAND_PROP_WIDTH]) {
-                item[JV.BAND_PROP_WIDTH] = 1.0 * bandNode[JV.BAND_PROP_WIDTH];
-            } else {
-                item[JV.BAND_PROP_WIDTH] = 0.0;
-            }
-            item[JV.BAND_PROP_DISPLAY_TYPE] = JpcBandHelper.getBandTypeValByString(bandNode[JV.BAND_PROP_DISPLAY_TYPE]);
-            item[JV.BAND_PROP_ALIGNMENT] = JpcCommonHelper.getLayoutAlignment(bandNode[JV.BAND_PROP_ALIGNMENT]);
-            item[JV.PROP_CALCULATION] = JpcCommonHelper.getPosCalculationType(bandNode[JV.PROP_CALCULATION]);
-
-            if (bandNode[JV.BAND_PROP_MERGE_BORDER]) {
-                item[JV.BAND_PROP_MERGE_BORDER] = bandNode[JV.BAND_PROP_MERGE_BORDER];
-            }
-            if (bandNode[JV.BAND_PROP_SUB_BANDS]) {
-                for (var i = 0; i < bandNode[JV.BAND_PROP_SUB_BANDS].length; i++) {
-                    me.createSingle(bandNode[JV.BAND_PROP_SUB_BANDS][i], parentObj, rptTpl, defProperties);
-                }
-            }
-            parentObj[bandNode[JV.BAND_PROP_NAME]] = item;
-            if (item[JV.BAND_PROP_MERGE_BORDER] != null && item[JV.BAND_PROP_MERGE_BORDER] != undefined && item[JV.BAND_PROP_MERGE_BORDER] == 'T') {
-                parentObj[JV.BAND_PROP_MERGE_BAND] = item;
-            }
-        }
-    }
-}
-
-module.exports = JpcBand;

+ 0 - 78
protect/rpt_component/Jpc_BillTab.js

@@ -1,78 +0,0 @@
-var JV = require('./Jpc_ValueDefine');
-var JpcFieldHelper = require('./helper/Jpc_Helper_Field');
-var JpcBandHelper = require('./helper/Jpc_Helper_Band');
-var JpcBand = require('./Jpc_Band');
-var JpcFlowTabHelper = require('./helper/Jpc_Helper_FlowTab');
-var JpcCommonHelper = require('./helper/Jpc_Helper_Common');
-var JpcDiscreteHelper = require('./helper/Jpc_Helper_Discrete');
-var JpcTextHelper = require('./helper/Jpc_Helper_Text');
-var JpcCommonOutputHelper = require('./helper/Jpc_Helper_CommonOutput');
-var JpcAreaHelper = require('./helper/Jpc_Helper_Area');
-
-var JpcBillTabSrv = function(){};
-JpcBillTabSrv.prototype.createNew = function(){
-    var JpcBillTabResult = {};
-    JpcBillTabResult.initialize = function() {
-        var me = this;
-        me.disp_fields_idx = [];
-    };
-    JpcBillTabResult.sorting = function(rptTpl) {
-        var me = this;
-        JpcFieldHelper.findAndPutDataFieldIdx(rptTpl, rptTpl[JV.NODE_BILL_INFO][JV.NODE_BILL_CONTENT][JV.PROP_BILL_FIELDS], null, me.disp_fields_idx);
-    };
-    JpcBillTabResult.outputAsSimpleJSONPage = function (rptTpl, dataObj, page, bands, controls, $CURRENT_RPT) {
-        var me = this, rst = [], tabRstLst = [];
-        //1 calculate the band position
-        var pageStatus = [true, false, false, false, false, false, false, false];
-        JpcBandHelper.setBandArea(bands, rptTpl, pageStatus);
-        //2. start to output detail-part
-        var unitFactor = JpcCommonHelper.getUnitFactor(rptTpl);
-        //2.1 output content
-        tabRstLst.push(me.outputContent(rptTpl, dataObj, page, bands, unitFactor, controls, pageStatus));
-        //2.2 output discrete
-        tabRstLst.push(JpcDiscreteHelper.outputDiscreteInfo(rptTpl[JV.NODE_BILL_INFO][JV.NODE_DISCRETE_INFO], bands, dataObj, unitFactor, pageStatus, page - 1, 1, 0, $CURRENT_RPT));
-    }
-    JpcBillTabResult.outputContent = function(rptTpl, dataObj, page, bands, unitFactor, controls, pageStatus) {
-        var me = this, rst = [];
-        var tab = rptTpl[JV.NODE_BILL_INFO][JV.NODE_BILL_CONTENT];
-        var band = bands[tab[JV.PROP_BAND_NAME]];
-        if (band) {
-            if (pageStatus[band[JV.BAND_PROP_DISPLAY_TYPE]] == true) {
-                var tab_fields = tab[JV.PROP_BILL_FIELDS];
-                var data_details = dataObj[JV.DATA_MASTER_DATA];
-                for (var i = 0; i < tab_fields.length; i++) {
-                    var tab_field = tab_fields[i];
-                    var data_field = null;
-                    if (me.disp_fields_idx[i] != JV.BLANK_FIELD_INDEX) {
-                        data_field = data_details[me.disp_fields_idx[i]];
-                    } else {
-                        data_field = JE.F(tab_field[JV.PROP_FIELD_ID]);
-                        if (data_field) {
-                            data_field = data_field[JV.PROP_AD_HOC_DATA];
-                        }
-                    }
-                    if (!(tab_field[JV.PROP_HIDDEN])) {
-                        var cellItem = JpcCommonOutputHelper.createCommonOutput(tab_field, JpcFieldHelper.getValue(data_field, page - 1), controls);
-                        cellItem[JV.PROP_AREA] = JpcAreaHelper.outputArea(tab_field[JV.PROP_AREA], band, unitFactor, 1, 0, 1, 0, 1, 0, true, false);
-                        rst.push(cellItem);
-                    }
-                }
-                if (tab[JV.PROP_TEXT]) {
-                    rst.push(JpcTextHelper.outputText(tab[JV.PROP_TEXT], band, unitFactor, 1, 0, 1, 0, 1, 0));
-                }
-                if (tab[JV.PROP_TEXTS]) {
-                    for (var j = 0; j < tab[JV.PROP_TEXTS].length; j++) {
-                        rst.push(JpcTextHelper.outputText(tab[JV.PROP_TEXTS][j], band, unitFactor, 1, 0, 1, 0, 1, 0));
-                    }
-                }
-                if (tab[JV.NODE_DISCRETE_INFO]) {
-                    rst = rst.concat(JpcDiscreteHelper.outputDiscreteInfo(tab[JV.NODE_DISCRETE_INFO], bands, dataObj, unitFactor, pageStatus, page - 1, 1, 0));
-                }
-            }
-        }
-        return rst;
-    }
-    return JpcBillTabResult;
-}
-
-module.exports = new JpcBillTabSrv();

+ 0 - 548
protect/rpt_component/Jpc_CrossTab.js

@@ -1,548 +0,0 @@
-var JV = require('./Jpc_ValueDefine');
-var JpcFieldHelper = require('./helper/Jpc_Helper_Field');
-var JpcBandHelper = require('./helper/Jpc_Helper_Band');
-var JpcBand = require('./Jpc_Band');
-var JpcFlowTabHelper = require('./helper/Jpc_Helper_FlowTab');
-var JpcCrossTabHelper = require('./helper/Jpc_Helper_CrossTab');
-var JpcCommonHelper = require('./helper/Jpc_Helper_Common');
-var JpcDiscreteHelper = require('./helper/Jpc_Helper_Discrete');
-var JpcTextHelper = require('./helper/Jpc_Helper_Text');
-var JpcCommonOutputHelper = require('./helper/Jpc_Helper_CommonOutput');
-var JpcAreaHelper = require('./helper/Jpc_Helper_Area');
-
-var JpcCrossTabSrv = function(){};
-JpcCrossTabSrv.prototype.createNew = function(){
-    function private_addTabValue(tabValuedIdxLst, sortedSequence, segIdx, preRec, nextRec, dispSerialIdxLst, sorted_sum_value_Lst, rst_sum_value_Lst) {
-        if (tabValuedIdxLst) {
-            var serial1stTier = null;
-            if (dispSerialIdxLst) serial1stTier = [];
-            var pgseg1stTier = [];
-            var sumVal = [];
-            var sumValL = 1;
-            if (sortedSequence) {
-                var arrDupVals = sortedSequence[segIdx];
-                var arrDupSumVals = null;
-                if (sorted_sum_value_Lst != null) {
-                    arrDupSumVals = sorted_sum_value_Lst[segIdx];
-                    sumValL = arrDupSumVals[0].length;
-                }
-
-                for (var i = 0; i < nextRec; i++) {
-                    if (arrDupVals.length <= preRec + i) {
-                        pgseg1stTier[i] = JV.BLANK_VALUE_INDEX;
-                        sumVal[i] = [];
-                        for (var ei = 0; ei < sumValL; ei++) {
-                            sumVal[i][ei] = null;
-                        }
-                        if (serial1stTier != null) {
-                            serial1stTier[i] = JV.BLANK_VALUE_INDEX;
-                        }
-                        continue;
-                    }
-                    var duplicateValueArr = arrDupVals[preRec + i];
-                    pgseg1stTier[i] = duplicateValueArr[0];
-                    if (arrDupSumVals != null) sumVal[i] = arrDupSumVals[preRec + i];
-
-                    if (serial1stTier != null) {
-                        serial1stTier[i] = preRec + i;
-                    }
-                }
-                tabValuedIdxLst.push(pgseg1stTier);
-                if (dispSerialIdxLst != null) {
-                    dispSerialIdxLst.push(serial1stTier);
-                }
-                if (sorted_sum_value_Lst != null && rst_sum_value_Lst != null) {
-                    rst_sum_value_Lst.push(sumVal);
-                }
-            } else {
-                //should push blank value index rather than null
-                for (var i = 0; i < nextRec; i++) {
-                    pgseg1stTier[i] = JV.BLANK_VALUE_INDEX;
-                    sumVal[i] = null;
-                    if (serial1stTier != null) {
-                        serial1stTier[i] = JV.BLANK_VALUE_INDEX;
-                    }
-                }
-                tabValuedIdxLst.push(pgseg1stTier);
-                if (dispSerialIdxLst != null) {
-                    dispSerialIdxLst.push(serial1stTier);
-                }
-                if (sorted_sum_value_Lst != null && rst_sum_value_Lst != null) {
-                    rst_sum_value_Lst.push(sumVal);
-                }
-            }
-        }
-    }
-    function private_addContentValue(dispValueIdxLst_Content, sortedContentSequence, segIdx, counterRowRec, maxRowRec, counterColRec, maxColRec, page_seg_map, pageIdx) {
-        if (dispValueIdxLst_Content != null) {
-            page_seg_map.push([pageIdx,segIdx]);
-            var arrContents = [];
-            if (sortedContentSequence != null) {
-                var arrAllContent = sortedContentSequence[segIdx];
-                for (var i = 0; i < maxRowRec; i++) {
-                    arrContents.push([]);
-                    for (var j = 0; j < maxColRec; j++) {
-                        if (arrAllContent.length <= counterRowRec + i || arrAllContent[counterRowRec + i].length <= counterColRec + j) {
-                            arrContents[i][j] = JV.BLANK_VALUE_INDEX;
-                        } else {
-                            arrContents[i][j] = arrAllContent[counterRowRec + i][counterColRec + j];
-                        }
-                    }
-                }
-                dispValueIdxLst_Content.push(arrContents);
-            } else {
-                //should push blank value index rather than null
-                for (var i = 0; i < maxRowRec; i++) {
-                    arrContents.push([]);
-                    for (var j = 0; j < maxColRec; j++) {
-                        arrContents[i][j] = JV.BLANK_VALUE_INDEX;
-                    }
-                }
-                dispValueIdxLst_Content.push(arrContents);
-            }
-        }
-    }
-    function private_SortAndOptimize(rptTpl, dataObj, dataSeq, sortTab, rstFieldsIdx) {
-        var result = [];
-        var tab = rptTpl[JV.NODE_CROSS_INFO][sortTab];
-        if (tab) {
-            var sIDX = 0;
-            //1. prepare and sort by tab-field
-            var fields = [];
-            JpcFieldHelper.findAndPutDataFieldIdx(rptTpl, tab[JV.TAB_CROSS_FIELDS], fields, rstFieldsIdx);
-            var data_details = dataObj[JV.DATA_DETAIL_DATA];
-            JpcCrossTabHelper.sortTabFields(fields, rstFieldsIdx, data_details, dataSeq);
-            //2. distinguish sort tab fields value
-            var b1 = false;
-            for (var i = 0; i < dataSeq.length; i++) {
-                sIDX = 0;
-                var segArr = [];
-                if (dataSeq[i].length == 1) {
-                    JpcCrossTabHelper.pushToSeg(segArr, dataSeq, i, 0, 1);
-                } else {
-                    for (var j = 1; j < dataSeq[i].length; j++) {
-                        b1 = false;
-                        for (var k = 0; k < rstFieldsIdx.length; k++) {
-                            if (data_details[rstFieldsIdx[k]][dataSeq[i][j - 1]] != data_details[rstFieldsIdx[k]][dataSeq[i][j]]) {
-                                b1 = true;
-                                break;
-                            }
-                        }
-                        if (b1) {
-                            JpcCrossTabHelper.pushToSeg(segArr, dataSeq, i, sIDX, j);
-                            sIDX = j;
-                            if (j == dataSeq[i].length - 1) {
-                                JpcCrossTabHelper.pushToSeg(segArr, dataSeq, i, j, dataSeq[i].length);
-                            }
-                        } else if (j == dataSeq[i].length - 1) {
-                            JpcCrossTabHelper.pushToSeg(segArr, dataSeq, i, sIDX, dataSeq[i].length);
-                        }
-                    }
-                }
-                if (segArr.length > 0) result.push(segArr);
-            }
-        }
-        return result;
-    }
-    function private_SortForDisplayContent(rptTpl, rowSeq, colSeq, rstFieldsIdx){
-        var result = [];
-        var tab = rptTpl[JV.NODE_CROSS_INFO][JV.NODE_CROSS_CONTENT];
-        if (tab) {
-            JpcFieldHelper.findAndPutDataFieldIdx(rptTpl, tab[JV.TAB_CROSS_FIELDS], null, rstFieldsIdx);
-        }
-        for (var i = 0; i < rowSeq.length; i++) {
-            var rl = rowSeq[i], cl = colSeq[i];
-            var ds = [];
-            //1. initialize to blank value index
-            for (var j = 0; j < rl.length; j++) {
-                ds.push([]);
-                for (var k = 0; k < cl.length; k++) {
-                    ds[j].push(JV.BLANK_VALUE_INDEX);
-                }
-            }
-            //2. then fill up the right index
-            for (var j = 0; j < rl.length; j++) {
-                var ra = rl[j];
-                for (var k = 0; k < ra.length; k++) {
-                    var colIdx = JpcCrossTabHelper.getColIDX(cl, ra[k]);
-                    if (colIdx >= 0) {
-                        ds[j][colIdx] = ra[k];
-                    }
-                }
-            }
-            result.push(ds);
-        }
-        return result;
-    }
-
-    var JpcCrossTabResult = {};
-    JpcCrossTabResult.initialize = function() {
-        var me = this;
-        me.dispValueIdxLst_Row = [];
-        me.dispValueIdxLst_Col = [];
-        me.dispValueIdxLst_Content = [];
-        me.dispSerialIdxLst_Row = [];
-        me.col_sum_fields_idx = [];
-        me.col_sum_fields_value_total = [];
-        me.dispSumValueLst_Col = [];
-        me.page_seg_map = [];
-        me.row_fields_idx = [];
-        me.col_fields_idx = [];
-        me.content_fields_idx = [];
-        me.row_extension_fields_idx = [];
-        me.row_sum_extension_fields_idx = [];
-        me.crsOrient = JV.PAGE_ORIENTATION_V_FIRST;
-        me.pageStatusLst = [];
-    };
-    JpcCrossTabResult.sorting = function(rptTpl, dataObj, dataSeq) {
-        var me = this;
-        //IMPORTANT: the data should be sorted in SQL/NoSQL level!
-        me.sortedRowSequence = private_SortAndOptimize(rptTpl, dataObj, dataSeq, JV.NODE_CROSS_ROW, me.row_fields_idx);
-        me.sortedColSequence = private_SortAndOptimize(rptTpl, dataObj, dataSeq, JV.NODE_CROSS_COL, me.col_fields_idx);
-        me.sortedContentSequence = private_SortForDisplayContent(rptTpl, me.sortedRowSequence, me.sortedColSequence, me.content_fields_idx);
-        JpcFieldHelper.findAndPutDataFieldIdx(rptTpl, rptTpl[JV.NODE_CROSS_INFO][JV.NODE_CROSS_COL_SUM][JV.TAB_CROSS_FIELDS], null, me.col_sum_fields_idx);
-        //pre-sum the data(for col sum display)
-        var data_details = dataObj[JV.DATA_DETAIL_DATA],
-            data_fields = [];
-        for (var i = 0; i < me.col_sum_fields_idx.length; i++) {
-            var data_field = data_details[me.col_sum_fields_idx[i]];
-            data_fields.push(data_field);
-        }
-        for (var i = 0; i < me.sortedRowSequence.length; i++) { //seg level
-            if (me.sortedRowSequence[i].length > 0) {
-                me.col_sum_fields_value_total.push([]);
-                for (var j = 0; j < me.sortedRowSequence[i].length; j++) {
-                    var rowGrandTotal = [];
-                    for (var di = 0; di < data_fields.length; di++) {
-                        rowGrandTotal.push(0.0);
-                        for (var k = 0; k < me.sortedRowSequence[i][j].length; k++) {
-                            //3. start to sum
-                            rowGrandTotal[di] = rowGrandTotal[di] + 1.0 * JpcFieldHelper.getValue(data_fields[di], me.sortedRowSequence[i][j][k]);
-                        }
-                    }
-                    me.col_sum_fields_value_total[i].push(rowGrandTotal);
-                }
-            }
-
-        }
-    };
-    JpcCrossTabResult.preSetupPages = function(rptTpl, defProperties) {
-        var rst = 0, me = this;
-        //1. original initialize
-        var maxRowRec = 1, maxColRec = 1, counterRowRec = 0, counterColRec = 0, pageIdx = 0, segCnt = me.sortedContentSequence.length;
-        var pageStatus = [true, true, false, true, false, false, false, false];
-        //2. calculate the page info one by one
-        var bands = JpcBand.createNew(rptTpl, defProperties);
-        function private_resetBandArea() {
-            JpcBandHelper.setBandArea(bands, rptTpl, pageStatus);
-            maxRowRec = JpcCrossTabHelper.getMaxRowsPerPage(bands, rptTpl);
-            maxColRec = JpcCrossTabHelper.getMaxColsPerPage(bands, rptTpl);
-        }
-        JpcFieldHelper.findAndPutDataFieldIdx(rptTpl, rptTpl[JV.NODE_CROSS_INFO][JV.NODE_CROSS_ROW_EXT][JV.TAB_CROSS_FIELDS], null, me.row_extension_fields_idx);
-        JpcFieldHelper.findAndPutDataFieldIdx(rptTpl, rptTpl[JV.NODE_CROSS_INFO][JV.NODE_CROSS_ROW_SUM_EXT][JV.TAB_CROSS_FIELDS], null, me.row_sum_extension_fields_idx);
-        for (var segIdx = 0; segIdx < segCnt; segIdx++) {
-            //2.1. seg level initialize
-            private_resetBandArea();
-            var orgMaxRowRec = maxRowRec, orgMaxColRec = maxColRec;
-            var rowSplitCnt = Math.ceil(1.0 * me.sortedRowSequence[segIdx].length / maxRowRec);
-            var colSplitCnt = Math.ceil(1.0 * me.sortedColSequence[segIdx].length / maxColRec);
-            pageStatus[JV.STATUS_CROSS_ROW_END] = true;
-            private_resetBandArea();
-            var hasAdHocRow = !JpcCrossTabHelper.chkTabEnd(JV.NODE_CROSS_ROW_SUM, rptTpl, bands, me.sortedRowSequence, segIdx, (rowSplitCnt - 1) * orgMaxRowRec, maxRowRec);
-            if (hasAdHocRow) {
-                hasAdHocRow = !JpcCrossTabHelper.chkTabEnd(JV.NODE_CROSS_ROW_EXT, rptTpl, bands, me.sortedRowSequence, segIdx, (rowSplitCnt - 1) * orgMaxRowRec, maxRowRec);
-            }
-            pageStatus[JV.STATUS_CROSS_ROW_END] = false;
-            pageStatus[JV.STATUS_CROSS_COL_END] = true;
-            private_resetBandArea();
-            var hasAdHocCol = !JpcCrossTabHelper.chkTabEnd(JV.NODE_CROSS_COL_SUM, rptTpl, bands, me.sortedColSequence, segIdx, (colSplitCnt - 1) * orgMaxColRec, maxColRec);
-            pageStatus[JV.STATUS_CROSS_COL_END] = false;
-            private_resetBandArea();
-            if (hasAdHocRow) rowSplitCnt++;
-            if (hasAdHocCol) colSplitCnt++;
-            //2.2
-            for (var colIdx = 0; colIdx < colSplitCnt; colIdx++) {
-                pageStatus[JV.STATUS_CROSS_COL_END] = colIdx == (colSplitCnt - 1)?true:false;
-                private_resetBandArea();
-                counterColRec = orgMaxColRec * colIdx;
-                var currentSortedContentSequence = me.sortedContentSequence;
-                var currentSortedColSequence = me.sortedColSequence;
-                if (hasAdHocCol && colIdx == (colSplitCnt - 1)) {
-                    currentSortedColSequence = null;
-                    currentSortedContentSequence = null;
-                    counterColRec = 0;
-                }
-                for (var rowIdx = 0; rowIdx < rowSplitCnt; rowIdx++) {
-                    pageStatus[JV.STATUS_CROSS_ROW_END] = rowIdx == (rowSplitCnt - 1)?true:false;
-                    private_resetBandArea();
-                    me.pageStatusLst.push(pageStatus.slice(0));
-                    pageIdx++;
-                    counterRowRec = orgMaxRowRec * rowIdx;
-                    var currentSortedRowSequence = me.sortedRowSequence;
-                    if (hasAdHocRow && rowIdx == (rowSplitCnt - 1)) {
-                        currentSortedRowSequence = null;
-                        currentSortedContentSequence = null;
-                        counterRowRec = 0;
-                    }
-                    private_addTabValue(me.dispValueIdxLst_Row, currentSortedRowSequence, segIdx, counterRowRec, maxRowRec, me.dispSerialIdxLst_Row, me.col_sum_fields_value_total, me.dispSumValueLst_Col);
-                    private_addTabValue(me.dispValueIdxLst_Col, currentSortedColSequence, segIdx, counterColRec, maxColRec, null, null, null);
-                    private_addContentValue(me.dispValueIdxLst_Content, currentSortedContentSequence, segIdx, counterRowRec, maxRowRec, counterColRec, maxColRec, me.page_seg_map, pageIdx);
-                }
-            }
-            JpcCrossTabHelper.initialPageStatus(pageStatus);
-        }
-        bands = null;
-        //3. set pageSeq and return the result
-        rst = pageIdx;
-        return rst;
-    };
-    JpcCrossTabResult.outputAsSimpleJSONPage = function(rptTpl, dataObj, page, bands, controls, $CURRENT_RPT) {
-        var me = this, rst = [], tabRstLst = [];
-        var segIdx = JpcCommonHelper.getSegIdxByPageIdx(page, me.page_seg_map);
-        //1 calculate the band position
-        JpcBandHelper.setBandArea(bands, rptTpl, me.pageStatusLst[page - 1]);
-        //2. start to output detail-part
-        var unitFactor = JpcCommonHelper.getUnitFactor(rptTpl);
-        //2.1 Row-Tab
-        tabRstLst.push(me.outputRowTab(rptTpl, dataObj, page, bands, unitFactor, controls));
-        //2.2 Col-Tab
-        tabRstLst.push(me.outputColTab(rptTpl, dataObj, page, bands, unitFactor, controls));
-        //2.3 Content-Tab
-        tabRstLst.push(me.outputContent(rptTpl, dataObj, page, bands, unitFactor, controls));
-        //2.4 Sum-Tab Row
-        //2.4 Sum-tab Col
-        tabRstLst.push(me.outputTabSum(rptTpl, dataObj, page, bands, unitFactor, JV.NODE_CROSS_COL_SUM, controls));
-        //2.x row tab ext
-        tabRstLst.push(me.outputTabExt(rptTpl, dataObj, page, bands, unitFactor, controls));
-        tabRstLst.push(me.outputSumTabExt(rptTpl, dataObj, page, bands, unitFactor, segIdx, controls));
-        //2.5 Discrete
-        tabRstLst.push(JpcDiscreteHelper.outputDiscreteInfo(rptTpl[JV.NODE_CROSS_INFO][JV.NODE_DISCRETE_INFO], bands, dataObj, unitFactor, me.pageStatusLst[page - 1], segIdx, 1, 0, $CURRENT_RPT));
-        for (var i = 0; i < tabRstLst.length; i++) {
-            rst = rst.concat(tabRstLst[i]);
-            tabRstLst[i] = null;
-        }
-        return rst;
-    };
-    JpcCrossTabResult.outputRowTab = function(rptTpl, dataObj, page, bands, unitFactor, controls) {
-        var me = this, rst = [];
-        var tab = rptTpl[JV.NODE_CROSS_INFO][JV.NODE_CROSS_ROW];
-        var band = bands[tab[JV.PROP_BAND_NAME]];
-        if (band) {
-            var pageStatus = me.pageStatusLst[page - 1];
-            if (pageStatus[band[JV.BAND_PROP_DISPLAY_TYPE]] == true) {
-                var tab_fields = tab[JV.TAB_CROSS_FIELDS];
-                var data_details = dataObj[JV.DATA_DETAIL_DATA];
-                var valuesIdx = me.dispValueIdxLst_Row[page - 1];
-                var serialsIdx = me.dispSerialIdxLst_Row[page - 1];
-                for (var i = 0; i < me.row_fields_idx.length; i++) {
-                    var tab_field = tab_fields[i];
-                    var data_field = data_details[me.row_fields_idx[i]];
-                    if (!(tab_field[JV.PROP_HIDDEN])) {
-                        var rows = valuesIdx.length;
-                        for (var rowIdx = 0; rowIdx < rows; rowIdx++) {
-                            rst.push(me.outputTabField(band, tab_field, data_field, valuesIdx[rowIdx], serialsIdx[rowIdx], rows, rowIdx, 1, 0, unitFactor, true, controls));
-                        }
-                    }
-                }
-            }
-        }
-        return rst;
-    };
-    JpcCrossTabResult.outputColTab = function(rptTpl, dataObj, page, bands, unitFactor, controls) {
-        var me = this, rst = [];
-        var tab = rptTpl[JV.NODE_CROSS_INFO][JV.NODE_CROSS_COL];
-        var band = bands[tab[JV.PROP_BAND_NAME]];
-        if (band) {
-            var pageStatus = me.pageStatusLst[page - 1];
-            if (pageStatus[band[JV.BAND_PROP_DISPLAY_TYPE]] == true) {
-                var tab_fields = tab[JV.TAB_CROSS_FIELDS];
-                var data_details = dataObj[JV.DATA_DETAIL_DATA];
-                var valuesIdx = me.dispValueIdxLst_Col[page - 1];
-                for (var i = 0; i < me.col_fields_idx.length; i++) {
-                    var tab_field = tab_fields[i];
-                    var data_field = data_details[me.col_fields_idx[i]];
-                    if (!(tab_field[JV.PROP_HIDDEN])) {
-                        var cols = valuesIdx.length;
-                        for (var colIdx = 0; colIdx < cols; colIdx++) {
-                            rst.push(me.outputTabField(band, tab_field, data_field, valuesIdx[colIdx], -1, 1, 0, cols, colIdx, unitFactor, false, controls));
-                            //2. output texts
-                            if (tab[JV.PROP_TEXT]) {
-                                rst.push(JpcTextHelper.outputText(tab[JV.PROP_TEXT], band, unitFactor, 1, 0, cols, colIdx, 1, 0));
-                            }
-                            if (tab[JV.PROP_TEXTS]) {
-                                for (var j = 0; j < tab[JV.PROP_TEXTS].length; j++) {
-                                    rst.push(JpcTextHelper.outputText(tab[JV.PROP_TEXTS][j], band, unitFactor, 1, 0, cols, colIdx, 1, 0));
-                                }
-                            }
-                        }
-                    }
-                }
-            }
-        }
-        return rst;
-    };
-    JpcCrossTabResult.outputContent = function (rptTpl, dataObj, page, bands, unitFactor, controls) {
-        var me = this, rst = [];
-        var tab = rptTpl[JV.NODE_CROSS_INFO][JV.NODE_CROSS_CONTENT];
-        var band = bands[tab[JV.PROP_BAND_NAME]];
-        if (band) {
-            var pageStatus = me.pageStatusLst[page - 1];
-            if (pageStatus[band[JV.BAND_PROP_DISPLAY_TYPE]] == true) {
-                var tab_fields = tab[JV.TAB_CROSS_FIELDS];
-                var data_details = dataObj[JV.DATA_DETAIL_DATA];
-                var contentValuesIdx = me.dispValueIdxLst_Content[page - 1];
-                for (var i = 0; i < tab_fields.length; i++) {
-                    var tab_field = tab_fields[i];
-                    var data_field = data_details[me.content_fields_idx[i]];
-                    if (!(tab_field[JV.PROP_HIDDEN])) {
-                        var rows = contentValuesIdx.length;
-                        for (var rowIdx = 0; rowIdx < rows; rowIdx++) {
-                            var cols = contentValuesIdx[rowIdx].length;
-                            for (var colIdx = 0; colIdx < cols; colIdx++) {
-                                rst.push(me.outputTabField(band, tab_field, data_field, contentValuesIdx[rowIdx][colIdx], -1, rows, rowIdx, cols, colIdx, unitFactor, true, controls));
-                            }
-                        }
-                    }
-                }
-            }
-        }
-        return rst;
-    };
-    JpcCrossTabResult.outputTabSum = function (rptTpl, dataObj, page, bands, unitFactor, tabNodeName, controls) {
-        var me = this, rst = [],
-            tab = rptTpl[JV.NODE_CROSS_INFO][tabNodeName],
-            band = bands[tab[JV.PROP_BAND_NAME]];
-        if (band) {
-            var pageStatus = me.pageStatusLst[page - 1];
-            if (pageStatus[band[JV.BAND_PROP_DISPLAY_TYPE]] == true) {
-                var tab_fields = tab[JV.TAB_CROSS_FIELDS];
-                for (var i = 0; i < me.dispSumValueLst_Col[page - 1].length; i++) {
-                    if (me.dispSumValueLst_Col[page - 1][i] != null) {
-                        for (var j = 0; j < me.dispSumValueLst_Col[page - 1][i].length; j++) {
-                            var tab_field = tab_fields[j];
-                            var val = me.dispSumValueLst_Col[page - 1][i][j];
-                            var cellItem = JpcCommonOutputHelper.createCommonOutput(tab_field, val, controls);
-                            cellItem[JV.PROP_AREA] = JpcAreaHelper.outputArea(tab_field[JV.PROP_AREA], band, unitFactor, me.dispSumValueLst_Col[page - 1].length, i, 1, 0, 1, 0, true, false);
-                            rst.push(cellItem);
-                        }
-                    } else {
-                        var sumL = 1;
-                        for (var si = 0; si < me.dispSumValueLst_Col.length; si++) {
-                            if (me.dispSumValueLst_Col[si][0] != null) {
-                                sumL = me.dispSumValueLst_Col[si][0].length;
-                                break;
-                            }
-                        }
-                        for (var j = 0; j < sumL; j++) {
-                            var tab_field = tab_fields[j];
-                            var val = null;
-                            var cellItem = JpcCommonOutputHelper.createCommonOutput(tab_field, val, controls);
-                            cellItem[JV.PROP_AREA] = JpcAreaHelper.outputArea(tab_field[JV.PROP_AREA], band, unitFactor, me.dispSumValueLst_Col[page - 1].length, i, 1, 0, 1, 0, true, false);
-                            rst.push(cellItem);
-                        }
-                    }
-                }
-            }
-        }
-        return rst;
-    };
-    JpcCrossTabResult.outputTabExt = function (rptTpl, dataObj, page, bands, unitFactor, controls) {
-        var me = this, rst = [],
-            tab = rptTpl[JV.NODE_CROSS_INFO][JV.NODE_CROSS_ROW_EXT];
-        var band = bands[tab[JV.PROP_BAND_NAME]];
-        if (band) {
-            var pageStatus = me.pageStatusLst[page - 1];
-            if (pageStatus[band[JV.BAND_PROP_DISPLAY_TYPE]] == true) {
-                var tab_fields = tab[JV.TAB_CROSS_FIELDS],
-                    data_details = dataObj[JV.DATA_DETAIL_DATA],
-                    valuesIdx = me.dispValueIdxLst_Col[page - 1];
-                for (var i = 0; i < me.row_extension_fields_idx.length; i++) {
-                    var tab_field = tab_fields[i];
-                    var data_field = data_details[me.row_extension_fields_idx[i]];
-                    if (!(tab_field[JV.PROP_HIDDEN])) {
-                        var cols = valuesIdx.length;
-                        for (var colIdx = 0; colIdx < cols; colIdx++) {
-                            rst.push(me.outputTabField(band, tab_field, data_field, valuesIdx[colIdx], -1, 1, 0, cols, colIdx, unitFactor, false, controls));
-                            //2. output texts if has
-                            if (tab[JV.PROP_TEXT]) {
-                                rst.push(JpcTextHelper.outputText(tab[JV.PROP_TEXT], band, unitFactor, 1, 0, cols, colIdx, 1, 0));
-                            }
-                            if (tab[JV.PROP_TEXTS]) {
-                                for (var j = 0; j < tab[JV.PROP_TEXTS].length; j++) {
-                                    rst.push(JpcTextHelper.outputText(tab[JV.PROP_TEXTS][j], band, unitFactor, 1, 0, cols, colIdx, 1, 0));
-                                }
-                            }
-                        }
-                    }
-                }
-            }
-        }
-        return rst;
-    };
-    JpcCrossTabResult.outputSumTabExt = function (rptTpl, dataObj, page, bands, unitFactor, segIdx, controls) {
-        var me = this, rst = [],
-            tab = rptTpl[JV.NODE_CROSS_INFO][JV.NODE_CROSS_ROW_SUM_EXT];
-        var band = bands[tab[JV.PROP_BAND_NAME]];
-        if (band) {
-            var pageStatus = me.pageStatusLst[page - 1];
-            if (pageStatus[band[JV.BAND_PROP_DISPLAY_TYPE]] == true && pageStatus[JV.STATUS_CROSS_ROW_END] === true) {
-                var tab_fields = tab[JV.TAB_CROSS_FIELDS],
-                    data_details = dataObj[JV.DATA_DETAIL_DATA],
-                    data_fields = [];
-                for (var i = 0; i < me.row_sum_extension_fields_idx.length; i++) {
-                    var data_field = data_details[me.row_sum_extension_fields_idx[i]];
-                    data_fields.push(data_field);
-                }
-                //2. initialize grand total value
-                var rowGrandTotal = [];
-                for (var di = 0; di < data_fields.length; di++) {
-                    rowGrandTotal[di] = 0.0;
-                    //3. start to sum
-                    for (var i = 0; i < me.sortedColSequence[segIdx].length; i++) {
-                        //me.sortedColSequence[segIdx][i][0] //this is the data field value index!
-                        rowGrandTotal[di] = rowGrandTotal[di] + 1.0 * JpcFieldHelper.getValue(data_fields[di], me.sortedColSequence[segIdx][i][0]);
-                    }
-                }
-                //4. output
-                for (var di = 0; di < tab_fields.length; di++) {
-                    var tab_field = tab_fields[di];
-                    if (!tab_field[JV.PROP_HIDDEN]) {
-                        var val = rowGrandTotal[di];
-                        var cellItem = JpcCommonOutputHelper.createCommonOutput(tab_field, val, controls);
-                        cellItem[JV.PROP_AREA] = JpcAreaHelper.outputArea(tab_field[JV.PROP_AREA], band, unitFactor, 1, 0, 1, 0, 1, 0, false, false);
-                        rst.push(cellItem);
-                    }
-                }
-                //output texts if has
-                if (tab[JV.PROP_TEXT]) {
-                    rst.push(JpcTextHelper.outputText(tab[JV.PROP_TEXT], band, unitFactor, 1, 0, 1, 0, 1, 0));
-                }
-                if (tab[JV.PROP_TEXTS]) {
-                    for (var j = 0; j < tab[JV.PROP_TEXTS].length; j++) {
-                        rst.push(JpcTextHelper.outputText(tab[JV.PROP_TEXTS][j], band, unitFactor, 1, 0, 1, 0, 1, 0));
-                    }
-                }
-            }
-        }
-        return rst;
-    };
-    JpcCrossTabResult.outputTabField = function (band, tab_field, data_field, valueIdx, serialIdx, rows, rowIdx, cols, colIdx, unitFactor, isRow, controls) {
-        var me = this, rst = null;
-        if (isRow == true && tab_field[JV.PROP_IS_SERIAL] && tab_field[JV.PROP_IS_SERIAL] == true) {
-            if (serialIdx >= 0) rst = JpcCommonOutputHelper.createCommonOutput(tab_field, serialIdx + 1)
-            else rst = JpcCommonOutputHelper.createCommonOutput(tab_field, "", controls);
-        } else {
-            rst = JpcCommonOutputHelper.createCommonOutput(tab_field, JpcFieldHelper.getValue(data_field, valueIdx), controls);
-        }
-        //position
-        if (isRow == true) {
-            rst[JV.PROP_AREA] = JpcAreaHelper.outputArea(tab_field[JV.PROP_AREA], band, unitFactor, rows, rowIdx, cols, colIdx, 1, 0, true, false);
-        } else {
-            rst[JV.PROP_AREA] = JpcAreaHelper.outputArea(tab_field[JV.PROP_AREA], band, unitFactor, rows, rowIdx, cols, colIdx, 1, 0, false, false);
-        }
-        return rst;
-    }
-    return JpcCrossTabResult;
-}
-
-module.exports = new JpcCrossTabSrv();

+ 0 - 98
protect/rpt_component/Jpc_Data.js

@@ -1,98 +0,0 @@
-var JV = require('./Jpc_ValueDefine');
-var JpcData = {
-    createNew: function() {
-        var JpcDataRst = {};
-        JpcDataRst.dataSeq = [];
-        JpcDataRst.analyzeData = function(rptTpl, dataObj) {
-            var me = this;
-            if ((rptTpl) && (dataObj)) {
-                //1. get ID fields
-                var masterIDs = [];
-                for (var i = 0; i < rptTpl[JV.NODE_FIELD_MAP][JV.NODE_MASTER_FIELDS].length; i++) {
-                    var mstFieldObj = rptTpl[JV.NODE_FIELD_MAP][JV.NODE_MASTER_FIELDS][i];
-                    if ((mstFieldObj[JV.PROP_IS_ID]) && (mstFieldObj[JV.PROP_IS_ID] === 'T')) {
-                        masterIDs.push({"idx": i, "seq": mstFieldObj[JV.PROP_ID_SEQ]});
-                    }
-                }
-                var detailIDs = [];
-                for (var i = 0; i < rptTpl[JV.NODE_FIELD_MAP][JV.NODE_DETAIL_FIELDS].length; i++) {
-                    var dtlFieldObj = rptTpl[JV.NODE_FIELD_MAP][JV.NODE_DETAIL_FIELDS][i];
-                    if ((dtlFieldObj[JV.PROP_IS_ID]) && (dtlFieldObj[JV.PROP_IS_ID] === 'T')) {
-                        detailIDs.push({"idx": i, "seq": dtlFieldObj[JV.PROP_ID_SEQ]});
-                    }
-                }
-                //2. sort the ID fields
-                if (masterIDs.length > 1) {
-                    masterIDs.sort(function(a, b) {
-                        return 1*a["seq"] - 1*b["seq"];
-                    })
-                }
-                if (detailIDs.length > 1) {
-                    detailIDs.sort(function(a, b) {
-                        return 1*a["seq"] - 1*b["seq"];
-                    })
-                }
-                //3. prepare data sequence
-                if (masterIDs.length > 0) {
-                    var mst_dt_len = 0, dtl_dt_len = 0, mst_fields = [];
-                    for (var i = 0; i < masterIDs.length; i++) {
-                        mst_fields.push(dataObj[JV.DATA_MASTER_DATA][masterIDs[i]["idx"]]);
-                        mst_dt_len = dataObj[JV.DATA_MASTER_DATA][masterIDs[i]["idx"]].length;
-                    }
-                    var dtl_fields = [];
-                    for (var i = 0; i < detailIDs.length; i++) {
-                        dtl_fields.push(dataObj[JV.DATA_DETAIL_DATA][detailIDs[i]["idx"]]);
-                        dtl_dt_len = dataObj[JV.DATA_DETAIL_DATA][detailIDs[i]["idx"]].length;
-                    }
-                    var sIdx = 0;
-                    var isEqual = true;
-                    for (var i = 0; i < mst_dt_len; i++) {
-                        me.dataSeq.push([]);
-                        //then compare the master/detail ID-field value
-                        for (var j = sIdx; j < dtl_dt_len; j++) {
-                            isEqual = true;
-                            for (var k = 0; k < mst_fields.length; k++) {
-                                if (!(mst_fields[k][i] === dtl_fields[k][j])) {
-                                    isEqual = false;
-                                    break;
-                                }
-                            }
-                            if (isEqual) {
-                                me.dataSeq[i].push(j);
-                            } else {
-                                sIdx = j;
-                                //below logic is for the data robustness purpose, to avoid those strange record(detail level) which could not match even one of the master record!
-                                if (i < mst_dt_len - 1 && j < dtl_dt_len - 1) {
-                                    for (var j1 = j; j1 < dtl_dt_len; j1++) {
-                                        isEqual = true;
-                                        for (var k = 0; k < mst_fields.length; k++) {
-                                            if (!(mst_fields[k][i + 1] === dtl_fields[k][j1])) {
-                                                isEqual = false;
-                                                break;
-                                            }
-                                        }
-                                        if (isEqual) {
-                                            sIdx = j1;
-                                            break;
-                                        }
-                                    }
-                                }
-                                break;
-                            }
-                        }
-                    }
-                } else { //if no master data
-                    var field = dataObj[JV.DATA_DETAIL_DATA][0];
-                    me.dataSeq = [[]];
-                    for (var i = 0; i < field.length; i++) {
-                        me.dataSeq[0].push(i);
-                    }
-                }
-            }
-            //alert(3);
-        };
-        return JpcDataRst;
-    }
-}
-
-module.exports = JpcData;

+ 0 - 47
protect/rpt_component/Jpc_Field.js

@@ -1,47 +0,0 @@
-var JV = require('./Jpc_ValueDefine');
-var JpcField = {
-    createNew: function(rptTpl) {
-        var JpcFieldResult = {};
-        var me = this;
-        JpcFieldResult[JV.NODE_DISCRETE_FIELDS] = {};
-        if (rptTpl[JV.NODE_FIELD_MAP] && rptTpl[JV.NODE_FIELD_MAP][JV.NODE_DISCRETE_FIELDS]) {
-            for (var i = 0; i < rptTpl[JV.NODE_FIELD_MAP][JV.NODE_DISCRETE_FIELDS].length; i++) {
-                me.createSingle(rptTpl[JV.NODE_FIELD_MAP][JV.NODE_DISCRETE_FIELDS][i], JpcFieldResult[JV.NODE_DISCRETE_FIELDS], rptTpl, JV.DATA_DISCRETE_DATA, i);
-            }
-        }
-        JpcFieldResult[JV.NODE_MASTER_FIELDS] = {};
-        if (rptTpl[JV.NODE_FIELD_MAP] && rptTpl[JV.NODE_FIELD_MAP][JV.NODE_MASTER_FIELDS]) {
-            for (var i = 0; i < rptTpl[JV.NODE_FIELD_MAP][JV.NODE_MASTER_FIELDS].length; i++) {
-                me.createSingle(rptTpl[JV.NODE_FIELD_MAP][JV.NODE_MASTER_FIELDS][i], JpcFieldResult[JV.NODE_MASTER_FIELDS], rptTpl, JV.DATA_MASTER_DATA, i);
-            }
-        }
-        JpcFieldResult[JV.NODE_DETAIL_FIELDS] = {};
-        if (rptTpl[JV.NODE_FIELD_MAP] && rptTpl[JV.NODE_FIELD_MAP][JV.NODE_DETAIL_FIELDS]) {
-            for (var i = 0; i < rptTpl[JV.NODE_FIELD_MAP][JV.NODE_DETAIL_FIELDS].length; i++) {
-                me.createSingle(rptTpl[JV.NODE_FIELD_MAP][JV.NODE_DETAIL_FIELDS][i], JpcFieldResult[JV.NODE_DETAIL_FIELDS], rptTpl, JV.DATA_DETAIL_DATA, i);
-            }
-        }
-        JpcFieldResult[JV.NODE_NO_MAPPING_FIELDS] = {};
-        if (rptTpl[JV.NODE_NO_MAPPING_FIELDS]) {
-            for (var i = 0; i < rptTpl[JV.NODE_NO_MAPPING_FIELDS].length; i++) {
-                me.createSingle(rptTpl[JV.NODE_NO_MAPPING_FIELDS][i], JpcFieldResult[JV.NODE_NO_MAPPING_FIELDS], rptTpl, "NA", JV.BLANK_FIELD_INDEX);
-            }
-        }
-        //
-        return JpcFieldResult;
-    },
-    createSingle: function(fieldNode, parentObj, rptTpl, dataNodeName, sequence) {
-        var me = this;
-        if (fieldNode && fieldNode[JV.PROP_ID]) {
-            var item = {};
-            item[JV.PROP_ID] = fieldNode[JV.PROP_ID];
-            item[JV.PROP_NAME] = fieldNode[JV.PROP_NAME];
-            item[JV.PROP_DATA_TYPE] = fieldNode[JV.PROP_DATA_TYPE];
-            item.DataNodeName = dataNodeName;
-            item.DataSeq = sequence;
-            parentObj[JV.PROP_ID + "_" + fieldNode[JV.PROP_ID]] = item;
-        }
-    }
-}
-
-module.exports = JpcField;

+ 0 - 229
protect/rpt_component/Jpc_FlowTab.js

@@ -1,229 +0,0 @@
-var JV = require('./Jpc_ValueDefine');
-var JE = require('./Jpc_RTE');
-var JpcFieldHelper = require('./helper/Jpc_Helper_Field');
-var JpcBandHelper = require('./helper/Jpc_Helper_Band');
-var JpcBand = require('./Jpc_Band');
-var JpcFlowTabHelper = require('./helper/Jpc_Helper_FlowTab');
-var JpcCommonHelper = require('./helper/Jpc_Helper_Common');
-var JpcDiscreteHelper = require('./helper/Jpc_Helper_Discrete');
-var JpcTextHelper = require('./helper/Jpc_Helper_Text');
-var JpcCommonOutputHelper = require('./helper/Jpc_Helper_CommonOutput');
-var JpcAreaHelper = require('./helper/Jpc_Helper_Area');
-
-var JpcFlowTabSrv = function(){};
-JpcFlowTabSrv.prototype.createNew = function(){
-    function private_addPageValue(ValuedIdxLst, sortedSequence, preRec, nextRec,page_seg_map, segIdx, pageIdx) {
-        var vIdx = [];
-        for (var vi = 0; vi < nextRec; vi++) {
-            if (sortedSequence.length > preRec + vi) {
-                vIdx.push(sortedSequence[preRec + vi]);
-            } else {
-                vIdx.push(JV.BLANK_VALUE_INDEX);
-            }
-        }
-        page_seg_map.push([pageIdx, segIdx]);
-        ValuedIdxLst.push(vIdx);
-    }
-    var JpcFlowTabResult = {};
-    JpcFlowTabResult.initialize = function() {
-        var me = this;
-        me.segments = [];
-        me.dispValueIdxLst = [];
-        me.page_seg_map = [];
-        me.disp_fields_idx = [];
-        me.seg_sum_fields_idx = [];
-        me.seg_sum_tab_fields = [];
-        me.page_sum_fields_idx = [];
-        me.group_fields_idx = [];
-        me.pageStatusLst = [];
-        me.groupSumValLst = [];
-        me.segSumValLst = [];
-        me.multiCols = 1;
-    };
-    JpcFlowTabResult.sorting = function(rptTpl, dataObj, dataSeq) {
-        var me = this;
-        JpcFieldHelper.findAndPutDataFieldIdx(rptTpl, rptTpl[JV.NODE_FLOW_INFO][JV.NODE_FLOW_SEG_SUM][JV.PROP_SUM_FIELDS], me.seg_sum_tab_fields, me.seg_sum_fields_idx);
-        JpcFieldHelper.findAndPutDataFieldIdx(rptTpl, rptTpl[JV.NODE_FLOW_INFO][JV.NODE_FLOW_PAGE_SUM][JV.PROP_SUM_FIELDS], null, me.page_sum_fields_idx);
-        JpcFieldHelper.findAndPutDataFieldIdx(rptTpl, rptTpl[JV.NODE_FLOW_INFO][JV.NODE_FLOW_GROUP][JV.PROP_GROUP_FIELDS], null, me.group_fields_idx);
-        for (var si = 0; si < dataSeq.length; si++) {
-            me.segments.push(dataSeq[si].slice(0));
-        }
-        //pre-sum the data(for seg sum display)
-        var data_details = dataObj[JV.DATA_DETAIL_DATA],
-            data_fields = [];
-        for (var i = 0; i < me.seg_sum_fields_idx.length; i++) {
-            var data_field = data_details[me.seg_sum_fields_idx[i]];
-            data_fields.push(data_field);
-        }
-        for (var i = 0; i < me.segments.length; i++) { //seg level
-            if (me.segments[i].length > 0) {
-                var rowGrandTotal = [];
-                for (var di = 0; di < data_fields.length; di++) {
-                    rowGrandTotal.push(0.0);
-                    for (var j = 0; j < me.segments[i].length; j++) {
-                        //3. start to sum
-                        rowGrandTotal[di] = rowGrandTotal[di] + 1.0 * JpcFieldHelper.getValue(data_fields[di], me.segments[i][j]);
-                    }
-                }
-                me.segSumValLst.push(rowGrandTotal);
-            }
-
-        }
-    };
-    JpcFlowTabResult.preSetupPages = function (rptTpl, dataOjb, defProperties) {
-        var rst = 0, me = this, counterRowRec = 0, maxRowRec = 1, pageIdx = 0;
-        JpcFieldHelper.findAndPutDataFieldIdx(rptTpl, rptTpl[JV.NODE_FLOW_INFO][JV.NODE_FLOW_CONTENT][JV.PROP_FLOW_FIELDS], null, me.disp_fields_idx);
-        var bands = JpcBand.createNew(rptTpl, defProperties);
-        var pageStatus = [true, true, false, false, false, false, false, false];
-        if (rptTpl[JV.NODE_FLOW_INFO][JV.PROP_MULTI_COLUMN]) {
-            me.multiCols = 1 * rptTpl[JV.NODE_FLOW_INFO][JV.PROP_MULTI_COLUMN];
-        }
-        function private_resetBandArea() {
-            JpcBandHelper.setBandArea(bands, rptTpl, pageStatus);
-            maxRowRec = JpcFlowTabHelper.getMaxRowsPerPage(bands, rptTpl);
-        }
-        for (var segIdx = 0; segIdx < me.segments.length; segIdx++) {
-            private_resetBandArea();
-            var orgMaxRowRec = maxRowRec;
-            var rowSplitCnt = Math.ceil(1.0 * me.segments[segIdx].length / orgMaxRowRec);
-            pageStatus[JV.STATUS_SEGMENT_END] = true;
-            private_resetBandArea();
-            var hasAdHocRow = !JpcFlowTabHelper.chkSegEnd(bands, rptTpl, me.segments, segIdx, (rowSplitCnt - 1) * orgMaxRowRec, maxRowRec);
-            if (hasAdHocRow) rowSplitCnt++;
-            if (rowSplitCnt % me.multiCols > 0) {
-                rowSplitCnt++
-            }
-            for (var rowIdx = 0; rowIdx < rowSplitCnt; rowIdx++) {
-                pageStatus[JV.STATUS_SEGMENT_END] = rowIdx == (rowSplitCnt - 1)?true:false;
-                if (pageIdx > 0) pageStatus[JV.STATUS_REPORT_START] = false;
-                private_resetBandArea();
-                me.pageStatusLst.push(pageStatus.slice(0));
-                pageIdx++;
-                counterRowRec = orgMaxRowRec * rowIdx;
-                private_addPageValue(me.dispValueIdxLst, me.segments[segIdx], counterRowRec, maxRowRec,me.page_seg_map, segIdx, pageIdx);
-            }
-            pageStatus[JV.STATUS_SEGMENT_END] = false;
-            pageStatus[JV.STATUS_REPORT_START] = false;
-        }
-        rst = Math.ceil(1.0 * pageIdx / me.multiCols);
-        return rst;
-    };
-    JpcFlowTabResult.outputAsSimpleJSONPage = function (rptTpl, dataObj, page, bands, controls, $CURRENT_RPT) {
-        var me = this, rst = [], tabRstLst = [];
-        var segIdx = JpcCommonHelper.getSegIdxByPageIdx(page, me.page_seg_map);
-        //1 calculate the band position
-        JpcBandHelper.setBandArea(bands, rptTpl, me.pageStatusLst[page - 1]);
-        //2. start to output detail-part
-        var unitFactor = JpcCommonHelper.getUnitFactor(rptTpl);
-        for (var pi = 0; pi < me.multiCols; pi++) {
-            var actualPage = (page - 1) * me.multiCols + pi + 1;
-            //2.1 Content-Tab
-            tabRstLst.push(me.outputContent(rptTpl, dataObj, actualPage, bands, unitFactor, controls, pi));
-            //2.2 Column tab
-            tabRstLst.push(me.outputColumn(rptTpl, dataObj, actualPage, segIdx, bands, unitFactor, controls, pi));
-            //2.3 Sum Seg
-            tabRstLst.push(me.outputSegSum(rptTpl, dataObj, actualPage, segIdx, bands, unitFactor, controls));
-            //2.4 Sum Page
-            //2.5 Discrete
-            if (pi == 0) {
-                tabRstLst.push(JpcDiscreteHelper.outputDiscreteInfo(rptTpl[JV.NODE_FLOW_INFO][JV.NODE_DISCRETE_INFO], bands, dataObj, unitFactor, me.pageStatusLst[actualPage - 1], segIdx, 1, pi, $CURRENT_RPT));
-            }
-        }
-        for (var i = 0; i < tabRstLst.length; i++) {
-            rst = rst.concat(tabRstLst[i]);
-            tabRstLst[i] = null;
-        }
-        return rst;
-    };
-    JpcFlowTabResult.outputContent = function(rptTpl, dataObj, page, bands, unitFactor, controls, multiColIdx, $CURRENT_RPT) {
-        var me = this, rst = [];
-        var tab = rptTpl[JV.NODE_FLOW_INFO][JV.NODE_FLOW_CONTENT];
-        var band = bands[tab[JV.PROP_BAND_NAME]];
-        if (band) {
-            var pageStatus = me.pageStatusLst[page - 1];
-            if (pageStatus[band[JV.BAND_PROP_DISPLAY_TYPE]] == true) {
-                var tab_fields = tab[JV.PROP_FLOW_FIELDS];
-                var data_details = dataObj[JV.DATA_DETAIL_DATA];
-                var contentValuesIdx = me.dispValueIdxLst[page - 1];
-                for (var i = 0; i < tab_fields.length; i++) {
-                    var tab_field = tab_fields[i];
-                    var data_field = null;
-                    if (me.disp_fields_idx[i] != JV.BLANK_FIELD_INDEX) {
-                        data_field = data_details[me.disp_fields_idx[i]];
-                    } else {
-                        data_field = JE.F(tab_field[JV.PROP_FIELD_ID], $CURRENT_RPT);
-                        if (data_field) {
-                            data_field = data_field[JV.PROP_AD_HOC_DATA];
-                        }
-                    }
-                    if (!(tab_field[JV.PROP_HIDDEN])) {
-                        for (var rowIdx = 0; rowIdx < contentValuesIdx.length; rowIdx++) {
-                            rst.push(me.outputTabField(band, tab_field, data_field, contentValuesIdx[rowIdx], -1, contentValuesIdx.length, rowIdx, 1, 0, unitFactor, true, controls, multiColIdx));
-                        }
-                    }
-                }
-            }
-        }
-        return rst;
-    };
-    JpcFlowTabResult.outputColumn = function (rptTpl, dataObj, page, segIdx, bands, unitFactor, controls, multiColIdx) {
-        var me = this, rst = [];
-        var tab = rptTpl[JV.NODE_FLOW_INFO][JV.NODE_FLOW_COLUMN];
-        var band = bands[tab[JV.PROP_BAND_NAME]];
-        if (band) {
-            var pageStatus = me.pageStatusLst[page - 1];
-            if (pageStatus[band[JV.BAND_PROP_DISPLAY_TYPE]] == true) {
-                if (tab[JV.PROP_TEXT]) {
-                    rst.push(JpcTextHelper.outputText(tab[JV.PROP_TEXT], band, unitFactor, 1, 0, 1, 0, me.multiCols, multiColIdx));
-                }
-                if (tab[JV.PROP_TEXTS]) {
-                    for (var j = 0; j < tab[JV.PROP_TEXTS].length; j++) {
-                        rst.push(JpcTextHelper.outputText(tab[JV.PROP_TEXTS][j], band, unitFactor, 1, 0, 1, 0, me.multiCols, multiColIdx));
-                    }
-                }
-                if (tab[JV.NODE_DISCRETE_INFO]) {
-                    rst = rst.concat(JpcDiscreteHelper.outputDiscreteInfo(tab[JV.NODE_DISCRETE_INFO], bands, dataObj, unitFactor, me.pageStatusLst[page - 1], segIdx, me.multiCols, multiColIdx));
-                }
-            }
-        }
-        return rst;
-    };
-    JpcFlowTabResult.outputSegSum = function (rptTpl, dataObj, page, segIdx, bands, unitFactor, controls) {
-        var me = this, rst = [];
-        var tab = rptTpl[JV.NODE_FLOW_INFO][JV.NODE_FLOW_SEG_SUM];
-        var band = bands[tab[JV.PROP_BAND_NAME]];
-        if (band) {
-            var pageStatus = me.pageStatusLst[page - 1];
-            if (pageStatus[band[JV.BAND_PROP_DISPLAY_TYPE]] == true) {
-                var tab_fields = me.seg_sum_tab_fields;
-                for (var i = 0; i < tab_fields.length; i++) {
-                    var cellItem = JpcCommonOutputHelper.createCommonOutput(tab_fields[i], me.segSumValLst[segIdx][i], controls);
-                    cellItem[JV.PROP_AREA] = JpcAreaHelper.outputArea(tab_fields[i][JV.PROP_AREA], band, unitFactor, 1, 0, 1, 0, me.multiCols, 0, true, false);
-                    rst.push(cellItem);
-                }
-                if (tab[JV.PROP_TEXT]) {
-                    rst.push(JpcTextHelper.outputText(tab[JV.PROP_TEXT], band, unitFactor, 1, 0, 1, 0, me.multiCols, 0));
-                }
-                if (tab[JV.PROP_TEXTS]) {
-                    for (var j = 0; j < tab[JV.PROP_TEXTS].length; j++) {
-                        rst.push(JpcTextHelper.outputText(tab[JV.PROP_TEXTS][j], band, unitFactor, 1, 0, 1, 0, me.multiCols, 0));
-                    }
-                }
-                if (tab[JV.NODE_DISCRETE_INFO]) {
-                    rst = rst.concat(JpcDiscreteHelper.outputDiscreteInfo(tab[JV.NODE_DISCRETE_INFO], bands, dataObj, unitFactor, me.pageStatusLst[page - 1], segIdx, me.multiCols, 0));
-                }
-            }
-        }
-        return rst;
-    };
-    JpcFlowTabResult.outputTabField = function (band, tab_field, data_field, valueIdx, serialIdx, rows, rowIdx, cols, colIdx, unitFactor, isRow, controls, multiColIdx) {
-        var me = this, rst = null;
-        rst = JpcCommonOutputHelper.createCommonOutput(tab_field, JpcFieldHelper.getValue(data_field, valueIdx), controls);
-        rst[JV.PROP_AREA] = JpcAreaHelper.outputArea(tab_field[JV.PROP_AREA], band, unitFactor, rows, rowIdx, cols, colIdx, me.multiCols, multiColIdx, true, false);
-        return rst;
-    }
-
-    return JpcFlowTabResult;
-}
-
-module.exports = new JpcFlowTabSrv();

+ 0 - 18
protect/rpt_component/Jpc_Function.js

@@ -1,18 +0,0 @@
-var JV = require('./Jpc_ValueDefine');
-var JpcFunc = {
-    createNew: function (rptTpl) {
-        var me = this;
-        var rst = [];
-        if (rptTpl[JV.NODE_FORMULAS]) {
-            for (var i = 0; i < rptTpl[JV.NODE_FORMULAS].length; i++) {
-                var item = {};
-                item[JV.PROP_RUN_TYPE] = rptTpl[JV.NODE_FORMULAS][i][JV.PROP_RUN_TYPE];
-                item[JV.PROP_EXPRESSION] = rptTpl[JV.NODE_FORMULAS][i][JV.PROP_EXPRESSION];
-                rst.push(item);
-            }
-        }
-        return rst;
-    }
-};
-
-module.exports = JpcFunc;

+ 0 - 27
protect/rpt_component/Jpc_Param.js

@@ -1,27 +0,0 @@
-var JV = require('./Jpc_ValueDefine');
-var JpcParam = {
-    createNew: function(rptTpl) {
-        var JpcParamResult = {};
-        var me = this;
-        if (rptTpl[JV.NODE_DISCRETE_PARAMS]) {
-            for (var i = 0; i < rptTpl[JV.NODE_DISCRETE_PARAMS].length; i++) {
-                me.createSingle(rptTpl[JV.NODE_DISCRETE_PARAMS][i], JpcParamResult, rptTpl, i);
-            }
-        }
-        return JpcParamResult;
-    },
-    createSingle: function(paramNode, parentObj, rptTpl, sequence) {
-        var me = this;
-        if (paramNode && paramNode[JV.PROP_ID]) {
-            var item = {};
-            item[JV.PROP_ID] = paramNode[JV.PROP_ID];
-            item[JV.PROP_NAME] = paramNode[JV.PROP_NAME];
-            item[JV.PROP_DATA_TYPE] = paramNode[JV.PROP_DATA_TYPE];
-            if (paramNode[JV.PROP_DFT_VALUE]) item[JV.PROP_DFT_VALUE] = paramNode[JV.PROP_DFT_VALUE];
-            item.DataSeq = sequence;
-            parentObj[JV.PROP_ID + "_" + paramNode[JV.PROP_ID]] = item;
-        }
-    }
-}
-
-module.exports = JpcParam;

+ 0 - 47
protect/rpt_component/Jpc_RTE.js

@@ -1,47 +0,0 @@
-/**
- * Created by Tony on 2016/12/28.
- */
-
-var JV = require('./Jpc_ValueDefine');
-var JE = {
-    F: function(fID, $CURRENT_RPT) {
-        var rst = null;
-        if ($CURRENT_RPT && ($CURRENT_RPT.fields[JV.NODE_DETAIL_FIELDS][JV.PROP_ID + "_" + fID])) {
-            rst = $CURRENT_RPT.fields[JV.NODE_DETAIL_FIELDS][JV.PROP_ID + "_" + fID];
-        } else if ($CURRENT_RPT && ($CURRENT_RPT.fields[JV.NODE_MASTER_FIELDS][JV.PROP_ID + "_" + fID])) {
-            rst = $CURRENT_RPT.fields[JV.NODE_MASTER_FIELDS][JV.PROP_ID + "_" + fID];
-        } else if ($CURRENT_RPT && ($CURRENT_RPT.fields[JV.NODE_DISCRETE_FIELDS][JV.PROP_ID + "_" + fID])) {
-            rst = $CURRENT_RPT.fields[JV.NODE_DISCRETE_FIELDS][JV.PROP_ID + "_" + fID];
-        } else if ($CURRENT_RPT && ($CURRENT_RPT.fields[JV.NODE_NO_MAPPING_FIELDS][JV.PROP_ID + "_" + fID])) {
-            rst = $CURRENT_RPT.fields[JV.NODE_NO_MAPPING_FIELDS][JV.PROP_ID + "_" + fID];
-        } else {
-            rst = {msg: "the Field-ID is not valid, no result could be found!"};
-        }
-        return rst;
-    },
-    P: function(pID, $CURRENT_RPT) {
-        var rst = null;
-        if ($CURRENT_RPT && ($CURRENT_RPT.params[JV.PROP_ID + "_" + pID])) {
-            rst = $CURRENT_RPT.params[JV.PROP_ID + "_" + pID];
-        } else {
-            rst = {msg: "the Param-ID is not valid, no result was found!"};
-        }
-        return rst;
-    },
-    getCurrentPage: function ($CURRENT_RPT) {
-        var rst = 0;
-        if ($CURRENT_RPT) {
-            rst = $CURRENT_RPT.runTimePageData.currentPage;
-        }
-        return rst;
-    },
-    getTotalPage: function ($CURRENT_RPT) {
-        var rst = 0;
-        if ($CURRENT_RPT) {
-            rst = $CURRENT_RPT.totalPages;
-        }
-        return rst;
-    }
-}
-
-module.exports = JE;

+ 0 - 197
protect/rpt_component/Jpc_ValueDefine.js

@@ -1,197 +0,0 @@
-var JV = {
-    NODE_CROSS_INFO: "交叉表_信息",
-    NODE_CROSS_ROW: "交叉行",
-    NODE_CROSS_COL: "交叉列",
-    NODE_CROSS_CONTENT: "交叉数据",
-    NODE_CROSS_ROW_SUM: "交叉行合计",
-    NODE_CROSS_COL_SUM: "交叉列合计",
-    NODE_CROSS_ROW_EXT: "交叉行拓展",
-    NODE_CROSS_ROW_SUM_EXT: "交叉行拓展合计",
-    NODE_FIELD_MAP: "指标_数据_映射",
-    NODE_DISCRETE_FIELDS: "离散指标_集合",
-    NODE_NO_MAPPING_FIELDS: "无映射离散指标_集合",
-    NODE_DISCRETE_PARAMS: "离散参数_集合",
-    NODE_MASTER_FIELDS: "主数据指标_集合",
-    NODE_DETAIL_FIELDS: "从数据指标_集合",
-    NODE_BAND_COLLECTION: "布局框_集合",
-    NODE_FORMULAS: "计算式_集合",
-    NODE_DISCRETE_INFO: "离散信息",
-    NODE_BILL_INFO: "账单式表_信息",
-    NODE_BILL_CONTENT : "账单式表_数据",
-    NODE_FLOW_INFO: "流水式表_信息",
-    NODE_FLOW_GROUP: "流水式表_分组信息",
-    NODE_FLOW_SEG_SUM: "流水式表_段统计信息",
-    NODE_FLOW_PAGE_SUM: "流水式表_页统计信息",
-    NODE_FLOW_COLUMN : "流水式表_列",
-    NODE_FLOW_CONTENT : "流水式表_数据",
-    PROP_MULTI_COLUMN: "多列显示数量",
-
-    NODE_MAIN_INFO: "主信息",
-    NODE_PAGE_INFO: "打印页面_信息",
-    NODE_MARGINS: "页边距",
-
-    NODE_FONT_COLLECTION: "font_collection",
-    NODE_STYLE_COLLECTION: "style_collection",
-    NODE_CONTROL_COLLECTION: "control_collection",
-
-    PROP_ID: "ID",
-    PROP_AD_HOC_DATA: "data_field",
-    PROP_CMN_HEIGHT: "CommonHeight",
-    PROP_CMN_WIDTH: "CommonWidth",
-    PROP_BAND_NAME: "BandName",
-    PROP_UNITS: "单位",
-    PROP_PAGE_SIZE: "页规格",
-    PROP_ORIENTATION: "方向",
-    PROP_LEFT: "Left",
-    PROP_RIGHT: "Right",
-    PROP_TOP: "Top",
-    PROP_BOTTOM: "Bottom",
-    PROP_DATA_TYPE: "DataType",
-    PROP_NAME: "Name",
-    PROP_DFT_VALUE: "Default_Value",
-    PROP_EXPRESSION: "expression",
-    PROP_RUN_TYPE: "run_type",
-    PROP_BORDER_STYLE: "border_style",
-    PROP_POSITION: "Position",
-    PROP_HIDDEN: "Hidden",
-    PROP_IS_SERIAL: "isSerial",
-    PROP_FONT: "font",
-    PROP_CONTROL: "control",
-    PROP_STYLE: "style",
-    PROP_VALUE: "Value",
-    PROP_LABEL: "Label",
-    PROP_AREA: "area",
-    PROP_DISCRETE_FIELDS: "discrete_field_s",
-    PROP_FLOW_FIELDS: "flow_field_s",
-    PROP_BILL_FIELDS: "bill_field_s",
-    PROP_GROUP_FIELDS: "group_field_s",
-    PROP_SUM_FIELDS: "sum_field_s",
-    PROP_TEXTS: "text_s",
-    PROP_TEXT: "text",
-    PROP_FIELD_ID: "FieldID",
-    PROP_PARAM_ID: "ParamID",
-    PROP_PREFIX: "Prefix",
-    PROP_SUFFIX: "Suffix",
-    PROP_FORMAT: "Format",
-
-    PROP_SHOW_ZERO: "ShowZero",
-    PROP_EXTENSION_TYPE: "ExtType",
-
-    PROP_CALCULATION: "CalculationType",
-    PROP_H_CALCULATION: "H_CalculationType",
-    PROP_V_CALCULATION: "V_CalculationType",
-
-    IDX_LEFT: 0,
-    IDX_TOP: 1,
-    IDX_RIGHT: 2,
-    IDX_BOTTOM: 3,
-
-    BAND_PROP_NAME: "Name",
-    BAND_PROP_MERGE_BAND: "MergeBand",
-    BAND_PROP_STYLE: "style",
-    BAND_PROP_CONTROL: "control",
-    BAND_PROP_HEIGHT: "Height",
-    BAND_PROP_WIDTH: "Width",
-    BAND_PROP_DISPLAY_TYPE: "DisplayType",
-    BAND_PROP_ALIGNMENT: "Alignment",
-    BAND_PROP_MERGE_BORDER: "MergeBorder",
-    BAND_PROP_SUB_BANDS: "band_s",
-
-    MEASUREMENT: {
-        PIXEL:["像素点", "象素点", "PIXEL"],
-        CM: ["厘米", "CM"],
-        INCH: ["英寸","INCH"]
-    },
-
-    PROP_IS_ID: "isID",
-    PROP_ID_SEQ: "IDSeq",
-
-    TAB_CROSS_FIELDS: "cross_field_s",
-    TAB_FIELD_PROP_SORT: "Sort",
-    TAB_FIELD_PROP_SORT_VAL_NOSORT: "no_sort",
-    TAB_FIELD_PROP_SORT_VAL_ASC: "ascend",
-    TAB_FIELD_PROP_SORT_VAL_DESC: "descend",
-
-    DATA_DISCRETE_DATA: "discrete_data",
-    DATA_MASTER_DATA: "master_data",
-    DATA_DETAIL_DATA: "detail_data",
-
-    BLANK_FIELD_INDEX: -10,
-    BLANK_VALUE_INDEX: -100,
-    BLANK_PAGE_VALUE_INDEX: -200,
-
-    RUN_TYPE_BEFORE_PAGING: "before_paging",
-    RUN_TYPE_BEFORE_OUTPUT: "before_output",
-
-    PAGE_STATUS: ["EveryPage","FirstPage", "LastPage", "SegmentStart", "SegmentEnd", "Group", "CrossRowEnd", "CrossColEnd"],
-
-    CONTROL_PROPS: ["Shrink", "ShowZero", "Horizon", "Vertical", "Wrap"],
-    BORDER_STYLE_PROPS: ["LineWeight", "DashStyle", "Color"],
-    PROP_LINE_WEIGHT: "LineWeight",
-    PROP_DASH_STYLE: "DashStyle",
-    PROP_COLOR: "Color",
-    FONT_PROPS: ["Name", "FontHeight", "FontColor", "FontBold", "FontItalic", "FontUnderline", "FontStrikeOut", "FontAngle"],
-
-    STATUS_NORMAL: 0,
-    STATUS_REPORT_START: 1,
-    STATUS_REPORT_END: 2,
-    STATUS_SEGMENT_START: 3,
-    STATUS_SEGMENT_END: 4,
-    STATUS_GROUP: 5,
-    STATUS_CROSS_ROW_END: 6,
-    STATUS_CROSS_COL_END: 7,
-
-    LAYOUT: ["Top","Bottom", "Left", "Right", "Fulfill"],
-    LAYOUT_TOP: 0,
-    LAYOUT_BOTTOM: 1,
-    LAYOUT_LEFT: 2,
-    LAYOUT_RIGHT: 3,
-    LAYOUT_FULFILL: 4,
-
-    OUTPUT_ALIGN: {
-        H: ["Left", "Center", "Right"],
-        V: ["Top", "Center", "Bottom"]
-    },
-
-    CAL_TYPE:["percentage","abstract"],
-    CAL_TYPE_PERCENTAGE: 0,
-    CAL_TYPE_ABSTRACT: 1,
-
-    PAGE_ORIENTATION_V_FIRST: 0,
-    PAGE_ORIENTATION_H_FIRST: 1,
-
-    ORIENTATION_PORTRAIT: "PORTRAIT",
-    ORIENTATION_LANDSCAPE: "LANDSCAPE",
-    ORIENTATION_PORTRAIT_CHN: "纵",
-    ORIENTATION_LANDSCAPE_CHN: "横",
-    SIZE_A3: [11.69, 16.54],
-    SIZE_A4: [8.27, 11.69],
-    SIZE_A5: [5.83, 8.27],
-    SIZE_B5: [6.93, 9.84],
-    SIZE_LETTER: [8.5, 11.0],
-    SIZE_LEGAL: [8.5, 14.0],
-    SIZE_16K: [7.75, 10.75],
-    SIZE_EXECUTIVE: [7.25, 10.5],
-
-    OUTPUT_OFFSET: [2,1,2,3],
-    OFFSET_IDX_LEFT: 0,
-    OFFSET_IDX_RIGHT: 1,
-    OFFSET_IDX_TOP: 2,
-    OFFSET_IDX_BOTTOM: 3,
-
-    PROP_PAGE_SEQ: "page_seq",
-
-    PAGE_SELF_DEFINE: "自定义",
-
-    PAGES_SIZE_STR: ["A3", "A4", "A5", "B5", "LETTER", "LEGAL", "EXECUTIVE", "16K"],
-    PAGES_SIZE: [[11.69, 16.54], [8.27, 11.69], [5.83, 8.27], [6.93, 9.84], [8.5, 11.0], [8.5, 14.0], [7.25, 10.5], [7.25, 10.5]],
-
-    HUNDRED_PERCENT : 100.0,
-
-    VERTICAL_ANGLE: "90",
-    ANTI_VERTICAL_ANGLE: "-90",
-
-    LAST_DEF: ""
-}
-
-module.exports = JV;

+ 0 - 58
protect/rpt_component/helper/Jpc_Helper_Area.js

@@ -1,58 +0,0 @@
-var JV = require('../Jpc_ValueDefine');
-
-var JpcAreaHelper = {
-    outputArea: function(areaNode, band, unitFactor, rowAmount, rowIdx, colAmount, colIdx, multipleDispCol, multipleColIdx,syncHeight, syncWidth) {
-        var rst = {}, maxMultiColumns = 3;
-        if (multipleDispCol > 0 && multipleDispCol <= maxMultiColumns) {
-            //1. calculate left/right
-            var areaWidth = 1.0 * (band[JV.PROP_RIGHT] - band[JV.PROP_LEFT]) / multipleDispCol;
-            areaWidth = areaWidth / colAmount;
-            var innerLeft = 0.0, innerRight = areaWidth;
-            switch (areaNode[JV.PROP_H_CALCULATION]) {
-                case JV.CAL_TYPE[JV.CAL_TYPE_PERCENTAGE] :
-                    innerLeft = (1.0 * areaNode[JV.PROP_LEFT] * areaWidth / JV.HUNDRED_PERCENT);
-                    innerRight = (1.0 * areaNode[JV.PROP_RIGHT] * areaWidth / JV.HUNDRED_PERCENT) ;
-                    break;
-                case JV.CAL_TYPE[JV.CAL_TYPE_ABSTRACT] :
-                    innerLeft = 1.0 * areaNode[JV.PROP_LEFT] * unitFactor;
-                    innerRight = 1.0 * areaNode[JV.PROP_RIGHT] * unitFactor ;
-                    break;
-            }
-            //2. calculate top/bottom
-            var  areaHeight = 1.0 * (band[JV.PROP_BOTTOM] - band[JV.PROP_TOP]);
-            areaHeight = areaHeight / rowAmount;
-            var innerTop = 0.0, innerBottom = areaHeight;
-            switch (areaNode[JV.PROP_V_CALCULATION]) {
-                case JV.CAL_TYPE[JV.CAL_TYPE_PERCENTAGE] :
-                    innerTop = (1.0 * areaNode[JV.PROP_TOP] * areaHeight / JV.HUNDRED_PERCENT);
-                    innerBottom = (1.0 * areaNode[JV.PROP_BOTTOM] * areaHeight / JV.HUNDRED_PERCENT) ;
-                    break;
-                case JV.CAL_TYPE[JV.CAL_TYPE_ABSTRACT] :
-                    innerTop = 1.0 * areaNode[JV.PROP_TOP] * unitFactor;
-                    innerBottom = 1.0 * areaNode[JV.PROP_BOTTOM] * unitFactor ;
-                    break;
-            }
-            //
-            var rstLeft = 0.0, rstRight = 0.0, rstTop = 0.0, rstBottom = 0.0;
-            if (syncHeight) {
-                rstBottom = Math.round(1.0 * band[JV.PROP_TOP] + areaHeight * (rowIdx + 1) + innerTop);
-            } else {
-                rstBottom = Math.round(1.0 * band[JV.PROP_TOP] + areaHeight * rowIdx + innerBottom);
-            }
-            if (syncWidth) {
-                rstRight = Math.round(1.0 * band[JV.PROP_LEFT] + areaWidth * (colIdx + 1) + innerLeft + multipleColIdx * areaWidth);
-            } else {
-                rstRight = Math.round(1.0 * band[JV.PROP_LEFT] + areaWidth * colIdx + innerRight + multipleColIdx * areaWidth);
-            }
-            rstLeft = Math.round(1.0 * band[JV.PROP_LEFT] + areaWidth * colIdx + innerLeft + multipleColIdx * areaWidth);
-            rstTop = Math.round(1.0 * band[JV.PROP_TOP] + areaHeight * rowIdx + innerTop);
-            rst[JV.PROP_LEFT] = rstLeft;
-            rst[JV.PROP_RIGHT] = rstRight;
-            rst[JV.PROP_TOP] = rstTop;
-            rst[JV.PROP_BOTTOM] = rstBottom;
-        }
-        return rst;
-    }
-};
-
-module.exports = JpcAreaHelper;

+ 0 - 74
protect/rpt_component/helper/Jpc_Helper_Band.js

@@ -1,74 +0,0 @@
-var JV = require('../Jpc_ValueDefine');
-var JpcCommonHelper = require('./Jpc_Helper_Common');
-
-var JpcBandHelper = {
-    getBandTypeValByString: function(bandType) {
-        var rst = JV.PAGE_STATUS.indexOf(bandType);
-        if (rst < 0) rst = JV.STATUS_NORMAL;
-        return rst;
-    },
-    setBandArea: function(bands, rptTpl, pageStatus) {
-        var me = this;
-        if (rptTpl[JV.NODE_BAND_COLLECTION]) {
-            var unitFactor = JpcCommonHelper.getUnitFactor(rptTpl);
-            var orgArea = JpcCommonHelper.getReportArea(rptTpl, unitFactor);
-            for (var i = 0; i < rptTpl[JV.NODE_BAND_COLLECTION].length; i++) {
-                me.setBandPos(bands, rptTpl[JV.NODE_BAND_COLLECTION][i], orgArea, unitFactor, pageStatus);
-            }
-        }
-    },
-    setBandPos: function(bands, bandNode, orgArea, unitFactor, pageStatus) {
-        var me = this, band = bands[bandNode[JV.BAND_PROP_NAME]];
-        //1. initialize
-        band[JV.PROP_LEFT] = orgArea[JV.IDX_LEFT];
-        band[JV.PROP_TOP] = orgArea[JV.IDX_TOP];
-        band[JV.PROP_RIGHT] = orgArea[JV.IDX_RIGHT];
-        band[JV.PROP_BOTTOM] = orgArea[JV.IDX_BOTTOM];
-        //2. set this band
-        if (pageStatus[band[JV.BAND_PROP_DISPLAY_TYPE]] == true) {
-            switch (band[JV.BAND_PROP_ALIGNMENT]) {
-                case JV.LAYOUT_TOP:
-                    if (band[JV.PROP_CALCULATION] == JV.CAL_TYPE_ABSTRACT) {
-                        band.Bottom = band.Top + unitFactor * band[JV.BAND_PROP_HEIGHT];
-                    } else {
-                        band.Bottom = band.Top + (band.Bottom - band.Top) * band[JV.BAND_PROP_HEIGHT] / 100;
-                    }
-                    orgArea[JV.IDX_TOP] = band.Bottom;
-                    break;
-                case JV.LAYOUT_BOTTOM:
-                    if (band[JV.PROP_CALCULATION] == JV.CAL_TYPE_ABSTRACT) {
-                        band.Top = band.Bottom - unitFactor * band[JV.BAND_PROP_HEIGHT];
-                    } else {
-                        band.Top = band.Bottom - (band.Bottom - band.Top) * band[JV.BAND_PROP_HEIGHT] / 100;
-                    }
-                    orgArea[JV.IDX_BOTTOM] = band.Top;
-                    break;
-                case JV.LAYOUT_LEFT:
-                    if (band[JV.PROP_CALCULATION] == JV.CAL_TYPE_ABSTRACT) {
-                        band.Right = band.Left + unitFactor * band[JV.BAND_PROP_WIDTH];
-                    } else {
-                        band.Right = band.Left + (band.Right - band.Left) * band[JV.BAND_PROP_WIDTH] / 100;
-                    }
-                    orgArea[JV.IDX_LEFT] = band.Right;
-                    break;
-                case JV.LAYOUT_RIGHT:
-                    if (band[JV.PROP_CALCULATION] == JV.CAL_TYPE_ABSTRACT) {
-                        band.Left = band.Right - unitFactor * band[JV.BAND_PROP_WIDTH];
-                    } else {
-                        band.Left = band.Right - (band.Right - band.Left) * band[JV.BAND_PROP_WIDTH] / 100;
-                    }
-                    orgArea[JV.IDX_RIGHT] = band.Left;
-                    break;
-            }
-            //3. set sub-bands
-            if (bandNode[JV.BAND_PROP_SUB_BANDS]) {
-                var bandArea = [band.Left, band.Top, band.Right, band.Bottom];
-                for (var i = 0; i < bandNode[JV.BAND_PROP_SUB_BANDS].length; i++) {
-                    me.setBandPos(bands, bandNode[JV.BAND_PROP_SUB_BANDS][i], bandArea, unitFactor, pageStatus);
-                }
-            }
-        }
-    }
-};
-
-module.exports = JpcBandHelper;

+ 0 - 148
protect/rpt_component/helper/Jpc_Helper_Common.js

@@ -1,148 +0,0 @@
-var JV = require('../Jpc_ValueDefine');
-
-var JpcCommonHelper = {
-    commonConstant: {},
-    getResultByID: function (KeyID, collectionList) {
-        var rst = null;
-        if (KeyID) {
-            for (var i = 0; i < collectionList.length; i++) {
-                var collection = collectionList[i];
-                if (collection && collection instanceof Array) {
-                    for (var j = 0; j < collection.length; j++) {
-                        if (collection[j][JV.PROP_ID] === KeyID) {
-                            rst = collection[j];
-                            break;
-                        }
-                    }
-                    if (rst) break;
-                }
-            }
-        }
-        return rst;
-    },
-    getFont: function(fontName, dftFonts, rptTpl) {
-        var me = this, rst = null, list = [];
-        if (rptTpl) list.push(rptTpl[JV.NODE_FONT_COLLECTION]);
-        list.push(dftFonts);
-        rst = me.getResultByID(fontName, list);
-        return rst;
-    },
-    getStyle: function(styleName, dftStyles, rptTpl) {
-        var me = this, rst = null, list = [];
-        if (rptTpl) list.push(rptTpl[JV.NODE_STYLE_COLLECTION]);
-        list.push(dftStyles);
-        rst = me.getResultByID(styleName, list);
-        return rst;
-    },
-    getControl: function(controlName, dftControls, rptTpl) {
-        var me = this, rst = null, list = [];
-        if (rptTpl) list.push(rptTpl[JV.NODE_CONTROL_COLLECTION]);
-        list.push(dftControls);
-        rst = me.getResultByID(controlName, list);
-        return rst;
-    },
-    getLayoutAlignment: function(alignStr) {
-        var rst = JV.LAYOUT.indexOf(alignStr);
-        if (rst < 0) rst = JV.LAYOUT_FULFILL;
-        return rst;
-    },
-    getPosCalculationType: function (typeStr) {
-        var rst = JV.CAL_TYPE.indexOf(typeStr);
-        if (rst < 0) rst = JV.CAL_TYPE_ABSTRACT;
-        return rst;
-    },
-    getScreenDPI: function() {
-        var me = this, arrDPI = [];
-        if (!me.commonConstant.resolution) {
-            arrDPI = [96,96];
-            me.commonConstant.resolution = arrDPI;
-        } else {
-            arrDPI = me.commonConstant.resolution;
-        }
-        return arrDPI;
-    },
-    getScreenDPI_bk: function() {
-        var me = this, arrDPI = [];
-        if (!me.commonConstant.resolution) {
-            if (window) {
-                if (window.screen.deviceXDPI != undefined) {
-                    arrDPI.push(window.screen.deviceXDPI);
-                    arrDPI.push(window.screen.deviceYDPI);
-                } else {
-                    var tmpNode = document.createElement("DIV");
-                    tmpNode.style.cssText = "width:1in;height:1in;position:absolute;left:0px;top:0px;z-index:99;visibility:hidden";
-                    document.body.appendChild(tmpNode);
-                    arrDPI.push(parseInt(tmpNode.offsetWidth));
-                    arrDPI.push(parseInt(tmpNode.offsetHeight));
-                    tmpNode.parentNode.removeChild(tmpNode);
-                }
-            } else {
-                arrDPI = [96,96];
-            }
-            me.commonConstant.resolution = arrDPI;
-        } else {
-            arrDPI = me.commonConstant.resolution;
-        }
-        return arrDPI;
-    },
-    getUnitFactor: function(rptTpl) {
-        var me = this;
-        return me.translateUnit(rptTpl[JV.NODE_MAIN_INFO][JV.PROP_UNITS]);
-    },
-    translateUnit: function(unitStr) {
-        var me = this, rst = 1.0;
-        if (unitStr) {
-            var resolution = me.getScreenDPI();
-            if (JV.MEASUREMENT.PIXEL.indexOf(unitStr) >= 0) {
-                rst = 1.0;
-            } else if (JV.MEASUREMENT.CM.indexOf(unitStr) >= 0) {
-                rst = 1.0 * resolution[0] / 2.54;
-            } else if (JV.MEASUREMENT.INCH.indexOf(unitStr) >= 0) {
-                rst = 1.0 * resolution[0];
-            }
-        }
-        return rst;
-    },
-    getPageSize: function (rptTpl) {
-        var me = this, size = null;
-        var sizeStr = rptTpl[JV.NODE_MAIN_INFO][JV.NODE_PAGE_INFO][JV.PROP_PAGE_SIZE];
-        var sizeIdx = JV.PAGES_SIZE_STR.indexOf(sizeStr);
-        if (sizeIdx >= 0) {
-            size = JV.PAGES_SIZE[sizeIdx].slice(0);
-        } else if (sizeStr === JV.PAGE_SELF_DEFINE) {
-            //
-        } else {
-            size = JV.SIZE_A4.slice(0);
-        }
-        var page_orientation = rptTpl[JV.NODE_MAIN_INFO][JV.NODE_PAGE_INFO][JV.PROP_ORIENTATION];
-        if (page_orientation === JV.ORIENTATION_LANDSCAPE || page_orientation === JV.ORIENTATION_LANDSCAPE_CHN) {
-            //swap x,y
-            var tmp = size[0];
-            size[0] = size[1];
-            size[1] = tmp;
-        }
-        return size;
-    },
-    getReportArea: function(rptTpl, unitFactor) {
-        var me = this, resolution = me.getScreenDPI(), rst = [], size = me.getPageSize(rptTpl);
-        size[0] = resolution[0] * size[0];
-        size[1] = resolution[0] * size[1];
-        rst.push(unitFactor * rptTpl[JV.NODE_MAIN_INFO][JV.NODE_MARGINS][JV.PROP_LEFT]);
-        rst.push(unitFactor * rptTpl[JV.NODE_MAIN_INFO][JV.NODE_MARGINS][JV.PROP_TOP]);
-        rst.push(size[0] - unitFactor * rptTpl[JV.NODE_MAIN_INFO][JV.NODE_MARGINS][JV.PROP_RIGHT]);
-        rst.push(size[1] - unitFactor * rptTpl[JV.NODE_MAIN_INFO][JV.NODE_MARGINS][JV.PROP_BOTTOM]);
-        return rst;
-    },
-    getSegIdxByPageIdx: function(page, page_seg_map) {
-        var rst = -1;
-        for (var pIdx = 0; pIdx < page_seg_map.length; pIdx++) {
-            if (page_seg_map[pIdx][0] == page) {
-                rst = page_seg_map[pIdx][1];
-                break;
-            }
-        }
-        return rst;
-    }
-};
-
-module.exports = JpcCommonHelper;

+ 0 - 60
protect/rpt_component/helper/Jpc_Helper_CommonOutput.js

@@ -1,60 +0,0 @@
-var JV = require('../Jpc_ValueDefine');
-var JpcFieldHelper = require('./Jpc_Helper_Field');
-
-var JpcCommonOutputHelper = {
-    createCommonOutputWithoutDecorate: function (node, value, controls) {
-        var rst = {};
-        //1. font/style/control
-        rst[JV.PROP_FONT] = node[[JV.PROP_FONT]];
-        rst[JV.PROP_CONTROL] = node[[JV.PROP_CONTROL]];
-        rst[JV.PROP_STYLE] = node[[JV.PROP_STYLE]];
-        //2. value
-        rst[JV.PROP_VALUE] = value;
-        if (node[JV.PROP_FORMAT]) {
-            if (!(isNaN(parseFloat(rst[JV.PROP_VALUE])))) {
-                var dotIdx = node[JV.PROP_FORMAT].indexOf(".");
-                if (dotIdx >= 0) {
-                    rst[JV.PROP_VALUE] = parseFloat(rst[JV.PROP_VALUE]).toFixed(node[JV.PROP_FORMAT].length - dotIdx - 1);
-                } else {
-                    rst[JV.PROP_VALUE] = parseFloat(rst[JV.PROP_VALUE]).toFixed(0);
-                }
-            }
-        }
-        if (node[JV.PROP_PREFIX] && rst[JV.PROP_VALUE] != null) {
-            rst[JV.PROP_VALUE] = node[JV.PROP_PREFIX] + rst[JV.PROP_VALUE];
-        }
-        if (node[JV.PROP_SUFFIX] && rst[JV.PROP_VALUE] != null) {
-            rst[JV.PROP_VALUE] = rst[JV.PROP_VALUE] + node[JV.PROP_SUFFIX];
-        }
-        return rst;
-    },
-    createCommonOutput: function (node, value, controls) {
-        var rst = {};
-        //1. font/style/control
-        rst[JV.PROP_FONT] = node[[JV.PROP_FONT]];
-        rst[JV.PROP_CONTROL] = node[[JV.PROP_CONTROL]];
-        rst[JV.PROP_STYLE] = node[[JV.PROP_STYLE]];
-        //2. value
-        rst[JV.PROP_VALUE] = value;
-        JpcFieldHelper.decorateValue(rst, controls);
-        if (node[JV.PROP_FORMAT]) {
-            if (!(isNaN(parseFloat(rst[JV.PROP_VALUE])))) {
-                var dotIdx = node[JV.PROP_FORMAT].indexOf(".");
-                if (dotIdx >= 0) {
-                    rst[JV.PROP_VALUE] = parseFloat(rst[JV.PROP_VALUE]).toFixed(node[JV.PROP_FORMAT].length - dotIdx - 1);
-                } else {
-                    rst[JV.PROP_VALUE] = parseFloat(rst[JV.PROP_VALUE]).toFixed(0);
-                }
-            }
-        }
-        if (node[JV.PROP_PREFIX] && rst[JV.PROP_VALUE] != null && rst[JV.PROP_VALUE] != "") {
-            rst[JV.PROP_VALUE] = node[JV.PROP_PREFIX] + rst[JV.PROP_VALUE];
-        }
-        if (node[JV.PROP_SUFFIX] && rst[JV.PROP_VALUE] != null && rst[JV.PROP_VALUE] != "") {
-            rst[JV.PROP_VALUE] = rst[JV.PROP_VALUE] + node[JV.PROP_SUFFIX];
-        }
-        return rst;
-    }
-}
-
-module.exports = JpcCommonOutputHelper;

+ 0 - 189
protect/rpt_component/helper/Jpc_Helper_CrossTab.js

@@ -1,189 +0,0 @@
-var JV = require('../Jpc_ValueDefine');
-var JpcCommonHelper = require('./Jpc_Helper_Common');
-
-var JpcCrossTabHelper = {
-    getColIDX: function(cl, val) {
-        var rst = -1;
-        for (var i = 0; i < cl.length; i++) {
-            var ca = cl[i];
-            for (var j = 0; j < ca.length; j++) {
-                if (ca[j] == val) {
-                    rst = i;
-                    break;
-                }
-            }
-            if (rst != -1) {
-                break;
-            }
-        }
-        return rst;
-    },
-    pushToSeg: function(segArr, dataSeq, segIdx, sIdx, eIdx) {
-        var arrIdx = [];
-        for (var k = sIdx; k < eIdx; k++) {
-            arrIdx.push(dataSeq[segIdx][k]);
-        }
-        segArr.push(arrIdx);
-    },
-    sortFieldValue: function(sIDX, eIDX, sortOrder, dataField, dataValSeq) {
-        var tmpSeq = [];
-        if ((sortOrder) && (sortOrder != JV.TAB_FIELD_PROP_SORT_VAL_NOSORT)) {
-            if (sIDX >= 0 && eIDX >= sIDX && dataValSeq.length > eIDX) {
-                var reversed = 1;
-                if (sortOrder === JV.TAB_FIELD_PROP_SORT_VAL_DESC) {
-                    reversed = -1;
-                }
-                for (var i = sIDX; i <= eIDX; i++) {
-                    tmpSeq.push(dataValSeq[i]);
-                }
-                tmpSeq.sort(function(idx1, idx2) {
-                    var rst = 0;
-                    if (isNaN(parseFloat(dataField[idx1])) || isNaN(parseFloat(dataField[idx1]))) {
-                        if (dataField[idx1] > dataField[idx2]) {
-                            rst = reversed;
-                        } else if (dataField[idx1] < dataField[idx2]) {
-                            rst = -reversed;
-                        }
-                    } else {
-                        if ((1.0 * dataField[idx1]) > (1.0 * dataField[idx2])) {
-                            rst = reversed;
-                        } else if ((1.0 * dataField[idx1]) < (1.0 * dataField[idx2])) {
-                            rst = -reversed;
-                        }
-                    }
-                    return rst;
-                });
-            }
-        }
-        if (tmpSeq.length > 0) {
-            for (var i = sIDX; i <= eIDX; i++) {
-                dataValSeq[i] = tmpSeq[i - sIDX];
-            }
-        }
-        return tmpSeq;
-    },
-    checkIfEqual: function(dataFields, seq1, seq2) {
-        var rst = true;
-        for (var i = 0; i < dataFields.length; i++) {
-            if ((dataFields[i][seq1] !== dataFields[i][seq2])) {
-                rst = false;
-                break;
-            }
-        }
-        return rst;
-    },
-    sortTabFields: function(tabFields, fieldSeqs, data_details, dataSeq) {
-        var me = this;
-        var sIDX = 0, eIDX = -1, isFirstSort = true;
-        for (var i = 0; i < tabFields.length; i++) {
-            var tabField = tabFields[i];
-            if (tabField[JV.TAB_FIELD_PROP_SORT] != JV.TAB_FIELD_PROP_SORT_VAL_NOSORT) {
-                if (isFirstSort) {
-                    isFirstSort = false;
-                    //first field, should sort all data items
-                    for (var j = 0; j < dataSeq.length; j++) {
-                        sIDX = 0;
-                        eIDX = dataSeq[j].length - 1;
-                        //sort the field value here
-                        me.sortFieldValue(sIDX, eIDX, tabField[JV.TAB_FIELD_PROP_SORT],data_details[fieldSeqs[i]], dataSeq[j]);
-                    }
-                } else {
-                    //then sort the rest fields one by one
-                    for (var j = 0; j < dataSeq.length; j++) {
-                        var chkFields = [];
-                        for (var k = 0; k < i; k++) {
-                            chkFields.push(data_details[fieldSeqs[k]]);
-                        }
-                        sIDX = 0, eIDX = -1;
-                        for (var m = 1; m < dataSeq[j].length; m++) {
-                            if (!(me.checkIfEqual(chkFields, dataSeq[j][m - 1], dataSeq[j][m]))) {
-                                eIDX = m - 1;
-                            } else if (m == dataSeq[j].length - 1) {
-                                eIDX = m;
-                            };
-                            if (eIDX >= sIDX) {
-                                if (eIDX != sIDX) {
-                                    me.sortFieldValue(sIDX, eIDX, tabField[JV.TAB_FIELD_PROP_SORT],data_details[fieldSeqs[i]], dataSeq[j]);
-                                }
-                                sIDX = m;
-                                eIDX = m - 1; //for protection purpose
-                            }
-                        }
-                    }
-                }
-            }
-        }
-    },
-    getMaxTabCntPerPage: function(bands, rptTpl, tabNodeName, tabMeasurePropName, measureForCal) {
-        var rst = 1;
-        if (rptTpl[JV.NODE_CROSS_INFO][tabNodeName]) {
-            var tab = rptTpl[JV.NODE_CROSS_INFO][tabNodeName];
-            var maxFieldMeasure = 1.0;
-            if (JV.CAL_TYPE_ABSTRACT == JpcCommonHelper.getPosCalculationType(tab[JV.PROP_CALCULATION])) {
-                var unitFactor = JpcCommonHelper.getUnitFactor(rptTpl);
-                maxFieldMeasure = 1.0 * rptTpl[JV.NODE_CROSS_INFO][tabNodeName][tabMeasurePropName] * unitFactor;
-            } else {
-                maxFieldMeasure = measureForCal * rptTpl[JV.NODE_CROSS_INFO][tabNodeName][tabMeasurePropName] / JV.HUNDRED_PERCENT;
-            }
-            rst = Math.floor(measureForCal / maxFieldMeasure);
-        }
-        return rst;
-    },
-    getMaxRowsPerPage: function(bands, rptTpl) {
-        var me = this, rst = 1;
-        var band = bands[rptTpl[JV.NODE_CROSS_INFO][JV.NODE_CROSS_ROW][JV.PROP_BAND_NAME]];
-        if (band) {
-            rst =  me.getMaxTabCntPerPage(bands, rptTpl, JV.NODE_CROSS_ROW, JV.PROP_CMN_HEIGHT, band.Bottom - band.Top);
-        }
-        return rst;
-    },
-    getMaxColsPerPage: function(bands, rptTpl) {
-        var me = this, rst = 1;
-        var band = bands[rptTpl[JV.NODE_CROSS_INFO][JV.NODE_CROSS_COL][JV.PROP_BAND_NAME]];
-        if (band) {
-            rst =  me.getMaxTabCntPerPage(bands, rptTpl, JV.NODE_CROSS_COL, JV.PROP_CMN_WIDTH, band.Right - band.Left);
-        }
-        return rst;
-    },
-    chkTabEnd: function(tabType, rptTpl, bands, sortedSequence, segIdx, preRec, nextRec) {
-        var me = this, rst = true;
-        var remainAmt = preRec + nextRec - sortedSequence[segIdx].length;
-        rst = me.hasEnoughSpace(tabType, rptTpl, bands, remainAmt);
-        return rst;
-    },
-    hasEnoughSpace: function (tabType, rptTpl, bands, remainAmt) {
-        if (remainAmt < 0) return false;
-        var rst = true, measurement = 1.0, douDiffForCompare = 0.00001;
-        var unitFactor = JpcCommonHelper.getUnitFactor(rptTpl);
-        var band = null;
-        if (rptTpl[JV.NODE_CROSS_INFO][tabType]) {
-            band = bands[rptTpl[JV.NODE_CROSS_INFO][tabType][JV.PROP_BAND_NAME]];
-        }
-        if (band != null && band != undefined) {
-            if (tabType === JV.NODE_CROSS_ROW_SUM || tabType === JV.NODE_CROSS_ROW_EXT) {
-                measurement = 1.0 * rptTpl[JV.NODE_CROSS_INFO][JV.NODE_CROSS_ROW][JV.PROP_CMN_HEIGHT] * unitFactor;
-                var spareHeight = measurement * remainAmt;
-                var douH = 1.0 * (band.Bottom - band.Top);
-                rst = (spareHeight >= douH) || (spareHeight - douH <= douDiffForCompare);
-            } else if (tabType === JV.NODE_CROSS_COL_SUM) {
-                measurement = 1.0 * rptTpl[JV.NODE_CROSS_INFO][JV.NODE_CROSS_COL][JV.PROP_CMN_WIDTH] * unitFactor;
-                var spareWidth = measurement * remainAmt;
-                var douW = 1.0 * (band.Right - band.Left);
-                rst = (spareWidth >= douW) || (spareWidth - douW <= douDiffForCompare);
-            }
-        }
-        return rst;
-    },
-    initialPageStatus: function (pageStatus) {
-        pageStatus[JV.STATUS_NORMAL] = true;
-        pageStatus[JV.STATUS_REPORT_START] = false;
-        pageStatus[JV.STATUS_REPORT_END] = false;
-        pageStatus[JV.STATUS_SEGMENT_START] = false;
-        pageStatus[JV.STATUS_SEGMENT_END] = false;
-        pageStatus[JV.STATUS_GROUP] = false;
-        pageStatus[JV.STATUS_CROSS_ROW_END] = false;
-        pageStatus[JV.STATUS_CROSS_COL_END] = false;
-    }
-};
-
-module.exports = JpcCrossTabHelper;

+ 0 - 58
protect/rpt_component/helper/Jpc_Helper_Discrete.js

@@ -1,58 +0,0 @@
-var JV = require('../Jpc_ValueDefine');
-var JE = require('../Jpc_RTE');
-var JpcTextHelper = require('./Jpc_Helper_Text');
-var JpcCommonOutputHelper = require('./Jpc_Helper_CommonOutput');
-var JpcAreaHelper = require('./Jpc_Helper_Area');
-
-var JpcDiscreteHelper = {
-    outputDiscreteInfo: function (discreteArray, bands, dataObj, unitFactor, pageStatus, segIdx, multiCols, multiColIdx, $CURRENT_RPT) {
-        var rst = [];
-        if (discreteArray && dataObj) {
-            for (var i = 0; i < discreteArray.length; i++) {
-                var band = bands[discreteArray[i][JV.PROP_BAND_NAME]];
-                if (band && pageStatus[band[JV.BAND_PROP_DISPLAY_TYPE]] == true) {
-                    if (discreteArray[i][JV.PROP_TEXT]) {
-                        rst.push(JpcTextHelper.outputText(discreteArray[i][JV.PROP_TEXT], band, unitFactor, 1, 0, 1, 0, multiCols, multiColIdx));
-                    }
-                    if (discreteArray[i][JV.PROP_TEXTS]) {
-                        for (var j = 0; j < discreteArray[i][JV.PROP_TEXTS].length; j++) {
-                            rst.push(JpcTextHelper.outputText(discreteArray[i][JV.PROP_TEXTS][j], band, unitFactor, 1, 0, 1, 0, multiCols, multiColIdx));
-                        }
-                    }
-                    if (discreteArray[i][JV.PROP_DISCRETE_FIELDS]) {
-                        for (var j = 0; j < discreteArray[i][JV.PROP_DISCRETE_FIELDS].length; j++) {
-                            var df = discreteArray[i][JV.PROP_DISCRETE_FIELDS][j];
-                            var value = "";
-                            if (df[JV.PROP_FIELD_ID]) {
-                                var field = JE.F(df[JV.PROP_FIELD_ID], $CURRENT_RPT);
-                                if (field.DataSeq != JV.BLANK_FIELD_INDEX) {
-                                    var data = dataObj[field.DataNodeName][field.DataSeq];
-                                    if (data && data.length > 0) {
-                                        if (data.length > segIdx) {
-                                            value = data[segIdx];
-                                        } else {
-                                            value = data[0];
-                                        }
-                                    }
-                                } else {
-                                    if (field[JV.PROP_AD_HOC_DATA] && field[JV.PROP_AD_HOC_DATA].length > 0) value = field[JV.PROP_AD_HOC_DATA][0]
-                                    else value = "";
-                                }
-                            } else if (df[JV.PROP_PARAM_ID]) {
-                                var param = JE.P(df[JV.PROP_PARAM_ID], $CURRENT_RPT);
-                                value = param[JV.PROP_DFT_VALUE];
-                            }
-                            var item = JpcCommonOutputHelper.createCommonOutputWithoutDecorate(df, value, null);
-                            //position
-                            item[JV.PROP_AREA] = JpcAreaHelper.outputArea(df[JV.PROP_AREA], band, unitFactor, 1, 0, 1, 0, multiCols, multiColIdx, false, false);
-                            rst.push(item);
-                        }
-                    }
-                }
-            }
-        }
-        return rst;
-    }
-}
-
-module.exports = JpcDiscreteHelper;

+ 0 - 44
protect/rpt_component/helper/Jpc_Helper_Field.js

@@ -1,44 +0,0 @@
-var JV = require('../Jpc_ValueDefine');
-
-var JpcFieldHelper = {
-    getValue: function(dataField, valueIdx) {
-        var rst = "";
-        if (dataField && (dataField.length > valueIdx) && (valueIdx >= 0)) {
-            rst = dataField[valueIdx];
-        }
-        return rst;
-    },
-    decorateValue: function (cell, controls) {
-        if (controls) {
-            var val = cell[JV.PROP_VALUE];
-            var showZero = controls[cell[JV.PROP_CONTROL]][JV.PROP_SHOW_ZERO];
-            if (showZero && showZero == 'F' ) {
-                if (0.0 == 1.0 * (0 + val)) {
-                    cell[JV.PROP_VALUE] = "";
-                }
-            }
-        }
-    },
-    findAndPutDataFieldIdx: function (rptTpl, tab_fields, rstFields, rstFieldsIdx) {
-        if (tab_fields) {
-            var detail_fields = rptTpl[JV.NODE_FIELD_MAP][JV.NODE_DETAIL_FIELDS];
-            for (var i = 0; i < tab_fields.length; i++) {
-                var isFounded = false;
-                for (var j = 0; j < detail_fields.length; j++) {
-                    if (tab_fields[i]["FieldID"] == detail_fields[j]["ID"]) {
-                        isFounded = true;
-                        if (rstFields) rstFields.push(tab_fields[i]);
-                        if (rstFieldsIdx) rstFieldsIdx.push(j);
-                        break;
-                    }
-                }
-                if (!isFounded) {
-                    if (rstFields) rstFields.push(tab_fields[i]);
-                    if (rstFieldsIdx) rstFieldsIdx.push(JV.BLANK_FIELD_INDEX);
-                }
-            }
-        }
-    }
-};
-
-module.exports = JpcFieldHelper;

+ 0 - 43
protect/rpt_component/helper/Jpc_Helper_FlowTab.js

@@ -1,43 +0,0 @@
-var JV = require('../Jpc_ValueDefine');
-var JpcCommonHelper = require('./Jpc_Helper_Common');
-
-var JpcFlowTabHelper = {
-    getMaxRowsPerPage: function(bands, rptTpl) {
-        var me = this, rst = 1;
-        var tab = rptTpl[JV.NODE_FLOW_INFO][JV.NODE_FLOW_CONTENT];
-        var band = bands[tab[JV.PROP_BAND_NAME]];
-        if (band) {
-            var maxFieldMeasure = 1.0;
-            if (JV.CAL_TYPE_ABSTRACT == JpcCommonHelper.getPosCalculationType(tab[JV.PROP_CALCULATION])) {
-                var unitFactor = JpcCommonHelper.getUnitFactor(rptTpl);
-                maxFieldMeasure = 1.0 * rptTpl[JV.NODE_FLOW_INFO][JV.NODE_FLOW_CONTENT][JV.PROP_CMN_HEIGHT] * unitFactor;
-            } else {
-                maxFieldMeasure = (band.Bottom - band.Top) * rptTpl[JV.NODE_FLOW_INFO][JV.NODE_FLOW_CONTENT][JV.PROP_CMN_HEIGHT] / JV.HUNDRED_PERCENT;
-            }
-            rst = Math.floor((band.Bottom - band.Top) / maxFieldMeasure);
-        }
-        return rst;
-    },
-    chkSegEnd: function (bands, rptTpl, sortedSequence, segIdx, preRec, nextRec) {
-        var me = this, rst = true;
-        var remainAmt = preRec + nextRec - sortedSequence[segIdx].length;
-        rst = me.hasEnoughSpace(rptTpl, bands, remainAmt);
-        return rst;
-    },
-    hasEnoughSpace: function (rptTpl, bands, remainAmt) {
-        if (remainAmt < 0) return false;
-        var rst = true, measurement = 1.0, douDiffForCompare = 0.00001;
-        var unitFactor = JpcCommonHelper.getUnitFactor(rptTpl);
-        var tab = rptTpl[JV.NODE_FLOW_INFO][JV.NODE_FLOW_CONTENT];
-        var band = bands[tab[JV.PROP_BAND_NAME]];
-        if (band != null && band != undefined) {
-            measurement = 1.0 * tab[JV.PROP_CMN_HEIGHT] * unitFactor;
-            var spareHeight = measurement * remainAmt;
-            var douH = 1.0 * (band.Bottom - band.Top);
-            rst = (spareHeight >= douH) || (spareHeight - douH <= douDiffForCompare);
-        }
-        return rst;
-    }
-};
-
-module.exports = JpcFlowTabHelper;

+ 0 - 14
protect/rpt_component/helper/Jpc_Helper_Text.js

@@ -1,14 +0,0 @@
-var JV = require('../Jpc_ValueDefine');
-var JpcCommonOutputHelper = require('./Jpc_Helper_CommonOutput');
-var JpcAreaHelper = require('./Jpc_Helper_Area');
-
-var JpcTextHelper = {
-    outputText: function (textNode, band, unitFactor, rows, rowIdx, cols, colIdx, multiCols, multiColIdx) {
-        var rst = JpcCommonOutputHelper.createCommonOutput(textNode, textNode[JV.PROP_LABEL], null);
-        //position
-        rst[JV.PROP_AREA] = JpcAreaHelper.outputArea(textNode[JV.PROP_AREA], band, unitFactor, rows, rowIdx, cols, colIdx, multiCols, multiColIdx, false, false);
-        return rst;
-    }
-};
-
-module.exports = JpcTextHelper;

+ 0 - 85
server.js

@@ -1,85 +0,0 @@
-var express = require('express');
-var app = express();
-
-var _rootDir = __dirname;
-var protectDir = _rootDir + '/protect/';
-
-app.use(express.static(_rootDir));
-
-var bodyParser = require('body-parser');
-app.use(bodyParser.urlencoded({extended: false}));
-app.use(bodyParser.json());
-
-var reportController = require(protectDir + 'controllers/reportController');
-var cacheController = require(protectDir + 'controllers/cacheController');
-var billController = require(protectDir + 'controllers/billController');
-var projectController = require(protectDir + 'controllers/projectController');
-
-//注册路由
-app.get('/', function(req, res){
-	res.sendFile(_rootDir+'/src/RptHome.html');
-});
-
-app.get('/schome', function(req, res){
-	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.get('/standalonedemo', function(req, res){
-	res.sendFile(_rootDir+'/src/standalone.html');
-});
-
-app.get('/spreadjsdemo', function(req, res){
-	res.sendFile(_rootDir+'/src/SpreadJsDemo.html');
-});
-
-app.get('/localtest', function(req, res){
-	res.sendFile(_rootDir+'/src/localTest.html');
-});
-
-app.get('/zaojiashutest', function(req, res){
-	res.sendFile(_rootDir+'/src/ZaoJiaShuTest.html');
-});
-
-app.get('/zaojiashu', function(req, res){
-	res.sendFile(_rootDir+'/src/zaojiashu.html');
-});
-
-app.post('/report/', function(req, res, next){
-	console.log(req.body['tpl_id']);
-	res.setHeader("Access-Control-Allow-Origin", "*");
-	res.json({"success":"1", "tpl_id": req.body['tpl_id'], "pageSize": req.body['pageSize']});
-});
-
-var apiRouter = express.Router();
-
-apiRouter.post('/getReport', reportController.getReportAllPages);
-apiRouter.post('/setDftCache', cacheController.setReportDefaultCache);
-apiRouter.post('/getBills', billController.getAllBills);
-apiRouter.post('/getConstructBills', billController.getAll_Construct);
-
-apiRouter.post('/setProjects', projectController.saveProjects);
-apiRouter.post('/getProjects', projectController.getProjectsByUserId);
-apiRouter.post('/updateProjects', projectController.updateProject);
-
-apiRouter.post('/testCalculateBills', billController.testCalculate2);
-
-app.use('/api', apiRouter);
-
-
-app.use(function(req, res, next) {
-	res.status(404).sendFile(_rootDir+'/src/404.html');
-});
-app.use(function(err, req, res, next) {
-	console.error(err.stack);
-	res.status(500).send('500 Error');
-});
-
-app.listen(3010);

+ 0 - 12
src/404.html

@@ -1,12 +0,0 @@
-<!doctype html>
-<html ng-app="Report">
-<head>
-    <meta charset="utf-8">
-    <title>404 Error</title>
-</head>
-
-<body>
-    404 Error!
-</body>
-
-</html>

+ 0 - 202
src/BillsDemo.html

@@ -1,202 +0,0 @@
-<!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/main.css">
-    <link rel="stylesheet" href="src/css/font-awesome/font-awesome.min.css">
-    <link rel="stylesheet" href="src/css/cust_flex_grid.css">
-    <!--
-    <link rel="stylesheet" href="src/css/bootstrap/themes.css">
-    -->
-
-    <!-- app scripts and styles -->
-</head>
-<script src="/src/lib/jquery-1.9.1.min.js"></script>
-<script type="text/javascript" src="/src/wijmo/controls/wijmo.min.js"></script>
-<link href="/src/wijmo/styles/wijmo.min.css" rel="stylesheet"/>
-
-<script type="text/javascript" src="/src/wijmo/controls/wijmo.grid.min.js"></script>
-<script type="text/javascript" src="/src/wijmo/controls/wijmo.grid.sheet.min.js"></script>
-<script type="text/javascript" src="/src/scripts/treeDataHelper.js"></script>
-<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>
-        <input type="button" value="新增" onclick="billOperation('insert')"/>
-        <input type="button" value="删除" onclick="billOperation('remove')"/>
-        <input type="button" value="升级" onclick="billOperation('upgrade')"/>
-        <input type="button" value="降级" onclick="billOperation('downgrade')"/>
-        <input type="button" value="上移" onclick="billOperation('moveup')"/>
-        <input type="button" value="下移" onclick="billOperation('movedown')"/>
-    </div>
-    <div id="theGrid" style="width:100%; height:600px;" class="custom-flex-grid"></div>
-    <p>测试 FlexSheet 控件:</p>
-    <div id="flexsheet" 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',
-            data: {"user_id": ""},
-            cache: false,
-            timeout: 10000,
-            success: function(result){
-                //var data = result.data;
-                var data = result.data.slice(0);
-                for (var i = 0; i < data.length; i++) {
-                    data[i]["chk"] = (i%2 == 0);
-                }
-                tree_Data_Helper.sortDataBySerial(data);
-                //*
-                buildGrid(tree_Data_Helper.buildTreeData(data));
-                /*/
-                 buildNormalGrid(data);
-                //*/
-                //buildSheet(data);
-            },
-            error: function(jqXHR, textStatus, errorThrown){
-                alert('没有清单!');
-                //or create local default cache...
-            }
-        });
-    });
-
-    function billOperation(opr) {
-        switch (opr) {
-            case  'insert':
-                break;
-            case  'remove':
-                break;
-            case  'upgrade':
-                break;
-            case  'downgrade':
-                break;
-            case  'moveup':
-                break;
-            case  'movedown':
-                break;
-        }
-    }
-
-    function buildNormalGrid(data) {
-        var grid = new wijmo.grid.FlexGrid('#theGrid',
-                {
-                    autoGenerateColumns: false,
-                    columns: buildColumns(),
-                    selectionMode: wijmo.grid.SelectionMode.ListBox
-                }
-        );
-        grid.itemFormatter = function(panel, r, c, cell) {
-            if (wijmo.grid.CellType.Cell == panel.cellType) {
-                var col = panel.columns[c];
-                if (col.name == 'button') {
-                    var html = '<div>' +
-                            '  ' +
-                            '<button class="btn btn-default btn-sm" onclick="editRow(' + r + ' )">' +
-                            '<span class="glyphicon glyphicon-pencil"></span> Edit' +
-                            '</button>' +
-                            '</div>';
-                    cell.innerHTML = html;
-                }
-            } else if (wijmo.grid.CellType.ColumnHeader == panel.cellType) {
-                cell.style["text-align"] = "center";
-                cell.onclick = function() {selectCol(grid, c)};
-            } else if (wijmo.grid.CellType.RowHeader == panel.cellType) {
-                cell.innerHTML = r + 1;
-                cell.style["font-weight"] = "normal";
-            } else if (wijmo.grid.CellType.TopLeft == panel.cellType) {
-                cell.innerHTML = "^_^";
-            }
-        }
-        grid.itemsSource = data;
-    }
-
-    function buildGrid(treeData) {
-        // create the grid
-        var grid = new wijmo.grid.FlexGrid('#theGrid');
-        // populate the grid and set childItemsPath to show data hierarchically
-        grid.childItemsPath = 'items';
-        grid.itemFormatter = function(panel, r, c, cell) {
-            if (wijmo.grid.CellType.Cell == panel.cellType) {
-                var col = panel.columns[c];
-                panel.rows[r].isReadOnly = false;
-            } else if (wijmo.grid.CellType.ColumnHeader == panel.cellType) {
-                cell.style["text-align"] = "center";
-                cell.onclick = function() {selectCol(grid, c)};
-            } else if (wijmo.grid.CellType.RowHeader == panel.cellType) {
-                cell.innerHTML = r + 1;
-                cell.style["font-weight"] = "normal";
-            } else if (wijmo.grid.CellType.TopLeft == panel.cellType) {
-                cell.innerHTML = "^_^";
-            }
-        }
-        grid.initialize({
-            autoGenerateColumns: false,
-            columns: buildColumns(),
-            itemsSource: treeData,                             // hierarchical data
-            childItemsPath: 'items'                                // set hierarchy path
-        });
-        //grid.collapseGroupsToLevel(1);
-    }
-
-    function buildColumns() {
-        var rst = [
-            { header: '项目节', name: "", binding: 'Code', allowSorting: false, width: 160 },
-            { header: '清单子目号', name: "", binding: 'B_Code', allowSorting: false, width: 160 },
-            { header: '名称', name: "", binding: 'Name', allowSorting: false, width: 380 },
-            { header: '单位', name: "", binding: 'Units', allowSorting: false, align: 'Center', width: 100 },
-            { header: '清单数量', name: "", binding: 'Quantity', allowSorting: false, align: 'Right', width: 100 },
-            { header: '设计数量1', name: "", binding: 'DesignQuantity', allowSorting: false, align: 'Right', width: 100 },
-            { header: '设计数量2', name: "", binding: 'DesignQuantity2', allowSorting: false, align: 'Right', width: 100 },
-            { header: '清单单价', name: "", binding: 'UnitPrice', allowSorting: false, align: 'Right', width: 100 },
-            { header: '经济指标', name: "", binding: "DesignPrice", allowSorting: false, width: 100 },
-            { header: '金额', name: "", binding: "TotalPrice", allowSorting: false, width: 100 },
-            { header: '备注', name: "", binding: "Memostr", allowSorting: false, width: 200 },
-            //{ header: ' ', name: "button", binding: "button", allowSorting: false, width: 100 },
-            { header: ' ', name: "check", binding: "chk", allowSorting: false, width: 100 }
-        ];
-        return rst;
-    }
-
-    function selectCol(grid, colIdx) {
-        if (grid.rows.length > 0) {
-            grid.selection = new wijmo.grid.CellRange(0, colIdx, grid.rows.length - 1, colIdx);
-        }
-    }
-
-    function buildSheet(sheetData) {
-        var flex = new wijmo.grid.sheet.FlexSheet('#flexsheet');
-        flex.addUnboundSheet('Empty Sheet');
-        flex.selectedSheetIndex = 0;
-    }
-
-</script>
-</html>

+ 0 - 963
src/ExcelConverter/ExcelConverter.js

@@ -1,963 +0,0 @@
-var wijmo;
-(function (wijmo) {
-    (function (_grid) {
-        'use strict';
-
-        /**
-        * ExcelConverter class provides function exporting FlexGrid to xlsx file
-        * and importing xlsx file to FlexGrid.
-        */
-        var ExcelConverter = (function () {
-            function ExcelConverter() {
-            }
-            /**
-            * export the FlexGrid to xlsx file
-            *
-            * @param flex the FlexGrid need be exported to xlsx file
-            * @param convertOption the options for exporting.
-            */
-            ExcelConverter.export = function (flex, convertOption) {
-                if (typeof convertOption === "undefined") { convertOption = { includeColumnHeader: true }; }
-                var file, result;
-
-                file = this.parseFlexGridToCommonFormat(flex, convertOption);
-                result = xlsx(file);
-
-                result.base64Array = this._base64DecToArr(result.base64);
-
-                return result;
-            };
-
-            /**
-            * import the xlsx file
-            *
-            * @param file the base64 string converted from xlsx file
-            * @param flex the Flex Grid need bind the data import from xlsx file
-            * @param convertOption the options for importing.
-            * @param moreSheets flexgrid array for importing multiple sheets of the excel file.
-            */
-            ExcelConverter.import = function (file, flex, convertOption, moreSheets) {
-                if (typeof convertOption === "undefined") { convertOption = { includeColumnHeader: true }; }
-                var fileData = this._base64EncArr(new Uint8Array(file)), fileObj = xlsx(fileData);
-
-                this.parseCommonFormatToFlexGrid(fileObj, flex, convertOption, moreSheets);
-            };
-
-            /**
-            * Parse the flexgrid to common format of xlsx file.
-            *
-            * @param flex the FlexGrid need be parsed to  common format of xlsx file
-            * @param convertOption the options for exporting.
-            */
-            ExcelConverter.parseFlexGridToCommonFormat = function (flex, convertOption) {
-                if (typeof convertOption === "undefined") { convertOption = { includeColumnHeader: true }; }
-                var file = {
-                    sheets: [],
-                    creator: 'Mike Lu',
-                    created: new Date(),
-                    lastModifiedBy: 'Mike Lu',
-                    modified: new Date(),
-                    activeWorksheet: 0
-                }, index, grid;
-
-                if (wijmo.isArray(flex)) {
-                    for (index = 0; index < flex.length; index++) {
-                        grid = flex[index];
-
-                        // export the FlexGrid to xlsx.
-                        this._exportFlexGrid(grid, file, convertOption);
-                    }
-                } else {
-                    this._exportFlexGrid(flex, file, convertOption);
-                }
-
-                return file;
-            };
-
-            /**
-            * Parse the common format of the xlsx file to flexgrid.
-            *
-            * @param fileObj the common format of the xlsx file.
-            * @param flex the Flex Grid need bind the data import from xlsx file.
-            * @param convertOption the options for importing.
-            * @param moreSheets flexgrid array for importing multiple sheets of the excel file.
-            */
-            ExcelConverter.parseCommonFormatToFlexGrid = function (fileObj, flex, convertOption, moreSheets) {
-                if (typeof convertOption === "undefined") { convertOption = { includeColumnHeader: true }; }
-                var currentIncludeRowHeader = convertOption.includeColumnHeader, sheetCount = 1, sheetIndex = 0, c = 0, r = 0, columns, columnSetting, column, columnHeader, sheetHeaders, sheetHeader, headerForamt, row, currentSheet, columnCount, isGroupHeader, item, nextRowIdx, nextRow, summaryBelow, groupRow, frozenColumns, frozenRows, formula, flexHostElement, cellIndex, cellStyle, styledCells, excelThemes, mergedRange, fonts, valType, textAlign, groupCollapsed = false;
-
-                flex.columns.clear();
-                flex.rows.clear();
-                flex.frozenColumns = 0;
-                flex.frozenRows = 0;
-
-                if (fileObj.sheets.length === 0) {
-                    return;
-                }
-
-                excelThemes = fileObj.themes;
-
-                if (moreSheets) {
-                    sheetCount = fileObj.sheets.length;
-                }
-
-                for (; sheetIndex < sheetCount; sheetIndex++) {
-                    styledCells = {};
-                    mergedRange = {};
-                    r = 0;
-                    columns = [];
-                    fonts = [];
-                    currentSheet = fileObj.sheets[sheetIndex];
-
-                    if (convertOption.includeColumnHeader) {
-                        r = 1;
-                        if (currentSheet.rows.length <= 1) {
-                            currentIncludeRowHeader = false;
-                            r = 0;
-                        }
-                        sheetHeaders = currentSheet.rows[0];
-                    }
-                    columnCount = this._getColumnCount(currentSheet.rows);
-                    summaryBelow = currentSheet.summaryBelow;
-
-                    if (sheetIndex > 0) {
-                        flexHostElement = document.createElement('div');
-                        flex = new _grid.FlexGrid(flexHostElement);
-                    }
-
-                    for (c = 0; c < columnCount; c++) {
-                        flex.columns.push(new wijmo.grid.Column());
-                        if (!!currentSheet.cols[c]) {
-                            if (!isNaN(currentSheet.cols[c].width)) {
-                                flex.columns[c].width = currentSheet.cols[c].width * 6;
-                            }
-
-                            if (!currentSheet.cols[c].visible && currentSheet.cols[c].visible != undefined) {
-                                flex.columns[c].visible = !!currentSheet.cols[c].visible;
-                            }
-                        }
-                    }
-
-                    for (; r < currentSheet.rows.length; r++) {
-                        isGroupHeader = false;
-                        row = currentSheet.rows[r];
-
-                        if (row) {
-                            nextRowIdx = r + 1;
-                            while (nextRowIdx < currentSheet.rows.length) {
-                                nextRow = currentSheet.rows[nextRowIdx];
-                                if (nextRow) {
-                                    if ((isNaN(row.groupLevel) && !isNaN(nextRow.groupLevel)) || (!isNaN(row.groupLevel) && row.groupLevel < nextRow.groupLevel)) {
-                                        isGroupHeader = true;
-                                    }
-                                    break;
-                                } else {
-                                    nextRowIdx++;
-                                }
-                            }
-                        }
-
-                        if (isGroupHeader && !summaryBelow) {
-                            groupRow = new _grid.GroupRow();
-                            groupCollapsed = row.collapsed;
-                            groupRow.level = isNaN(row.groupLevel) ? 0 : row.groupLevel;
-                            flex.rows.push(groupRow);
-                        } else {
-                            flex.rows.push(new _grid.Row());
-                        }
-
-                        if (row && !!row.height && !isNaN(row.height)) {
-                            flex.rows[currentIncludeRowHeader ? r - 1 : r].height = row.height * 96 / 72;
-                        }
-
-                        for (c = 0; c < columnCount; c++) {
-                            if (!row) {
-                                flex.setCellData(currentIncludeRowHeader ? r - 1 : r, c, '');
-                                this._setColumn(columns, c, undefined);
-                            } else {
-                                item = row.cells[c];
-                                formula = item ? item.formula : undefined;
-                                if (formula && formula[0] !== '=') {
-                                    formula = '=' + formula;
-                                }
-                                formula = formula ? this._parseFlexSheetFormula(formula) : undefined;
-                                flex.setCellData(currentIncludeRowHeader ? r - 1 : r, c, formula && moreSheets ? formula : this._getItemValue(item));
-                                if (!isGroupHeader && item && item.value != null && item.value !== '') {
-                                    this._setColumn(columns, c, item);
-                                }
-
-                                // Set styles for the cell in current processing sheet.
-                                cellIndex = r * columnCount + c;
-                                cellStyle = item ? item.style : undefined;
-                                if (cellStyle) {
-                                    valType = this._getItemType(item);
-                                    if (cellStyle.hAlign) {
-                                        textAlign = cellStyle.hAlign;
-                                    } else {
-                                        switch (valType) {
-                                            case 2 /* Number */:
-                                                textAlign = 'right';
-                                                break;
-                                            case 3 /* Boolean */:
-                                                textAlign = 'center';
-                                                break;
-                                            default:
-                                                textAlign = 'left';
-                                                break;
-                                        }
-                                    }
-                                    styledCells[cellIndex] = {
-                                        fontWeight: cellStyle.font && cellStyle.font.bold ? 'bold' : 'none',
-                                        fontStyle: cellStyle.font && cellStyle.font.italic ? 'italic' : 'none',
-                                        textDecoration: cellStyle.font && cellStyle.font.underline ? 'underline' : 'none',
-                                        textAlign: textAlign,
-                                        fontFamily: cellStyle.font && cellStyle.font.family ? cellStyle.font.family : '',
-                                        fontSize: cellStyle.font && cellStyle.font.size ? Math.round(+cellStyle.font.size * 96 / 72) + 'px' : '',
-                                        color: cellStyle.font ? this._parseExcelColor(cellStyle.font.color, excelThemes) : '',
-                                        backgroundColor: cellStyle.fill && cellStyle.fill.color ? this._parseExcelColor(cellStyle.fill.color, excelThemes) : ''
-                                    };
-                                    if (cellStyle.font && fonts.indexOf(cellStyle.font.family) === -1) {
-                                        fonts.push(cellStyle.font.family);
-                                    }
-                                }
-
-                                // Get merged cell ranges.
-                                if (item && wijmo.isNumber(item.rowSpan) && wijmo.isNumber(item.colSpan)) {
-                                    for (var i = r; i < r + item.rowSpan; i++) {
-                                        for (var j = c; j < c + item.colSpan; j++) {
-                                            cellIndex = i * columnCount + j;
-                                            mergedRange[cellIndex] = new _grid.CellRange(r, c, r + item.rowSpan - 1, c + item.colSpan - 1);
-                                        }
-                                    }
-                                }
-                            }
-                        }
-
-                        if (!groupCollapsed && row && !row.visible && row.visible != undefined) {
-                            flex.rows[currentIncludeRowHeader ? r - 1 : r].visible = row.visible;
-                        }
-                    }
-
-                    if (currentSheet.frozenPane) {
-                        frozenColumns = currentSheet.frozenPane.columns;
-                        if (wijmo.isNumber(frozenColumns) && !isNaN(frozenColumns)) {
-                            flex.frozenColumns = frozenColumns;
-                        }
-
-                        frozenRows = currentSheet.frozenPane.rows;
-                        if (wijmo.isNumber(frozenRows) && !isNaN(frozenRows)) {
-                            flex.frozenRows = currentIncludeRowHeader && frozenRows > 0 ? frozenRows - 1 : frozenRows;
-                        }
-                    }
-
-                    for (c = 0; c < flex.columnHeaders.columns.length; c++) {
-                        columnSetting = columns[c];
-                        column = flex.columns[c];
-                        if (currentIncludeRowHeader) {
-                            sheetHeader = sheetHeaders ? sheetHeaders.cells[c] : undefined;
-                            if (sheetHeader && sheetHeader.value) {
-                                headerForamt = this._parseExcelFormat(sheetHeader);
-                                columnHeader = wijmo.Globalize.format(sheetHeader.value, headerForamt);
-                            } else {
-                                columnHeader = this._numAlpha(c);
-                            }
-                        } else {
-                            columnHeader = this._numAlpha(c);
-                        }
-                        column.header = columnHeader;
-                        if (columnSetting) {
-                            if (columnSetting.dataType) {
-                                column.dataType = columnSetting.dataType;
-                            }
-                            column.format = columnSetting.format;
-                        }
-                    }
-
-                    // Set sheet related info for importing.
-                    // This property contains the name, style of cells, merge cells and used fonts of current sheet.
-                    if (moreSheets) {
-                        flex['wj_sheetInfo'] = {
-                            name: currentSheet.name,
-                            styledCells: styledCells,
-                            mergedRange: mergedRange,
-                            fonts: fonts
-                        };
-                    }
-
-                    if (sheetIndex === 0) {
-                        flex['styledCells'] = styledCells;
-                        flex['mergedRange'] = mergedRange;
-                    }
-
-                    if (moreSheets && sheetIndex > 0) {
-                        moreSheets.push(flex);
-                    }
-                }
-            };
-
-            // export the flexgrid to excel file
-            ExcelConverter._exportFlexGrid = function (flex, file, convertOption) {
-                var worksheetData = [], columnSettings = [], workSheet = {
-                    name: '',
-                    cols: [],
-                    rows: [],
-                    frozenPane: {},
-                    summaryBelow: false
-                }, groupLevel = 0, worksheetDataHeader, rowHeight, column, row, groupRow, isGroupRow, value, columnSetting, ri, ci, sheetInfo, fakeCell, headerCellStyle;
-
-                // Set sheet name for the exporting sheet.
-                sheetInfo = flex['wj_sheetInfo'];
-                workSheet.name = sheetInfo ? sheetInfo.name : '';
-
-                if (!sheetInfo) {
-                    fakeCell = document.createElement('div'), fakeCell.style.visibility = 'hidden';
-                    flex.hostElement.appendChild(fakeCell);
-                    headerCellStyle = this._getCellStyle(flex, fakeCell, 0, 0, "columnHeaders") || {};
-                }
-
-                // add the headers in the worksheet.
-                if (convertOption.includeColumnHeader && flex.columnHeaders.rows.length > 0) {
-                    for (ri = 0; ri < flex.columnHeaders.rows.length; ri++) {
-                        worksheetDataHeader = {
-                            visible: true,
-                            cells: []
-                        };
-                        rowHeight = flex.columnHeaders.rows[ri].height;
-                        if (rowHeight) {
-                            rowHeight = rowHeight * 72 / 96;
-                        }
-                        worksheetDataHeader.height = rowHeight;
-                        worksheetDataHeader.visible = true;
-
-                        for (ci = 0; ci < flex.columnHeaders.columns.length; ci++) {
-                            column = flex.columnHeaders.columns[ci];
-                            value = flex.columnHeaders.getCellData(ri, ci, true);
-
-                            if (ri === 0) {
-                                columnSetting = this._getColumnSetting(column, flex.columnHeaders.columns.defaultSize);
-                                columnSettings.push(columnSetting);
-                            }
-
-                            worksheetDataHeader.cells.push({
-                                value: value,
-                                style: this._extend(this._parseCellStyle(headerCellStyle), {
-                                    font: {
-                                        bold: true
-                                    },
-                                    hAlign: columnSetting.style.hAlign
-                                })
-                            });
-                        }
-                        worksheetData.push(worksheetDataHeader);
-                    }
-                } else {
-                    for (ci = 0; ci < flex.columnHeaders.columns.length; ci++) {
-                        column = flex.columnHeaders.columns[ci];
-
-                        columnSetting = this._getColumnSetting(column, flex.columnHeaders.columns.defaultSize);
-                        columnSettings.push(columnSetting);
-                    }
-                }
-                workSheet.cols = columnSettings;
-
-                for (ri = 0; ri < flex.cells.rows.length; ri++) {
-                    row = flex.rows[ri];
-                    isGroupRow = row instanceof _grid.GroupRow;
-
-                    if (isGroupRow) {
-                        groupRow = wijmo.tryCast(row, _grid.GroupRow);
-                        groupLevel = groupRow.level + 1;
-                    }
-
-                    worksheetData.push(this._parseFlexGridRowToSheetRow(flex, row, ri, columnSettings, convertOption.includeColumnHeader, isGroupRow, groupLevel));
-                }
-
-                workSheet.rows = worksheetData;
-                workSheet.frozenPane = {
-                    rows: convertOption.includeColumnHeader ? (flex.frozenRows + flex.columnHeaders.rows.length) : flex.frozenRows,
-                    columns: flex.frozenColumns
-                };
-
-                file.sheets.push(workSheet);
-
-                if (!sheetInfo) {
-                    // done with style element
-                    flex.hostElement.removeChild(fakeCell);
-                }
-            };
-
-            // Parse the row data of flex grid to a sheet row
-            ExcelConverter._parseFlexGridRowToSheetRow = function (flex, row, rowIndex, columnSettings, includeColumnHeader, isGroupRow, groupLevel) {
-                var rowHeight = row.height, worksheetDataItem, columnSetting, format, val, unformattedVal, groupHeader, isFormula, cellIndex, cellStyle, mergedCells, rowSpan, colSpan, sheetInfo, isCommonRow, fakeCell;
-
-                sheetInfo = flex['wj_sheetInfo'];
-
-                worksheetDataItem = {
-                    visible: true,
-                    cells: []
-                };
-
-                if (rowHeight) {
-                    rowHeight = rowHeight * 72 / 96;
-                }
-                worksheetDataItem.visible = row.visible;
-                worksheetDataItem.height = rowHeight;
-                worksheetDataItem.groupLevel = isGroupRow ? (groupLevel - 1) : groupLevel;
-
-                isCommonRow = row.constructor === wijmo.grid.Row || row.constructor === wijmo.grid._NewRowTemplate || row.constructor === wijmo.grid.detail.DetailRow;
-
-                if (!sheetInfo) {
-                    fakeCell = document.createElement('div'), fakeCell.style.visibility = 'hidden';
-                    flex.hostElement.appendChild(fakeCell);
-                }
-
-                for (var ci = 0; ci < flex.columnHeaders.columns.length; ci++) {
-                    colSpan = 1;
-                    rowSpan = 1;
-                    if (sheetInfo) {
-                        cellIndex = rowIndex * flex.columns.length + ci;
-
-                        // Get merge range for cell.
-                        if (sheetInfo.mergedRange) {
-                            mergedCells = sheetInfo.mergedRange[cellIndex];
-                        }
-
-                        // Get style for cell.
-                        if (sheetInfo.styledCells) {
-                            cellStyle = sheetInfo.styledCells[cellIndex];
-                        }
-                    } else {
-                        cellStyle = this._getCellStyle(flex, fakeCell, rowIndex, ci) || {};
-                    }
-
-                    if (mergedCells) {
-                        if (rowIndex === mergedCells.topRow && ci === mergedCells.leftCol) {
-                            rowSpan = mergedCells.bottomRow - mergedCells.topRow + 1;
-                            colSpan = mergedCells.rightCol - mergedCells.leftCol + 1;
-                        } else {
-                            continue;
-                        }
-                    }
-
-                    columnSetting = columnSettings[ci];
-                    if (isCommonRow || isGroupRow) {
-                        val = flex.getCellData(rowIndex, ci, true);
-                        unformattedVal = flex.getCellData(rowIndex, ci, false);
-                        isFormula = val && wijmo.isString(val) && val.length > 1 && val[0] === '=';
-                        format = columnSetting.style.format;
-                        if (!format) {
-                            if (wijmo.isDate(unformattedVal)) {
-                                format = 'm/d/yyyy';
-                            } else if (wijmo.isNumber(unformattedVal) && !wijmo.isInt(unformattedVal)) {
-                                format = this._formatMap['n'];
-                            } else if (wijmo.isInt(unformattedVal)) {
-                                if (unformattedVal.toString() === val) {
-                                    format = '#,##0';
-                                } else {
-                                    format = 'General';
-                                }
-                            }
-                        }
-                    } else {
-                        val = flex.columnHeaders.getCellData(0, ci, true);
-                        format = 'General';
-                    }
-
-                    if (isGroupRow && row['hasChildren'] && ci === flex.columns.firstVisibleIndex) {
-                        // Process the group header of the flex grid.
-                        if (val) {
-                            groupHeader = val;
-                        } else {
-                            groupHeader = row.dataItem && row.dataItem.groupDescription ? row.dataItem.groupDescription.propertyName + ': ' + row.dataItem.name + ' (' + row.dataItem.items.length + ' items)' : '';
-                        }
-
-                        worksheetDataItem.cells.push({
-                            value: groupHeader,
-                            formula: isFormula ? this._parseExcelFormula(val) : null,
-                            colSpan: colSpan,
-                            rowSpan: rowSpan,
-                            style: this._extend(this._parseCellStyle(cellStyle), {
-                                formatCode: format,
-                                originalFormat: columnSetting.style.format,
-                                font: {
-                                    bold: true
-                                },
-                                hAlign: 'left',
-                                indent: groupLevel - 1
-                            })
-                        });
-                    } else {
-                        // Add the cell content
-                        worksheetDataItem.cells.push({
-                            value: format === 'General' ? val : unformattedVal,
-                            formula: isFormula ? this._parseExcelFormula(val) : null,
-                            colSpan: colSpan,
-                            rowSpan: rowSpan,
-                            style: this._extend(this._parseCellStyle(cellStyle), {
-                                formatCode: format,
-                                originalFormat: columnSetting.style.format,
-                                hAlign: cellStyle && cellStyle.textAlign ? undefined : wijmo.isDate(unformattedVal) && columnSetting.style.hAlign === '' ? 'left' : columnSetting.style.hAlign
-                            })
-                        });
-                    }
-                }
-
-                if (!sheetInfo) {
-                    // done with style element
-                    flex.hostElement.removeChild(fakeCell);
-                }
-
-                return worksheetDataItem;
-            };
-
-            // Parse css style to Excel style.
-            // To jcc: you may merge your changes here.
-            ExcelConverter._parseCellStyle = function (cellStyle) {
-                var fontSize = cellStyle && cellStyle.fontSize ? +cellStyle.fontSize.substring(0, cellStyle.fontSize.indexOf('px')) : 14;
-
-                // We should parse the font size from pixel to point for exporting.
-                if (isNaN(fontSize)) {
-                    fontSize = 10;
-                } else {
-                    fontSize = Math.round(fontSize * 72 / 96);
-                }
-
-                return {
-                    font: {
-                        bold: cellStyle && cellStyle.fontWeight && cellStyle.fontWeight === 'bold',
-                        italic: cellStyle && cellStyle.fontStyle && cellStyle.fontStyle === 'italic',
-                        underline: cellStyle && cellStyle.textDecoration && cellStyle.textDecoration === 'underline',
-                        family: cellStyle ? this._parseExcelFontFamily(cellStyle.fontFamily) : 'Arial',
-                        size: fontSize,
-                        color: cellStyle && cellStyle.color ? cellStyle.color : ''
-                    },
-                    fill: {
-                        color: cellStyle && cellStyle.backgroundColor ? cellStyle.backgroundColor : ''
-                    },
-                    hAlign: cellStyle && cellStyle.textAlign
-                };
-            };
-
-            // Parse the cell format of flex grid to excel format.
-            ExcelConverter._parseCellFormat = function (format) {
-                var dec = -1, fisrtFormatChar = format[0], mapFormat = this._formatMap[fisrtFormatChar], currencySymbol = wijmo.culture.Globalize.numberFormat.currency.symbol, decimalArray = [], xlsxFormat;
-
-                if (!mapFormat) {
-                    return 'General';
-                }
-
-                if (fisrtFormatChar === 'c') {
-                    mapFormat = mapFormat.replace(/\{0\}/g, currencySymbol);
-                }
-
-                if (format.length > 1) {
-                    dec = parseInt(format.substr(1));
-                    if (dec === 0) {
-                        return mapFormat.replace(/\.00/g, '');
-                    }
-                }
-
-                if (!isNaN(dec)) {
-                    for (var i = 0; i < dec; i++) {
-                        decimalArray.push(0);
-                    }
-                }
-
-                if (decimalArray.length > 0) {
-                    xlsxFormat = mapFormat.replace(/\.00/g, '.' + decimalArray.join(''));
-                } else {
-                    if (mapFormat) {
-                        xlsxFormat = mapFormat;
-                    } else {
-                        xlsxFormat = format.replace(/tt/, 'AM/PM');
-                    }
-                }
-
-                return xlsxFormat;
-            };
-
-            // parse the basic excel format to js format
-            ExcelConverter._parseExcelFormat = function (item) {
-                if (item === undefined || item === null || item.value === undefined || item.value === null || isNaN(item.value)) {
-                    return undefined;
-                }
-
-                var formatCode = item.style && item.style.formatCode ? item.style.formatCode : '', currencySymbol = wijmo.culture.Globalize.numberFormat.currency.symbol, format = '', lastDotIndex;
-
-                if (wijmo.isDate(item.value)) {
-                    if (!formatCode || formatCode === 'General') {
-                        return 'M/d/yyyy';
-                    }
-                    format = formatCode.replace(/&quot;/g, '').replace(/;@/g, '').replace(/\[\$\-.+\]/g, '').replace(/AM\/PM/gi, 'tt').replace(/\\[\-\s,]/g, function (str) {
-                        return str.substring(1);
-                    }).replace(/m+:?|:?m+/g, function (str) {
-                        if (str.indexOf(':') > -1) {
-                            return str;
-                        } else {
-                            return str.toUpperCase();
-                        }
-                    });
-                } else if (wijmo.isNumber(item.value)) {
-                    if (!formatCode || formatCode === 'General') {
-                        return item.value === Math.round(item.value) ? 'd' : 'f2';
-                    }
-                    lastDotIndex = formatCode.lastIndexOf('.');
-                    if (formatCode.indexOf(currencySymbol) > -1 || formatCode.indexOf('$') > -1) {
-                        format = 'c';
-                    } else if (formatCode[formatCode.length - 1] === '%') {
-                        format = 'p';
-                    } else {
-                        format = 'n';
-                    }
-
-                    if (lastDotIndex > -1) {
-                        format += formatCode.substring(lastDotIndex, formatCode.lastIndexOf('0')).length;
-                    } else {
-                        format += '0';
-                    }
-                } else {
-                    format = formatCode;
-                }
-
-                return format;
-            };
-
-            // Parse the css font family to excel font family.
-            ExcelConverter._parseExcelFontFamily = function (fontFamily) {
-                var firstQuotesIndex, lastQuotesIndex;
-
-                if (fontFamily) {
-                    firstQuotesIndex = fontFamily.indexOf('"');
-                    lastQuotesIndex = fontFamily.lastIndexOf('"');
-
-                    if (firstQuotesIndex > -1 && firstQuotesIndex !== lastQuotesIndex) {
-                        fontFamily = fontFamily.substring(firstQuotesIndex + 1, lastQuotesIndex);
-                    }
-                } else {
-                    fontFamily = 'Arial';
-                }
-                return fontFamily;
-            };
-
-            // Parse the excel color to css color.
-            ExcelConverter._parseExcelColor = function (color, excelThemes) {
-                var parsedColor = '';
-
-                if (!color) {
-                    return parsedColor;
-                }
-
-                if (typeof color === "string") {
-                    return color;
-                }
-
-                switch (color.colorType) {
-                    case 'rgbColor':
-                        parsedColor = '#' + color.value.substring(2);
-                        break;
-                    case 'indexedColor':
-                        parsedColor = '#' + this._indexedColors[color.value];
-                        break;
-                    case 'themeColor':
-                        parsedColor = this._getColorFromExcelTheme(excelThemes[color.theme], color.value);
-                        break;
-                }
-
-                return parsedColor;
-            };
-
-            // Get the color by the excel theme color and value.
-            ExcelConverter._getColorFromExcelTheme = function (themeColor, value) {
-                var numberVal, color, hslArray;
-
-                if (value) {
-                    numberVal = +value;
-                    color = new wijmo.Color('#' + themeColor), hslArray = color.getHsl();
-
-                    // About the tint value and theme color convert to rgb color,
-                    // please refer https://msdn.microsoft.com/en-us/library/documentformat.openxml.spreadsheet.tabcolor.aspx
-                    if (numberVal < 0) {
-                        hslArray[2] = hslArray[2] * (1.0 + numberVal);
-                    } else {
-                        hslArray[2] = hslArray[2] * (1.0 - numberVal) + (1 - 1 * (1.0 - numberVal));
-                    }
-
-                    color = wijmo.Color.fromHsl(hslArray[0], hslArray[1], hslArray[2]);
-                    return color.toString();
-                }
-
-                // if the color value is undefined, we should return the themeColor (TFS 121712)
-                return '#' + themeColor;
-            };
-
-            // Parse the formula to excel formula.
-            ExcelConverter._parseExcelFormula = function (formula) {
-                var func = formula.substring(1, formula.indexOf('(')).toLowerCase(), format;
-
-                switch (func) {
-                    case 'ceiling':
-                    case 'floor':
-                        formula = formula.substring(0, formula.lastIndexOf(')')) + ', 1)';
-                        break;
-                    case 'round':
-                        formula = formula.substring(0, formula.lastIndexOf(')')) + ', 0)';
-                        break;
-                    case 'text':
-                        format = formula.substring(formula.lastIndexOf(','), formula.lastIndexOf('\"'));
-                        format = this._parseCellFormat(format.substring(format.lastIndexOf('\"') + 1));
-                        formula = formula.substring(0, formula.lastIndexOf(',') + 1) + '\"' + format + '\")';
-                        break;
-                }
-                return formula;
-            };
-
-            // Parse the excel formula to flexsheet formula.
-            ExcelConverter._parseFlexSheetFormula = function (excelFormula) {
-                var func = excelFormula.substring(1, excelFormula.indexOf('(')).toLowerCase(), value, format, lowerCaseFormat;
-
-                switch (func) {
-                    case 'ceiling':
-                    case 'floor':
-                    case 'round':
-                        excelFormula = excelFormula.substring(0, excelFormula.lastIndexOf(',')) + ')';
-                        break;
-                    case 'text':
-                        format = excelFormula.substring(excelFormula.indexOf('\"'), excelFormula.lastIndexOf('\"'));
-
-                        // Fix TFS issue 122648
-                        format = format.substring(format.lastIndexOf('\"') + 1);
-                        lowerCaseFormat = format.toLowerCase();
-                        if (lowerCaseFormat.indexOf('0') > -1) {
-                            // For processing number format
-                            value = 0;
-                        } else if (lowerCaseFormat.indexOf('m') > -1) {
-                            // For processing date format
-                            value = new Date();
-                        } else {
-                            // For processing string format
-                            value = '';
-                        }
-                        format = this._parseExcelFormat({
-                            value: value,
-                            style: {
-                                formatCode: format
-                            }
-                        });
-                        format = format.replace(/Y+/g, function (str) {
-                            return str.toLowerCase();
-                        });
-                        excelFormula = excelFormula.substring(0, excelFormula.indexOf('\"') + 1) + format + '\")';
-                        break;
-                }
-                return excelFormula;
-            };
-
-            // Gets the column setting, include width, visible, format and alignment
-            ExcelConverter._getColumnSetting = function (column, defaultWidth) {
-                var width = column.size;
-
-                width = width ? width / 6 : defaultWidth / 6;
-
-                return {
-                    autoWidth: true,
-                    width: width,
-                    visible: column.visible,
-                    style: {
-                        format: column.format ? this._parseCellFormat(column.format) : '',
-                        hAlign: this._toExcelHAlign(column.getAlignment())
-                    }
-                };
-            };
-
-            // Parse the CSS alignment to excel hAlign.
-            ExcelConverter._toExcelHAlign = function (value) {
-                value = value ? value.trim().toLowerCase() : value;
-                if (!value)
-                    return value;
-
-                if (value.indexOf('center') > -1) {
-                    return 'center';
-                }
-
-                if (value.indexOf('right') > -1 || value.indexOf('end') > -1) {
-                    return 'right';
-                }
-
-                if (value.indexOf('justify') > -1) {
-                    return 'justify';
-                }
-
-                return 'left';
-            };
-
-            // gets column count for specific row
-            ExcelConverter._getColumnCount = function (sheetData) {
-                var columnCount = 0, data;
-
-                for (var i = 0; i < sheetData.length; i++) {
-                    data = sheetData[i] ? sheetData[i].cells : [];
-                    if (data && data.length > columnCount) {
-                        columnCount = data.length;
-                    }
-                }
-
-                return columnCount;
-            };
-
-            // convert the column index to alphabet
-            ExcelConverter._numAlpha = function (i) {
-                var t = Math.floor(i / 26) - 1;
-                return (t > -1 ? this._numAlpha(t) : '') + this._alphabet.charAt(i % 26);
-            };
-
-            // Get DataType for value of the specific excel item
-            ExcelConverter._getItemType = function (item) {
-                if (item === undefined || item === null || item.value === undefined || item.value === null || isNaN(item.value)) {
-                    return undefined;
-                }
-
-                return wijmo.getType(item.value);
-            };
-
-            // Set column definition for the Flex Grid
-            ExcelConverter._setColumn = function (columns, columnIndex, item) {
-                var dataType, format;
-                if (!columns[columnIndex]) {
-                    columns.push({
-                        dataType: this._getItemType(item),
-                        format: this._parseExcelFormat(item)
-                    });
-                } else {
-                    dataType = this._getItemType(item);
-                    if (columns[columnIndex].dataType === undefined || (dataType !== undefined && dataType !== 1 /* String */ && columns[columnIndex].dataType === 1 /* String */)) {
-                        columns[columnIndex].dataType = dataType;
-                    }
-
-                    format = this._parseExcelFormat(item);
-                    if (format && format !== 'General') {
-                        columns[columnIndex].format = format;
-                    }
-                }
-            };
-
-            // Get value from the excel cell item
-            ExcelConverter._getItemValue = function (item) {
-                if (item === undefined || item === null || item.value === undefined || item.value === null) {
-                    return undefined;
-                }
-
-                var val = item.value;
-
-                if (wijmo.isNumber(val) && isNaN(val)) {
-                    return '';
-                } else if (val instanceof Date && isNaN(val.getTime())) {
-                    return '';
-                } else {
-                    return val;
-                }
-            };
-
-            // Get style of cell.
-            ExcelConverter._getCellStyle = function (flex, fakeCell, r, c, panel) {
-                if (typeof panel === "undefined") { panel = "cells"; }
-                // create element to get styles
-                var theStyle;
-
-                try  {
-                    // get styles for any panel, row, column
-                    flex.cellFactory.updateCell(flex[panel], r, c, fakeCell);
-                } catch (ex) {
-                    return undefined;
-                }
-
-                theStyle = window.getComputedStyle(fakeCell);
-                return theStyle;
-            };
-
-            // extends the source hash to destination hash
-            ExcelConverter._extend = function (dst, src) {
-                for (var key in src) {
-                    var value = src[key];
-                    if (wijmo.isObject(value) && dst[key]) {
-                        wijmo.copy(dst[key], value); // copy sub-objects
-                    } else {
-                        dst[key] = value; // assign values
-                    }
-                }
-                return dst;
-            };
-
-            // taken from: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Base64_encoding_and_decoding#The_.22Unicode_Problem.22
-            ExcelConverter._b64ToUint6 = function (nChr) {
-                return nChr > 64 && nChr < 91 ? nChr - 65 : nChr > 96 && nChr < 123 ? nChr - 71 : nChr > 47 && nChr < 58 ? nChr + 4 : nChr === 43 ? 62 : nChr === 47 ? 63 : 0;
-            };
-
-            // decode the base64 string to int array
-            ExcelConverter._base64DecToArr = function (sBase64, nBlocksSize) {
-                var sB64Enc = sBase64.replace(/[^A-Za-z0-9\+\/]/g, ""), nInLen = sB64Enc.length, nOutLen = nBlocksSize ? Math.ceil((nInLen * 3 + 1 >> 2) / nBlocksSize) * nBlocksSize : nInLen * 3 + 1 >> 2, taBytes = new Uint8Array(nOutLen);
-
-                for (var nMod3, nMod4, nUint24 = 0, nOutIdx = 0, nInIdx = 0; nInIdx < nInLen; nInIdx++) {
-                    nMod4 = nInIdx & 3;
-                    nUint24 |= this._b64ToUint6(sB64Enc.charCodeAt(nInIdx)) << 18 - 6 * nMod4;
-                    if (nMod4 === 3 || nInLen - nInIdx === 1) {
-                        for (nMod3 = 0; nMod3 < 3 && nOutIdx < nOutLen; nMod3++, nOutIdx++) {
-                            taBytes[nOutIdx] = nUint24 >>> (16 >>> nMod3 & 24) & 255;
-                        }
-                        nUint24 = 0;
-                    }
-                }
-                return taBytes;
-            };
-
-            // taken from https://developer.mozilla.org/en-US/docs/Web/API/WindowBase64/Base64_encoding_and_decoding
-            /* Base64 string to array encoding */
-            ExcelConverter._uint6ToB64 = function (nUint6) {
-                return nUint6 < 26 ? nUint6 + 65 : nUint6 < 52 ? nUint6 + 71 : nUint6 < 62 ? nUint6 - 4 : nUint6 === 62 ? 43 : nUint6 === 63 ? 47 : 65;
-            };
-
-            ExcelConverter._base64EncArr = function (aBytes) {
-                var nMod3 = 2, sB64Enc = "";
-
-                for (var nLen = aBytes.length, nUint24 = 0, nIdx = 0; nIdx < nLen; nIdx++) {
-                    nMod3 = nIdx % 3;
-                    if (nIdx > 0 && (nIdx * 4 / 3) % 76 === 0) {
-                        sB64Enc += "\r\n";
-                    }
-                    nUint24 |= aBytes[nIdx] << (16 >>> nMod3 & 24);
-                    if (nMod3 === 2 || aBytes.length - nIdx === 1) {
-                        sB64Enc += String.fromCharCode(this._uint6ToB64(nUint24 >>> 18 & 63), this._uint6ToB64(nUint24 >>> 12 & 63), this._uint6ToB64(nUint24 >>> 6 & 63), this._uint6ToB64(nUint24 & 63));
-                        nUint24 = 0;
-                    }
-                }
-
-                return sB64Enc.substr(0, sB64Enc.length - 2 + nMod3) + (nMod3 === 2 ? '' : nMod3 === 1 ? '=' : '==');
-            };
-            ExcelConverter._formatMap = {
-                n: '#,##0.00',
-                c: '{0}#,##0.00_);({0}#,##0.00)',
-                p: '0.00%'
-            };
-            ExcelConverter._alphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
-
-            ExcelConverter._indexedColors = [
-                '000000', 'FFFFFF', 'FF0000', '00FF00', '0000FF', 'FFFF00', 'FF00FF', '00FFFF',
-                '000000', 'FFFFFF', 'FF0000', '00FF00', '0000FF', 'FFFF00', 'FF00FF', '00FFFF',
-                '800000', '008000', '000080', '808000', '800080', '008080', 'C0C0C0', '808080',
-                '9999FF', '993366', 'FFFFCC', 'CCFFFF', '660066', 'FF8080', '0066CC', 'CCCCFF',
-                '000080', 'FF00FF', 'FFFF00', '00FFFF', '800080', '800000', '008080', '0000FF',
-                '00CCFF', 'CCFFFF', 'CCFFCC', 'FFFF99', '99CCFF', 'FF99CC', 'CC99FF', 'FFCC99',
-                '3366FF', '33CCCC', '99CC00', 'FFCC00', 'FF9900', 'FF6600', '666699', '969696',
-                '003366', '339966', '003300', '333300', '993300', '993366', '333399', '333333',
-                '000000', 'FFFFFF'];
-            return ExcelConverter;
-        })();
-        _grid.ExcelConverter = ExcelConverter;
-    })(wijmo.grid || (wijmo.grid = {}));
-    var grid = wijmo.grid;
-})(wijmo || (wijmo = {}));
-
-
-
-
-
-//# sourceMappingURL=ExcelConverter.js.map

+ 0 - 167
src/RptHome.html

@@ -1,167 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-    <title>Report Demo!</title>
-</head>
-<body>
-    <!--
-    <script src="https://code.jquery.com/jquery-3.1.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.js"></script>
-    <table id="forPrintHide">
-        <tr>
-            <td width="5"></td>
-            <td>
-                <select name="select1" id="select_k1" onchange="ajaxCall()">
-                    <option value="SC;07_1">07-1表</option>
-                    <option value="SC;08_2">08-2表</option>
-                    <option value="MEASURE;M_ZB03_QDZF_09">计量-清单支付09表</option>
-                </select>
-                <select name="select2" id="select_k2" onchange="ajaxCall()">
-                    <option value="A4">A4</option>
-                    <option value="A3">A3</option>
-                </select>
-            </td>
-            <td>
-                <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="printCurrentPage()"/>
-            </td>
-        </tr>
-    </table>
-    <canvas id="myCanvas" width="2000" height="1280">
-    </canvas>
-</body>
-<style>
-    body {
-        margin: 0px;
-        padding: 0px;
-    }
-    #myCanvas {
-        border: 0px solid #9C9898;
-    }
-</style>
-<script>
-    var currentPage = 1;
-    var pageRst = null;
-    var currentRptTpl = null;
-    var maxPages = 20;
-    var defProperties = null;
-    var rpt_grp = null;
-    var rpt_id = null;
-    var rpt_size = null;
-
-    window.onload = function (){
-        $.ajax({
-            type:"POST",
-            url: 'http://localhost:3010/api/setDftCache',
-            dataType: 'json',
-            cache: false,
-            timeout: 10000,
-            success: function(data){
-                defProperties = data;
-            },
-            error: function(jqXHR, textStatus, errorThrown){
-                //alert('error ' + textStatus + " " + errorThrown);
-                //or create local default cache...
-            }
-        });
-
-    }
-
-    function printCurrentPage() {
-        if (currentRptTpl) {
-            //$("table#forPrintHide").css
-            $("table#forPrintHide").css("display","none");
-            window.print();
-            //$("canvas#myCanvas").printArea();
-        }
-    }
-
-    function getScreenDPI() {
-        var me = this, arrDPI = [];
-        if (window.screen.deviceXDPI != undefined) {
-            arrDPI.push(window.screen.deviceXDPI);
-            arrDPI.push(window.screen.deviceYDPI);
-        } else {
-            var tmpNode = document.createElement("DIV");
-            tmpNode.style.cssText = "width:1in;height:1in;position:absolute;left:0px;top:0px;z-index:99;visibility:hidden";
-            document.body.appendChild(tmpNode);
-            arrDPI.push(parseInt(tmpNode.offsetWidth));
-            arrDPI.push(parseInt(tmpNode.offsetHeight));
-            tmpNode.parentNode.removeChild(tmpNode);
-        }
-        return arrDPI;
-    }
-
-    function setupReport() {
-        var rst = false;
-        var rpt = document.getElementById("select_k1");
-        var size = document.getElementById("select_k2");
-        if (rpt.selectedIndex >= 0 && size.selectedIndex >= 0) {
-            var strs = rpt.options[rpt.selectedIndex].value.split(';');
-            rpt_grp = strs[0];
-            rpt_id = strs[1];
-            rpt_size = size.options[size.selectedIndex].value;
-            rst = true;
-        }
-        return rst;
-    }
-
-    function showPage(pageStep, cv) {
-        if (currentPage + pageStep >= 1 && currentPage + pageStep <= maxPages) {
-            currentPage = currentPage + pageStep;
-            var canvas = null;
-            if (cv) {
-                canvas = cv;
-            } else canvas = document.getElementById("myCanvas");
-            JpcCanvasOutput.cleanCanvas(canvas);
-            JpcCanvasOutput.drawPageBorder(currentRptTpl, canvas, getScreenDPI());
-            JpcCanvasOutput.drawToCanvas(pageRst, canvas, currentPage);
-        }
-    }
-
-    function ajaxCall() {
-        if (setupReport()) {
-            var canvas = document.getElementById("myCanvas");
-            canvas.style.cursor = "wait";
-            $.ajax({
-                type:"POST",
-                url: 'http://localhost:3010/api/getReport',
-                //url: 'http://www.smart_cost_tony.cn:3010/api/getReport',
-                data: {"grp_id": rpt_grp, "tpl_id": rpt_id, "pageSize": rpt_size},
-                dataType: 'json',
-                cache: false,
-                timeout: 15000,
-                success: function(result){
-                    canvas.style.cursor = "default";
-                    currentPage = 1;
-                    pageRst = result.data;
-                    if (pageRst) {
-                        maxPages = pageRst.items.length;
-                        currentRptTpl = pageRst;
-                        if (rpt_size === "A4") {
-                            canvas.width = 1200;
-                            canvas.height = 900;
-                        } else if (rpt_size === "A3") {
-                            canvas.width = 1880;
-                            canvas.height = 1200;
-                        }
-                        showPage(0, canvas);
-                    }
-                },
-                error: function(jqXHR, textStatus, errorThrown){
-                    canvas.style.cursor = "default";
-                    alert('error ' + textStatus + " " + errorThrown);
-                }
-            });
-        }
-    }
-</script>
-
-</html>

+ 0 - 19
src/SmartCostHome.html

@@ -1,19 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head lang="en">
-    <meta charset="UTF-8">
-    <title></title>
-</head>
-
-<script type="text/javascript" src="/src/ext/ext-all.js"></script>
-<script type="text/javascript" src="/src/ext/packages/ext-locale/build/ext-locale-zh_CN.js"></script>
-<link href="/src/ext/packages/ext-theme-crisp/build/resources/ext-theme-crisp-all.css" rel="stylesheet" />
-
-<body>
-    <script type="text/javascript">
-        Ext.onReady(function () {
-            //Ext.MessageBox.alert("提示", "Hello World");
-        });
-    </script>
-</body>
-</html>

+ 0 - 636
src/SpreadJsDemo.html

@@ -1,636 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head lang="en">
-    <meta charset="UTF-8">
-    <title></title>
-</head>
-<script src="/src/lib/jquery-1.9.1.min.js"></script>
-<link rel="stylesheet" href="src/spreadjs/css/gc.spread.sheets.10.0.1.css" type='text/css'/>
-<script src='src/spreadjs/scripts/gc.spread.sheets.all.10.0.1.min.js' type='text/javascript'></script>
-<script type="text/javascript" src="/src/scripts/treeDataHelper.js"></script>
-<body>
-    <div style="display:none">
-        <img id="image1" src="src/resources/folder.png" alt="" width="15" height="15">
-        <img id="image2" src="src/resources/002.png" alt="" width="15" height="15">
-    </div>
-    <div>
-        <input type="button" value="新增" onclick="billOperation('insert')"/>
-        <input type="button" value="删除" onclick="billOperation('remove')"/>
-        <input type="button" value="升级" disabled="disabled" onclick="billOperation('upgrade')"/>
-        <input type="button" value="降级" disabled="disabled" onclick="billOperation('downgrade')"/>
-        <input type="button" value="上移" disabled="disabled" onclick="billOperation('moveup')"/>
-        <input type="button" value="下移" disabled="disabled" onclick="billOperation('movedown')"/>
-    </div>
-    <div id='ss' style='width:100%; height:600px;'></div>
-</body>
-<script id="scriptInit" type="text/javascript">
-    var currentSheetObj = null;
-    $(document).ready(function () {
-        $.ajax({
-            type:"POST",
-            url: 'http://localhost:3010/api/getBills',
-            dataType: 'json',
-            data: {"user_id": ""},
-            cache: false,
-            timeout: 10000,
-            success: function(result){
-                //var data = result.data;
-                var data = result.data.slice(0);
-                decorateData(data);
-                tree_Data_Helper.sortDataBySerial(data);
-                //*
-                buildBills(tree_Data_Helper.buildTreeData(data), result.data.length);
-                /*/
-                createTreeNode();
-                //*/
-            },
-            error: function(jqXHR, textStatus, errorThrown){
-                alert('没有清单!');
-                //or create local default cache...
-            }
-        });
-    });
-
-    function decorateData(orgData) {
-        var tmpNum = 0;
-        for (var i = 0; i < orgData.length; i++) {
-            orgData[i]["chk"] = (i%2 == 0);
-            tmpNum = orgData[i]["Quantity"];
-            if (0 == tmpNum) orgData[i]["Quantity"] = null;
-            tmpNum = orgData[i]["DesignQuantity"];
-            if (0 == tmpNum) orgData[i]["DesignQuantity"] = null;
-            tmpNum = orgData[i]["DesignQuantity2"];
-            if (0 == tmpNum) orgData[i]["DesignQuantity2"] = null;
-            tmpNum = orgData[i]["UnitPrice"];
-            if (0 == tmpNum) orgData[i]["UnitPrice"] = null;
-            tmpNum = orgData[i]["DesignPrice"];
-            if (0 == tmpNum) orgData[i]["DesignPrice"] = null;
-            tmpNum = orgData[i]["TotalPrice"];
-            if (0 == tmpNum) orgData[i]["TotalPrice"] = null;
-        }
-    }
-
-    function buildBills(data, amount) {
-        var spread = new GC.Spread.Sheets.Workbook($('#ss')[0], { sheetCount: 1 });
-        spread.options.tabStripVisible = false;
-        spread.options.showHorizontalScrollbar = false;
-        //spread.options.showVerticalScrollbar = false;
-        var spreadNS = GC.Spread.Sheets;
-        var sheet = spread.getSheet(0);
-        currentSheetObj = sheet;
-        sheet.suspendPaint();
-        sheet.suspendEvent();
-        //Set rowHeader count and columnHeader count.
-        sheet.setRowCount(2, spreadNS.SheetArea.colHeader);
-        sheet.setColumnCount(12, spreadNS.SheetArea.viewport);
-        sheet.options.colHeaderAutoTextIndex = 1;
-        sheet.options.colHeaderAutoText = spreadNS.HeaderAutoText.numbers;
-        sheet.showRowOutline(false);
-        //setup column header
-        setupColHeader(sheet);
-        //setup cells
-        setupAllCells(sheet, data, amount);
-        //decorate
-        decorateCells(sheet);
-
-        sheet.resumeEvent();
-        sheet.resumePaint();
-    }
-
-    function decorateCells(sheet) {
-        sheet.getRange(2, -1, 1, -1, GC.Spread.Sheets.SheetArea.viewport).backColor("lightblue");
-        sheet.getRange(12, -1, 1, -1, GC.Spread.Sheets.SheetArea.viewport).backColor("lightgreen");
-        sheet.getRange(22, -1, 1, -1, GC.Spread.Sheets.SheetArea.viewport).backColor("#0085c7");
-    }
-
-    function setupAllCells(sheet, data, amount) {
-        function TreeNodeCellType() {}
-        TreeNodeCellType.prototype = new GC.Spread.Sheets.CellTypes.Text();
-        TreeNodeCellType.prototype.paint = function (ctx, value, x, y, w, h, style, options) {
-            var offX = 2, offY = 1, width = 10, height = 10, minusOffLeft = 2 - width, minusOffRight = -2, minusOffTop = 2, minusOffBottom = height - 2,
-                 dashMargin = 3, dashWidth = 9, dashTop = 5, dashBottom = 5;
-            function private_drawDecorateLine(hasPre, hasNext) {
-                ctx.save();
-                ctx.strokeStyle = 'gray';
-                ctx.setLineDash([1, 1]); /* dashes are 5px and spaces are 3px */
-                ctx.beginPath();
-                ctx.moveTo(x + dashMargin + offX, y + height/2 - offY);
-                ctx.lineTo(x + dashMargin + offX + dashWidth, y + height/2 - offY);
-                if (hasPre && options.row != 0) {
-                    ctx.setLineDash([1, 1]);
-                    ctx.moveTo(x - width / 2 + offX, y - offY);
-                    ctx.lineTo(x - width / 2 + offX, y - dashTop - offY);
-                }
-                if (hasNext) {
-                    ctx.moveTo(x - width / 2 + offX, y + height + dashMargin - offY);
-                    ctx.lineTo(x - width / 2 + offX, y + height + dashMargin + dashBottom - offY);
-                }
-                ctx.stroke();
-                ctx.restore();
-            }
-            function private_drawGrpImg(isParent, isCollapsed, hasPre, hasNext) {
-                ctx.save();
-                if (isParent) {
-                    ctx.strokeStyle = 'gray';
-                    ctx.beginPath();
-                    ctx.moveTo(x - width + offX, y - offY);
-                    ctx.lineTo(x + offX, y - offY);
-                    ctx.lineTo(x + offX, y + height - offY);
-                    ctx.lineTo(x - width + offX, y + height - offY);
-                    ctx.lineTo(x - width + offX, y - offY);
-                    ctx.stroke();
-
-                    ctx.save();
-                    ctx.beginPath();
-                    ctx.strokeStyle = 'black';
-                    ctx.moveTo(x + minusOffLeft + offX, y + height/2 - offY);
-                    ctx.lineTo(x + minusOffRight + offX, y + height/2 - offY);
-                    if (isCollapsed) {
-                        ctx.strokeStyle = 'black';
-                        ctx.moveTo(x - width/2 + offX, y + minusOffTop - offY);
-                        ctx.lineTo(x - width/2 + offX, y + minusOffBottom - offY);
-                    }
-                    ctx.stroke();
-                    ctx.restore();
-                } else {
-                    //
-                }
-                private_drawDecorateLine(isParent||hasPre, hasNext);
-                ctx.restore();
-            }
-            var level = options.sheet.rowOutlines.getLevel(options.row);
-            var nlevel = -1;
-            var hasPre = true, hasNext = (options.row < data.length && data[options.row]["NextSiblingID"] > 0);
-            if (options.row < options.sheet.getRowCount() - 1) {
-                nlevel = options.sheet.rowOutlines.getLevel(options.row + 1);
-                //data[options.row]["NextSiblingID"] == data[options.row]["ID"]
-            }
-            //var hoffset = (level + 2) * 12;
-            var hoffset = (level + 2) * 12;
-            x += hoffset;
-            w -= hoffset;
-
-            var image;
-            if (nlevel > level) {
-                image = document.getElementById('image1');
-            }
-            else {
-                image = document.getElementById('image2');
-            }
-
-            /*
-            var imageWidth = image.width, imageMagin = 3, imageLayoutWidth = imageWidth + imageMagin * 2;
-            /*/
-            var imageWidth = dashWidth - offX, imageMagin = 3, imageLayoutWidth = imageWidth + imageMagin * 2;
-            //*/
-            x += imageLayoutWidth;
-            w -= imageLayoutWidth;
-            //ns.CustomCellType.prototype.paint.apply(this, arguments);
-            ns.CellTypes.Text.prototype.paint.apply(this, arguments);
-
-            if (options.row == options.sheet.getRowCount() - 1) return; //last row
-
-                if (nlevel > level) {
-                var collapsed = options.sheet.rowOutlines.isCollapsed(options.row + 1);
-                x -= imageLayoutWidth;
-                w += imageLayoutWidth;
-                x--;
-                y += h / 2 - 3;
-                private_drawGrpImg(true, collapsed, hasPre, hasNext);
-            }
-            else {
-                x -= imageLayoutWidth;
-                w += imageLayoutWidth;
-                var imageX = x + imageMagin, imageY = y + h / 2 - image.height / 2;
-                x--;
-                y += h / 2 - 3;
-                ctx.save();
-                ctx.drawImage(image, imageX, imageY);
-                ctx.restore();
-            }
-        };
-        TreeNodeCellType.prototype.getHitInfo = function (x, y, cellStyle, cellRect, context) {
-            return {
-                x: x,
-                y: y,
-                row: context.row,
-                col: context.col,
-                cellStyle: cellStyle,
-                cellRect: cellRect,
-                sheetArea: context.sheetArea
-            };
-        }
-        TreeNodeCellType.prototype.processMouseDown = function (hitinfo) {
-            var level = hitinfo.sheet.rowOutlines.getLevel(hitinfo.row);
-            var hoffset = (level + 2) * 12 + hitinfo.cellRect.x;
-            if (hitinfo.x < hoffset && hitinfo.x > hoffset - 10) {
-                var collapsed = hitinfo.sheet.rowOutlines.isCollapsed(hitinfo.row + 1);
-                hitinfo.sheet.rowOutlines.setCollapsed(hitinfo.row, !collapsed);
-                hitinfo.sheet.invalidateLayout();
-                hitinfo.sheet.repaint();
-            }
-        };
-
-        var ns = GC.Spread.Sheets;
-        sheet.rowOutlines.direction(GC.Spread.Sheets.Outlines.OutlineDirection.backward);
-        sheet.getRange(-1, 0, -1 ,1, ns.SheetArea.viewport).cellType(new TreeNodeCellType());
-        sheet.getRange(-1, 4, -1 ,1, ns.SheetArea.viewport).formatter("####.000");
-        sheet.getRange(-1, 5, -1 ,1, ns.SheetArea.viewport).formatter("####.000");
-        sheet.getRange(-1, 6, -1 ,1, ns.SheetArea.viewport).formatter("####.000");
-        sheet.getRange(-1, 7, -1 ,1, ns.SheetArea.viewport).formatter("####.00");
-        sheet.getRange(-1, 8, -1 ,1, ns.SheetArea.viewport).formatter("####.00");
-        sheet.getRange(-1, 9, -1 ,1, ns.SheetArea.viewport).formatter("####");
-
-        //.formatter
-        sheet.setRowCount(amount + 1);
-        var cnt = 0, idxBefore = 0, idxAfter = 0, collapseGrp=[];
-        for (var i = 0; i < data.length; i++) {
-            idxBefore = cnt;
-            cnt = setupRowCells(sheet, data[i], cnt);
-            idxAfter = cnt;
-            if (idxAfter - idxBefore > 1) {
-                sheet.rowOutlines.group(idxBefore + 1, idxAfter - idxBefore - 1);
-                collapseGrp.push(idxBefore);
-            }
-        }
-        var row = null;
-        for (var i = 0; i < sheet.getRowCount(); i++) {
-            row = sheet.getRange(i, -1, 1 ,-1, ns.SheetArea.viewport);
-            row.vAlign(GC.Spread.Sheets.VerticalAlign.center);
-            //row.height(25);
-        }
-//        for (var i = collapseGrp.length - 1; i >= 0; i--) {
-//            sheet.rowOutlines.setCollapsed(collapseGrp[i],true);
-//        }
-        //sheet.rowOutlines.expand(3,false);
-        sheet.getRange(-1, 0, -1 ,1, ns.SheetArea.viewport).hAlign(GC.Spread.Sheets.HorizontalAlign.left);
-        sheet.getRange(-1, 1, -1 ,1, ns.SheetArea.viewport).hAlign(GC.Spread.Sheets.HorizontalAlign.left);
-
-        sheet.getRange(-1, 3, -1 ,1, ns.SheetArea.viewport).font("11pt smartSimSun");
-
-        //
-    }
-
-    //function countData() {};
-
-    function setupRowCells(sheet, dataItem, cnt) {
-        //sheet.setText(0, 0, "Permanent Differences");
-        var rIdx = cnt, idxBefore = cnt, idxAfter = cnt;
-        sheet.setText(rIdx, 0, dataItem["Code"]);
-        sheet.setText(rIdx, 1, dataItem["B_Code"]);
-        sheet.setText(rIdx, 2, dataItem["Name"]);
-        sheet.setText(rIdx, 3, dataItem["Units"]);
-        sheet.setValue(rIdx, 4, dataItem["Quantity"]);
-        sheet.setValue(rIdx, 5, dataItem["DesignQuantity"]);
-        sheet.setValue(rIdx, 6, dataItem["DesignQuantity2"]);
-        sheet.setValue(rIdx, 7, dataItem["UnitPrice"]);
-        sheet.setValue(rIdx, 8, dataItem["DesignPrice"]);
-        sheet.setValue(rIdx, 9, dataItem["TotalPrice"]);
-        sheet.setText(rIdx, 10, dataItem["Memostr"]);
-        //sheet.setText(rIdx, 11, dataItem["chk"]);
-        //cell.vAlign(GC.Spread.Sheets.VerticalAlign.center);
-        rIdx++;
-        if (dataItem.items) {
-            for (var i = 0; i < dataItem.items.length; i++) {
-                idxBefore = rIdx;
-                rIdx = setupRowCells(sheet, dataItem.items[i], rIdx);
-                idxAfter = rIdx;
-                if (idxAfter - idxBefore > 1) {
-                    sheet.rowOutlines.group(idxBefore + 1, idxAfter - idxBefore - 1);
-                }
-            }
-        }
-        return rIdx;
-    }
-
-    function setupColHeader(sheet) {
-        var ch = GC.Spread.Sheets.SheetArea.colHeader;
-        //sheet.addSpan(rowIdx, colIdx, spanV, spanH, cellType)
-        sheet.addSpan(0, 0, 2, 1, ch);
-        sheet.setValue(0, 0, "项目节", ch);
-        sheet.setColumnWidth(0, 160);
-        //
-        sheet.addSpan(0, 1, 2, 1, ch);
-        sheet.setValue(0, 1, "清单子目号", ch);
-        sheet.setColumnWidth(1, 160);
-        //
-        sheet.addSpan(0, 2, 2, 1, ch);
-        sheet.setValue(0, 2, "名称", ch);
-        sheet.setColumnWidth(2, 380);
-        //
-        sheet.addSpan(0, 3, 2, 1, ch);
-        sheet.setValue(0, 3, "单位", ch);
-        sheet.setColumnWidth(3, 100);
-        //
-        sheet.addSpan(0, 4, 2, 1, ch);
-        sheet.setValue(0, 4, "清单数量", ch);
-        sheet.setColumnWidth(4, 100);
-        //
-        sheet.addSpan(0, 5, 1, 2, ch);
-        sheet.setValue(0, 5, "设计数量", ch);
-        sheet.setValue(1, 5, "数量1", ch);
-        sheet.setValue(1, 6, "数量2", ch);
-        sheet.setColumnWidth(5, 100);
-        sheet.setColumnWidth(6, 100);
-        //
-        sheet.addSpan(0, 7, 2, 1, ch);
-        sheet.setValue(0, 7, "清单单价", ch);
-        sheet.setColumnWidth(7, 100);
-        //
-        sheet.addSpan(0, 8, 2, 1, ch);
-        sheet.setValue(0, 8, "经济指标", ch);
-        sheet.setColumnWidth(8, 100);
-        //
-        sheet.addSpan(0, 9, 2, 1, ch);
-        sheet.setValue(0, 9, "金额", ch);
-        sheet.setColumnWidth(9, 100);
-        //
-        sheet.addSpan(0, 10, 2, 1, ch);
-        sheet.setValue(0, 10, "备注", ch);
-        sheet.setColumnWidth(10, 200);
-        //
-        sheet.addSpan(0, 11, 2, 1, ch);
-        sheet.setValue(0, 11, "单价" + "分析", ch);
-        sheet.setColumnWidth(11, 100);
-    }
-
-    function createTreeNode() {
-        var ns = GC.Spread.Sheets;
-        //var spreadNS = GC.Spread.Sheets;
-        var dtStart = new Date();
-
-        function TreeNodeCellType() {}
-        TreeNodeCellType.prototype = new GC.Spread.Sheets.CellTypes.Text();
-        TreeNodeCellType.prototype.paint = function (ctx, value, x, y, w, h, style, options) {
-            var level = options.sheet.rowOutlines.getLevel(options.row);
-            var nlevel = -1;
-            if (options.row < options.sheet.getRowCount() - 1) {
-                nlevel = options.sheet.rowOutlines.getLevel(options.row + 1);
-            }
-            var hoffset = (level + 2) * 12;
-            x += hoffset;
-            w -= hoffset;
-
-            var image;
-            if (nlevel > level) {
-                image = document.getElementById('image1');
-            }
-            else {
-                image = document.getElementById('image2');
-            }
-
-            var imageWidth = image.width, imageMagin = 3, imageLayoutWidth = imageWidth + imageMagin * 2;
-            x += imageLayoutWidth;
-            w -= imageLayoutWidth;
-            //ns.CustomCellType.prototype.paint.apply(this, arguments);
-            ns.CellTypes.Text.prototype.paint.apply(this, arguments);
-
-            if (options.row == options.sheet.getRowCount() - 1) return; //last row
-
-            if (nlevel > level) {
-                var collapsed = options.sheet.rowOutlines.isCollapsed(options.row + 1);
-                x -= imageLayoutWidth;
-                w += imageLayoutWidth;
-                var imageX = x + imageMagin, imageY = y + h / 2 - image.height / 2;
-                x--;
-                y += h / 2 - 3;
-                ctx.save();
-                ctx.fillStyle = "black";
-                ctx.beginPath();
-                if (collapsed) {
-                    ctx.moveTo(x - 5, y);
-                    ctx.lineTo(x, y + 3);
-                    ctx.lineTo(x - 5, y + 6);
-                } else {
-                    ctx.moveTo(x, y);
-                    ctx.lineTo(x, y + 5);
-                    ctx.lineTo(x - 5, y + 5);
-                }
-                ctx.fill();
-                ctx.restore();
-                ctx.drawImage(image, imageX, imageY);
-            }
-            else {
-                x -= imageLayoutWidth;
-                w += imageLayoutWidth;
-                var imageX = x + imageMagin, imageY = y + h / 2 - image.height / 2;
-                x--;
-                y += h / 2 - 3;
-                ctx.save();
-                ctx.drawImage(image, imageX, imageY);
-                ctx.restore();
-            }
-        };
-        TreeNodeCellType.prototype.getHitInfo = function (x, y, cellStyle, cellRect, context) {
-            return {
-                x: x,
-                y: y,
-                row: context.row,
-                col: context.col,
-                cellStyle: cellStyle,
-                cellRect: cellRect,
-                sheetArea: context.sheetArea
-            };
-        }
-        TreeNodeCellType.prototype.processMouseDown = function (hitinfo) {
-            var level = hitinfo.sheet.rowOutlines.getLevel(hitinfo.row);
-            var hoffset = (level + 2) * 12 + hitinfo.cellRect.x;
-            if (hitinfo.x < hoffset && hitinfo.x > hoffset - 10) {
-                var collapsed = hitinfo.sheet.rowOutlines.isCollapsed(hitinfo.row + 1);
-                hitinfo.sheet.rowOutlines.setCollapsed(hitinfo.row, !collapsed);
-                hitinfo.sheet.invalidateLayout();
-                hitinfo.sheet.repaint();
-            }
-        };
-
-        var dt1 = new Date();
-
-        var spread = new GC.Spread.Sheets.Workbook($('#ss')[0], { sheetCount: 1 });
-        spread.options.tabStripVisible = false;
-        spread.options.showHorizontalScrollbar = false;
-        spread.options.showVerticalScrollbar = false;
-
-        var sheet = spread.getSheet(0);
-
-        //sheet.isPaintSuspended(true);
-        sheet.suspendPaint();
-        sheet.suspendEvent();
-        var dt2 = new Date();
-
-        //sheet.rowOutlines.direction = ns.Outlines.OutlineDirection.Backward;
-        sheet.rowOutlines.direction(GC.Spread.Sheets.Outlines.OutlineDirection.backward);
-        //sheet.getColumn(0).cellType(new TreeNodeCellType());
-        //getRange(row, col, rowCount ,colCount, sheetArea)
-        sheet.getRange(-1, 0, -1 ,1, ns.SheetArea.viewport).cellType(new TreeNodeCellType());
-        var dt3 = new Date();
-
-        sheet.setText(0, 0, "Permanent Differences");
-        sheet.setText(1, 0, "Permanent Differences");
-        sheet.setText(2, 0, "4P01 - Club Dues");
-        sheet.setText(3, 0, "4P02 - Business Gifts");
-        sheet.setText(4, 0, "4P03 - Int Inc-Muni Borads");
-        sheet.setText(5, 0, "4P04 - Lobbying Expense");
-        sheet.setText(6, 0, "4P05 - Skybox");
-        sheet.setText(7, 0, "4P06 - Stock Options-Perm");
-        sheet.setText(8, 0, "4P07 - M&E");
-        sheet.setText(9, 0, "Total Permanent Differences");
-        sheet.setText(10, 0, "Capital Loss Limitation");
-        sheet.setText(11, 0, "Capital Gain/Loss, Sum included in Book income");
-        sheet.setText(12, 0, "Capital Loss Disallowed");
-        sheet.setText(13, 0, "Charitable Contribution Limitation");
-        sheet.setText(14, 0, "Charitable Contributions included in Book income");
-        sheet.setText(15, 0, "Demestic production activities deduction included in Book income");
-        sheet.setText(16, 0, "Fedeeral Taxable Income Limitation");
-        sheet.setText(17, 0, "Limitation percentage");
-        sheet.setText(18, 0, "Charitable Contribution limitation");
-        sheet.setText(19, 0, "Charitable Contributions disallowed");
-        sheet.setText(20, 0, "Federal Taxable Income before Net Operating Loss Deduction");
-        var dt3_1 = new Date();
-        sheet.rowOutlines.group(1, 10);
-        sheet.rowOutlines.group(3, 8);
-        sheet.rowOutlines.group(4, 3);
-        sheet.rowOutlines.group(12, 2);
-        //sheet.rowOutlines.group(15, 6);
-        sheet.rowOutlines.group(15, 2);
-        sheet.rowOutlines.group(18, 3);
-        //sheet.getColumn(0).width(300);
-        var dt3_2 = new Date();
-        sheet.getRange(-1, 0, -1 ,1).width(400);
-        sheet.showRowOutline(false);
-        var dt4 = new Date();
-
-        //sheet.getColumn(1).cellType(new ColorCellType());
-        var A = 30;
-        var B = 30000;
-        var lev = 1;
-        var secondlev = 1;
-        for (var i = 0; i < 21; i++) {
-            var level = sheet.rowOutlines.getLevel(i);
-            if (level == -1) {
-                lev = 1;
-                secondlev = 1;
-                sheet.setText(i, 1, "---");
-            }
-            else if (level == 0) {
-                sheet.setText(i, 1, "00" + lev);
-                lev++;
-                secondlev = 1;
-            }
-            else {
-                sheet.setText(i, 1, "00" + lev + "00" + secondlev);
-                secondlev++;
-            }
-
-            //*
-            sheet.setText(i, 2, "m3");
-            sheet.setValue(i, 3, (500 - 1) * Math.random() + 1);
-            //sheet.getCell(i, 3).formatter(new GC.Spread.Formatter.GeneralFormatter("f", ns.FormatMode.StandardNumericMode));
-            sheet.getCell(i, 3).formatter("###,###.00");
-            sheet.setValue(i, 4, (B - A) * Math.random() + A);
-            //sheet.getCell(i, 4).formatter(new GC.Spread.Formatter.GeneralFormatter("f", ns.FormatMode.StandardNumericMode));
-            sheet.getCell(i, 4).formatter("###,###.00");
-            sheet.setFormula(i, 5, '=D' + (i + 1).toString() + '*E' + (i + 1).toString());
-            //sheet.getCell(i, 5).formatter(new GC.Spread.Formatter.GeneralFormatter("c3", ns.FormatMode.StandardNumericMode));
-            sheet.getCell(i, 5).formatter("$###,###.00");
-            //*/
-        }
-        var dt5 = new Date();
-
-        var h = ns.SheetArea.colHeader;
-
-        sheet.setColumnCount(6, h);
-        sheet.setColumnCount(6, ns.SheetArea.viewport);
-
-        sheet.setRowCount(2, h);
-
-        sheet.addSpan(0, 0, 2, 1, h);
-        sheet.setText(0, 0, "任务名称", h);
-
-        sheet.addSpan(0, 1, 2, 1, h);
-        sheet.setText(0, 1, "任务编码", h);
-
-        sheet.addSpan(0, 2, 2, 1, h);
-        sheet.setText(0, 2, "单位", h);
-
-        sheet.addSpan(0, 3, 1, 3, h);
-        sheet.setText(0, 3, "施工图清单", h);
-
-        sheet.setText(1, 3, "数量", h);
-        sheet.setText(1, 4, "单价", h);
-        sheet.setText(1, 5, "合价", h);
-
-        //sheet.getColumns(1, 4).width(100);
-        //sheet.getRange(1, 4, 1 ,1).width(100);
-        sheet.getRange(-1, 4, -1 ,1, ns.SheetArea.viewport).width(100);
-        //sheet.getColumns(5, 5).width(150);
-        //sheet.getRange(1, 5, 1 ,1).width(100);
-        sheet.getRange(-1, 5, -1 ,1, ns.SheetArea.viewport).width(100);
-        sheet.setRowCount(22);
-        //sheet.getColumn(1).hAlign(ns.HorizontalAlign.left);
-
-        sheet.resumeEvent();
-        //sheet.isPaintSuspended(false);
-        sheet.resumePaint();
-        var dt6 = new Date();
-
-//        var Str = "duration 1: " + (dt1 - dtStart) + "\n";
-//        Str += "duration 2: " + (dt2 - dt1) + "\n";
-//        Str += "duration 3: " + (dt3 - dt2) + "\n";
-//        Str += "duration 3_1: " + (dt3_1 - dt3) + "\n";
-//        Str += "duration 3_2: " + (dt3_2 - dt3_1) + "\n";
-//        Str += "duration 4: " + (dt4 - dt3) + "\n";
-//        Str += "duration 5: " + (dt5 - dt4) + "\n";
-//        Str += "duration 6: " + (dt6 - dt5) + "\n";
-//        Str += "total: " + (dt6 - dtStart);
-//        alert(Str);
-
-        $("#btn").click(function () {
-            var spread = $("#ss").wijspread("spread");
-            var data = spread.toJSON();
-
-            var spread1 = $("#ss1").wijspread("spread");
-            spread1.fromJSON(data);
-            var sheet = spread1.getActiveSheet();
-            //sheet.getColumn(0).cellType(new TreeNodeCellType());
-            //sheet.getRange(0, 0, 22 ,1).cellType(new TreeNodeCellType());
-            sheet.getRange(-1, 0, -1 ,1, ns.SheetArea.viewport).cellType(new TreeNodeCellType());
-        });
-
-    }
-
-    function billOperation(opr) {
-        if (currentSheetObj) {
-            var selectedRanges = currentSheetObj.getSelections();
-            if (selectedRanges) {
-                //alert(selectedRanges.length);
-                for (var i = 0; i < selectedRanges.length; i++) {
-                    //row, rowCount, col, colCount
-                    switch (opr) {
-                        case  'insert':
-                            currentSheetObj.addRows(selectedRanges[i].row, 1);
-                            //value = instance.addRows(row, count);
-                            break;
-                        case  'remove':
-                            if (selectedRanges[i].col == -1) {
-                                currentSheetObj.deleteRows(selectedRanges[i].row, selectedRanges[i].rowCount);
-                                //value = instance.deleteRows(row, count);
-                            }
-                            break;
-                        case  'upgrade':
-                            break;
-                        case  'downgrade':
-                            break;
-                        case  'moveup':
-                            break;
-                        case  'movedown':
-                            break;
-                    }
-                }
-            } else {
-                //alert("no cell was selected!");
-            }
-        }
-    }
-
-</script>
-</html>

+ 0 - 86
src/WijmoDemo.html

@@ -1,86 +0,0 @@
-<!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>

+ 0 - 125
src/ZaoJiaShuTest.html

@@ -1,125 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head lang="en">
-    <meta charset="UTF-8">
-    <title></title>
-</head>
-<body>
-    <script src="/src/lib/jquery-1.9.1.min.js"></script>
-    <table id="forPrintHide">
-        <tr>
-            <td>
-                <input type="button" value="获取 DummyFolder" onclick="getDummyFolder()"/>
-                <input type="button" value="保存 DummyFolder" onclick="saveDummyFolder()"/>
-                <input type="button" value="更新 DummyFolder" onclick="updateDummyFolder()"/>
-                <input type="button" value="计算 DummyFolder" onclick="calculateDummyFolder()"/>
-            </td>
-        </tr>
-    </table>
-    <canvas id="myCanvas" width="2000" height="1280">
-    </canvas>
-
-</body>
-<script>
-    var dummyID = -100, dummyParentID = -1, dummySiblingID = -1;
-    var dummyProjects = [
-        {
-            "ID" : dummyID,
-            "UserID": "admin",
-            "ParentID": dummyParentID,
-            "NextSiblingID": dummySiblingID,
-            "parallelSeq": 1,
-            "innerSeq": 1,
-            "TypeID": 0,
-            "Name": "Dummy Top Folder",
-            "Description": ""
-        },
-        {
-            "ID" : dummyID,
-            "UserID": "admin",
-            "ParentID": 1,
-            "NextSiblingID": dummySiblingID,
-            "parallelSeq": 0,
-            "innerSeq": 2,
-            "TypeID": 0,
-            "Name": "Dummy Second Folder",
-            "Description": ""
-        },
-        {
-            "ID" : dummyID,
-            "UserID": "admin",
-            "ParentID": dummyParentID,
-            "NextSiblingID": dummySiblingID,
-            "parallelSeq": 2,
-            "innerSeq": 1,
-            "TypeID": 1,
-            "Name": "Dummy Top Project",
-            "Description": ""
-        }
-    ]
-
-    function getDummyFolder() {
-        //
-    }
-
-    function saveDummyFolder() {
-        $.ajax({
-            type:"POST",
-            url: 'http://localhost:3010/api/setProjects',
-            data: {"user_id": "admin", "prjData": JSON.stringify(dummyProjects[1])},
-            dataType: 'json',
-            cache: false,
-            timeout: 15000,
-            success: function(result){
-                if (result.success) {
-                    alert('Save "' + dummyProjects[1].Name + '" OK!')
-                }
-            },
-            error: function(jqXHR, textStatus, errorThrown){
-                alert('error: ' + textStatus + " " + errorThrown);
-            }
-        });
-    }
-
-    function updateDummyFolder() {
-        var update = {$set : {parallelSeq : 3}};
-        $.ajax({
-            type:"POST",
-            url: 'http://localhost:3010/api/updateProjects',
-            data: {"user_id": "admin", "prj_id": 2, "prj_Update": JSON.stringify(update)},
-            dataType: 'json',
-            cache: false,
-            timeout: 15000,
-            success: function(result){
-                if (result.success) {
-                    alert('Update OK!')
-                }
-            },
-            error: function(jqXHR, textStatus, errorThrown){
-                alert('error: ' + textStatus + " " + errorThrown);
-            }
-        });
-    }
-
-    function calculateDummyFolder() {
-        $.ajax({
-            type:"POST",
-            url: 'http://localhost:3010/api/testCalculateBills',
-            data: {"user_id": "admin"},
-            dataType: 'json',
-            cache: false,
-            timeout: 150000,
-            success: function(result){
-                if (result.success) {
-                    alert(result.data);
-                }
-            },
-            error: function(jqXHR, textStatus, errorThrown){
-                alert('error: ' + textStatus + " " + errorThrown);
-            }
-        });
-    }
-
-</script>
-
-</html>

+ 0 - 286
src/baobiao.html

@@ -1,286 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-<head>
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
-    <meta http-equiv="x-ua-compatible" content="ie=edge">
-    <title>报表-Smartcost</title>
-    <link rel="stylesheet" href="css/bootstrap/bootstrap.min.css">
-    <link rel="stylesheet" href="css/bootstrap/themes.css">
-    <link rel="stylesheet" href="css/main.css">
-    <link rel="stylesheet" href="css/font-awesome/font-awesome.min.css">
-    <!--zTree-->
-  	<link rel="stylesheet" href="css/ztree/zTreeStyle.css" type="text/css">
-</head>
-<body>
-    <div class="header">
-        <!-- <div class="top-msg clearfix">
-            <div class="alert alert-warning mb-0 py-0" role="alert">
-                <button type="button" class="close" data-dismiss="alert" aria-label="Close">
-                  <span aria-hidden="true">&times;</span>
-                </button>
-                <strong>Warning!</strong> Better check yourself, you're not looking too good.
-            </div>
-        </div> -->
-        <nav class="navbar navbar-toggleable-lg navbar-light bg-faded p-0 justify-content-between">
-            <span class="header-logo px-2">Smartcost</span>
-            <div class="navbar-text"><a href="project-management.html">项目管理</a><i class="fa fa-angle-right fa-fw"></i>文件夹<i class="fa fa-angle-right fa-fw"></i>建设项目<i class="fa fa-angle-right fa-fw"></i>单项工程<i class="fa fa-angle-right fa-fw"></i>单位工程</div>
-            <div class="float-lg-right navbar-text pt-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" target="_blank">账号资料</a>
-                        <a class="dropdown-item" href="user-buy.html" target="_blank">产品购买</a>
-                        <a class="dropdown-item" href="user-set.html" target="_blank">偏好设置</a>
-                    </div>
-                </div>
-                <span class="btn btn-link btn-sm new-msg">
-                  <i class="fa fa-envelope-o" aria-hidden="true"></i>&nbsp;2
-                </span>
-                <button class="btn btn-link btn-sm">注销</button>
-            </div>
-        </nav>
-    </div>
-    <div class="main">
-        <div class="main-nav">
-            <ul class="nav flex-column">
-                <li><a href="zaojiashu.html">造价书</a></li>
-                <li><a href="gongliaoji.html">工料机</a></li>
-                <li><a href="baobiao.html" class="active">报表</a></li>
-            </ul>
-        </div>
-        <div class="content">
-            <div class="container-fluid">
-              <div class="row">
-                <div class="col-lg-2 p-0">
-                  <div class="print-list">
-                  <div class="list-tools d-flex justify-content-center">
-                    <button class="btn btn-secondary btn-sm mr-1" data-toggle="modal" data-target="#addForm"><i class="fa fa-plus-square"></i> 添加报表</button>
-                    <button class="btn btn-secondary btn-sm" data-toggle="modal" data-target="#editForm"><i class="fa fa-cog"></i> 管理报表</button>
-                  </div>
-                    <div class="form-list">
-                      <ul id="treeDemo" class="ztree"></ul>
-                    </div>
-                  </div>
-                </div>
-                <div class="col-lg-10 p-0">
-                  <div class="toolsbar">
-                    <div class="print-toolsbar">
-                      <div class="panel">
-                        <div class="panel-body">
-                          <button class="btn btn-secondary btn-sm" type="button">
-                            <i class="fa fa-print"></i><br>
-                            打印 <span id="checkCount" class="badge badge-primary">5</span>
-                          </button>
-                        </div>
-                      </div>
-                      <div class="panel">
-                          <div class="panel-body">
-                            <div class="btn-group" role="group" aria-label="Button group with nested dropdown">
-                              <div class="btn-group" role="group">
-                                <button id="btnGroupDrop1" type="button" class="btn btn-secondary btn-sm dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
-                                  纵向
-                                </button>
-                                <div class="dropdown-menu" aria-labelledby="btnGroupDrop1">
-                                  <a class="dropdown-item" href="#">横向</a>
-                                </div>
-                              </div>
-                              <div class="btn-group" role="group">
-                                <button id="btnGroupDrop1" type="button" class="btn btn-secondary btn-sm dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
-                                  A4
-                                </button>
-                                <div class="dropdown-menu" aria-labelledby="btnGroupDrop1">
-                                  <a class="dropdown-item" href="#">A3</a>
-                                </div>
-                              </div>
-                            </div>
-                          </div>
-                          <div class="panel-foot text-muted">
-                            预览设置
-                          </div>
-                      </div>
-                      <div class="panel">
-                          <div class="panel-body">
-                            <div class="btn-group" role="group">
-                              <button type="button" class="btn btn-secondary btn-sm">-</button>
-                              <a class="btn btn-secondary btn-sm" data-toggle="tooltip" data-placement="bottom" title="重置默认大小">1000%</a>
-                              <button type="button" class="btn btn-secondary btn-sm">+</button>
-                            </div>
-                          </div>
-                          <div class="panel-foot text-muted">
-                            缩放
-                          </div>
-                      </div>
-                      <div class="panel">
-                          <div class="panel-body">
-                            <div class="btn-group" role="group" aria-label="Button group with nested dropdown">
-                              <button type="button" class="btn btn-secondary btn-sm" data-toggle="modal" data-target="#paper"><i class="fa fa-file-o"></i> 纸张</button>
-                              <button type="button" class="btn btn-secondary btn-sm" data-toggle="modal" data-target="#format"><i class="fa fa-bold"></i> 格式</button>
-                              <button type="button" class="btn btn-secondary btn-sm" data-toggle="modal" data-target="#content"><i class="fa fa-file-text-o"></i> 内容</button>
-                            </div>
-                          </div>
-                          <div class="panel-foot text-muted">
-                            报表设置
-                          </div>
-                      </div>
-                    </div>
-                  </div>
-                    <div class="print-view poj-list">
-                      <div class="pageContainer">
-                        <div class="page">
-                          <img src="img/baobiao.png">
-                        </div>
-                        <div class="page">
-                          <img src="img/baobiao.png">
-                        </div>
-                        <div class="page">
-                          <img src="img/baobiao.png">
-                        </div>
-                        <div class="page">
-                          <img src="img/baobiao.png">
-                        </div>
-                      </div>
-                    </div>
-                </div>
-              </div>
-            </div>
-        </div>
-      </div>
-      <!--弹出纸张-->
-      <div class="modal fade" id="paper" data-backdrop="static">
-          <div class="modal-dialog" role="document">
-              <div class="modal-content">
-                  <div class="modal-header">
-                      <button type="button" class="close" data-dismiss="modal" aria-label="Close">
-              <span aria-hidden="true">&times;</span>
-            </button>
-                      <h4 class="modal-title">纸张</h4>
-                  </div>
-                  <div class="modal-body">
-                  </div>
-                  <div class="modal-footer">
-                      <button type="button" class="btn btn-secondary" data-dismiss="modal">取消</button>
-                      <a href="" class="btn btn-primary">确定</a>
-                  </div>
-              </div>
-          </div>
-      </div>
-      <!--弹出页面-->
-      <div class="modal fade" id="format" data-backdrop="static">
-          <div class="modal-dialog" role="document">
-              <div class="modal-content">
-                  <div class="modal-header">
-                      <button type="button" class="close" data-dismiss="modal" aria-label="Close">
-              <span aria-hidden="true">&times;</span>
-            </button>
-                      <h4 class="modal-title">格式</h4>
-                  </div>
-                  <div class="modal-body">
-                  </div>
-                  <div class="modal-footer">
-                      <button type="button" class="btn btn-secondary" data-dismiss="modal">取消</button>
-                      <a href="" class="btn btn-primary">确定</a>
-                  </div>
-              </div>
-          </div>
-      </div>
-      <!--弹出格式-->
-      <div class="modal fade" id="content" data-backdrop="static">
-          <div class="modal-dialog" role="document">
-              <div class="modal-content">
-                  <div class="modal-header">
-                      <button type="button" class="close" data-dismiss="modal" aria-label="Close">
-              <span aria-hidden="true">&times;</span>
-            </button>
-                      <h4 class="modal-title">内容</h4>
-                  </div>
-                  <div class="modal-body">
-                  </div>
-                  <div class="modal-footer">
-                      <button type="button" class="btn btn-secondary" data-dismiss="modal">取消</button>
-                      <a href="" class="btn btn-primary">确定</a>
-                  </div>
-              </div>
-          </div>
-      </div>
-    <!-- JS. -->
-    <script src="js/jquery/jquery.min.js"></script>
-    <script src="js/tether/tether.min.js"></script>
-    <script src="js/bootstrap/bootstrap.min.js"></script>
-    <script src="js/global.js"></script>
-    <!-- zTree -->
-  	<script type="text/javascript" src="js/ztree/jquery.ztree.core.js"></script>
-  	<script type="text/javascript" src="js/ztree/jquery.ztree.excheck.js"></script>
-    <SCRIPT type="text/javascript">
-  		<!--
-  		var setting = {
-  			view: {
-  				selectedMulti: false
-  			},
-  			check: {
-  				enable: true
-  			},
-  			data: {
-  				simpleData: {
-  					enable: true
-  				}
-  			},
-  			callback: {
-  				onCheck: onCheck
-  			}
-  		};
-
-  		var zNodes =[
-  			{ id:1, pId:0, name:"随意勾选 1", open:true},
-  			{ id:11, pId:1, name:"随意勾选 1-1"},
-  			{ id:12, pId:1, name:"随意勾选  1-2", open:true},
-  			{ id:121, pId:12, name:"随意勾选 1-2-1", checked:true},
-  			{ id:122, pId:12, name:"随意勾选 1-2-2"},
-  			{ id:123, pId:12, name:"随意勾选 1-2-3"},
-  			{ id:13, pId:1, name:"随意勾选 1-3"},
-  			{ id:2, pId:0, name:"随意勾选 2", open:true},
-  			{ id:21, pId:2, name:"随意勾选 2-1"},
-  			{ id:22, pId:2, name:"随意勾选 2-2", open:true},
-  			{ id:221, pId:22, name:"随意勾选 2-2-1", checked:true},
-  			{ id:222, pId:22, name:"随意勾选 2-2-2"},
-  			{ id:223, pId:22, name:"随意勾选 2-2-3"},
-  			{ id:23, pId:2, name:"随意勾选 2-3", checked:true}
-  		];
-
-  		var clearFlag = false;
-  		function onCheck(e, treeId, treeNode) {
-  			count();
-  			if (clearFlag) {
-  				clearCheckedOldNodes();
-  			}
-  		}
-  		function clearCheckedOldNodes() {
-  			var zTree = $.fn.zTree.getZTreeObj("treeDemo"),
-  			nodes = zTree.getChangeCheckedNodes();
-  			for (var i=0, l=nodes.length; i<l; i++) {
-  				nodes[i].checkedOld = nodes[i].checked;
-  			}
-  		}
-  		function count() {
-  			var zTree = $.fn.zTree.getZTreeObj("treeDemo"),
-  			checkCount = zTree.getCheckedNodes(true).length;
-  			$("#checkCount").text(checkCount);
-
-  		}
-  		function createTree() {
-  			$.fn.zTree.init($("#treeDemo"), setting, zNodes);
-  			count();
-  		}
-
-  		$(document).ready(function(){
-  			createTree();
-  		});
-  		//-->
-  	</SCRIPT>
-</body>
-<script type="text/javascript">
-    autoFlashHeight();
-</script>
-
-</html>

Файловите разлики са ограничени, защото са твърде много
+ 0 - 6
src/css/bootstrap/bootstrap.min.css


+ 0 - 26
src/css/cust_flex_grid.css

@@ -1,26 +0,0 @@
-.custom-flex-grid .wj-header.wj-cell {
-  color: #fff;
-  background-color: #000;
-  border-bottom: solid 1px #404040;
-  border-right: solid 1px #404040;
-  font-weight: bold;
-}
-
-.custom-flex-grid .wj-cell {
-  background-color: #fff;
-  border: none;
-}
-
-.custom-flex-grid .wj-alt:not(.wj-state-selected):not(.wj-state-multi-selected) {
-  background-color: #fff;
-}
-
-.custom-flex-grid .wj-state-selected {
-  background: #000;
-  color: #fff;
-}
-
-.custom-flex-grid .wj-state-multi-selected {
-  background: #222;
-  color: #fff;
-}

Файловите разлики са ограничени, защото са твърде много
+ 0 - 4
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


Файловите разлики са ограничени, защото са твърде много
+ 0 - 2671
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


+ 0 - 259
src/css/main.css

@@ -1,259 +0,0 @@
-/*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
-}
-.top-msg{
-  position: fixed;
-  top:0;
-  width:100%;
-  z-index: 999
-}
-.in-1{padding-left:0rem!important}
-.in-2{padding-left:1rem!important}
-.in-3{padding-left:1.5rem!important}
-.in-4{padding-left:2rem!important}
-.in-5{padding-left:2.5rem!important}
-.in-6{padding-left:3rem!important}
-.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
-}
-.tools-btn {
-    height: 30px;
-    line-height: 30px;
-}
-.toolsbar .tools-btn.btn:hover {
-    background: #f7f7f9;
-}
-.main-side {
-    border-top: 1px solid #ccc;
-    border-left: 1px solid #ccc;
-    overflow-y: auto;
-}
-.top-content, .fluid-content {
-    overflow: auto;
-    border-bottom: 1px solid #ccc;
-}
-.warp-p2 {
-    padding: 2px
-}
-.bottom-content .nav {
-    background: #f7f7f9;
-    padding:0 0 0 2px
-}
-.bottom-content .nav-tabs .nav-link, .side-tabs .nav-tabs .nav-link {
-    border-radius: 0;
-    padding: 0.2em 0.5em
-}
-.side-tabs .nav-tabs .nav-item {
-  z-index: 999
-}
-.side-tabs .nav-tabs {
-    border-bottom: none;
-    margin-bottom: -1px
-}
-.side-tabs .nav-tabs .nav-link {
-    border-radius: 0;
-    padding: 0em 0.5em;
-    line-height: 30px;
-    z-index: 999
-}
-.bottom-content .nav-tabs .nav-link.active {
-    border-top: 1px solid #f7f7f9
-}
-.side-tabs .nav-tabs .nav-link.active {
-    border-top: none;
-    border-bottom:1px solid #fff
-}
-.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);
-    }
-}
-.bottom-content .tab-content {
-    max-height: 200px;
-    overflow: auto;
-}
-.form-signin {
-    max-width: 500px;
-    margin: 150px auto;
-}
-.poj-list, .side-content {
-    overflow: auto;
-}
-.poj-list span.poj-icon {
-  padding-right:10px;
-  color:#ccc
-}
-.print-toolsbar{
-  padding:5px
-}
-.print-toolsbar .panel {
-  display:inline-block;
-  vertical-align:top;
-  background:#f7f7f9
-}
-.print-toolsbar .panel .panel-foot{
-  text-align: center;
-  font-size: 12px
-}
-.print-list {
-  border-right:1px solid #ccc
-}
-.print-list .form-list {
-  overflow: auto
-}
-.print-list .list-tools{
-  height:50px;
-  padding:10px 0;
-  border-bottom:1px solid #f2f2f2
-}
-.pageContainer {
-  background: #ededed;
-  text-align: center
-}
-.pageContainer .page{
-  border:9px solid transparent;
-  display: inline-block;
-}
-.pageContainer .page img{
-  width:inherit;
-  height: inherit;
-}

BIN
src/css/ztree/img/diy/1_close.png


BIN
src/css/ztree/img/diy/1_open.png


BIN
src/css/ztree/img/diy/2.png


BIN
src/css/ztree/img/diy/3.png


BIN
src/css/ztree/img/diy/4.png


BIN
src/css/ztree/img/diy/5.png


BIN
src/css/ztree/img/diy/6.png


BIN
src/css/ztree/img/diy/7.png


BIN
src/css/ztree/img/diy/8.png


BIN
src/css/ztree/img/diy/9.png


BIN
src/css/ztree/img/line_conn.gif


BIN
src/css/ztree/img/loading.gif


BIN
src/css/ztree/img/zTreeStandard.gif


BIN
src/css/ztree/img/zTreeStandard.png


+ 0 - 97
src/css/ztree/zTreeStyle.css

@@ -1,97 +0,0 @@
-/*-------------------------------------
-zTree Style
-
-version:	3.5.19
-author:		Hunter.z
-email:		hunter.z@263.net
-website:	http://code.google.com/p/jquerytree/
-
--------------------------------------*/
-
-.ztree * {padding:0; margin:0; font-size:12px; font-family: Verdana, Arial, Helvetica, AppleGothic, sans-serif}
-.ztree {margin:0; padding:5px; color:#333}
-.ztree li{padding:0; margin:0; list-style:none; line-height:14px; text-align:left; white-space:nowrap; outline:0}
-.ztree li ul{ margin:0; padding:0 0 0 18px}
-.ztree li ul.line{ background:url(./img/line_conn.gif) 0 0 repeat-y;}
-
-.ztree li a {padding:1px 3px 0 0; margin:0; cursor:pointer; height:17px; color:#333; background-color: transparent;
-	text-decoration:none; vertical-align:top; display: inline-block}
-.ztree li a:hover {text-decoration:underline}
-.ztree li a.curSelectedNode {padding-top:0px; background-color:#FFE6B0; color:black; height:16px; border:1px #FFB951 solid; opacity:0.8;}
-.ztree li a.curSelectedNode_Edit {padding-top:0px; background-color:#FFE6B0; color:black; height:16px; border:1px #FFB951 solid; opacity:0.8;}
-.ztree li a.tmpTargetNode_inner {padding-top:0px; background-color:#316AC5; color:white; height:16px; border:1px #316AC5 solid;
-	opacity:0.8; filter:alpha(opacity=80)}
-.ztree li a.tmpTargetNode_prev {}
-.ztree li a.tmpTargetNode_next {}
-.ztree li a input.rename {height:14px; width:80px; padding:0; margin:0;
-	font-size:12px; border:1px #7EC4CC solid; *border:0px}
-.ztree li span {line-height:16px; margin-right:2px}
-.ztree li span.button {line-height:0; margin:0; width:16px; height:16px; display: inline-block; vertical-align:middle;
-	border:0 none; cursor: pointer;outline:none;
-	background-color:transparent; background-repeat:no-repeat; background-attachment: scroll;
-	background-image:url("./img/zTreeStandard.png"); *background-image:url("./img/zTreeStandard.gif")}
-
-.ztree li span.button.chk {width:13px; height:13px; margin:0 3px 0 0; cursor: auto}
-.ztree li span.button.chk.checkbox_false_full {background-position:0 0}
-.ztree li span.button.chk.checkbox_false_full_focus {background-position:0 -14px}
-.ztree li span.button.chk.checkbox_false_part {background-position:0 -28px}
-.ztree li span.button.chk.checkbox_false_part_focus {background-position:0 -42px}
-.ztree li span.button.chk.checkbox_false_disable {background-position:0 -56px}
-.ztree li span.button.chk.checkbox_true_full {background-position:-14px 0}
-.ztree li span.button.chk.checkbox_true_full_focus {background-position:-14px -14px}
-.ztree li span.button.chk.checkbox_true_part {background-position:-14px -28px}
-.ztree li span.button.chk.checkbox_true_part_focus {background-position:-14px -42px}
-.ztree li span.button.chk.checkbox_true_disable {background-position:-14px -56px}
-.ztree li span.button.chk.radio_false_full {background-position:-28px 0}
-.ztree li span.button.chk.radio_false_full_focus {background-position:-28px -14px}
-.ztree li span.button.chk.radio_false_part {background-position:-28px -28px}
-.ztree li span.button.chk.radio_false_part_focus {background-position:-28px -42px}
-.ztree li span.button.chk.radio_false_disable {background-position:-28px -56px}
-.ztree li span.button.chk.radio_true_full {background-position:-42px 0}
-.ztree li span.button.chk.radio_true_full_focus {background-position:-42px -14px}
-.ztree li span.button.chk.radio_true_part {background-position:-42px -28px}
-.ztree li span.button.chk.radio_true_part_focus {background-position:-42px -42px}
-.ztree li span.button.chk.radio_true_disable {background-position:-42px -56px}
-
-.ztree li span.button.switch {width:18px; height:18px}
-.ztree li span.button.root_open{background-position:-92px -54px}
-.ztree li span.button.root_close{background-position:-74px -54px}
-.ztree li span.button.roots_open{background-position:-92px 0}
-.ztree li span.button.roots_close{background-position:-74px 0}
-.ztree li span.button.center_open{background-position:-92px -18px}
-.ztree li span.button.center_close{background-position:-74px -18px}
-.ztree li span.button.bottom_open{background-position:-92px -36px}
-.ztree li span.button.bottom_close{background-position:-74px -36px}
-.ztree li span.button.noline_open{background-position:-92px -72px}
-.ztree li span.button.noline_close{background-position:-74px -72px}
-.ztree li span.button.root_docu{ background:none;}
-.ztree li span.button.roots_docu{background-position:-56px 0}
-.ztree li span.button.center_docu{background-position:-56px -18px}
-.ztree li span.button.bottom_docu{background-position:-56px -36px}
-.ztree li span.button.noline_docu{ background:none;}
-
-.ztree li span.button.ico_open{margin-right:2px; background-position:-110px -16px; vertical-align:top; *vertical-align:middle}
-.ztree li span.button.ico_close{margin-right:2px; background-position:-110px 0; vertical-align:top; *vertical-align:middle}
-.ztree li span.button.ico_docu{margin-right:2px; background-position:-110px -32px; vertical-align:top; *vertical-align:middle}
-.ztree li span.button.edit {margin-right:2px; background-position:-110px -48px; vertical-align:top; *vertical-align:middle}
-.ztree li span.button.remove {margin-right:2px; background-position:-110px -64px; vertical-align:top; *vertical-align:middle}
-
-.ztree li span.button.ico_loading{margin-right:2px; background:url(./img/loading.gif) no-repeat scroll 0 0 transparent; vertical-align:top; *vertical-align:middle}
-
-ul.tmpTargetzTree {background-color:#FFE6B0; opacity:0.8; filter:alpha(opacity=80)}
-
-span.tmpzTreeMove_arrow {width:16px; height:16px; display: inline-block; padding:0; margin:2px 0 0 1px; border:0 none; position:absolute;
-	background-color:transparent; background-repeat:no-repeat; background-attachment: scroll;
-	background-position:-110px -80px; background-image:url("./img/zTreeStandard.png"); *background-image:url("./img/zTreeStandard.gif")}
-
-ul.ztree.zTreeDragUL {margin:0; padding:0; position:absolute; width:auto; height:auto;overflow:hidden; background-color:#cfcfcf; border:1px #00B83F dotted; opacity:0.8; filter:alpha(opacity=80)}
-.zTreeMask {z-index:10000; background-color:#cfcfcf; opacity:0.0; filter:alpha(opacity=0); position:absolute}
-
-/* level style*/
-/*.ztree li span.button.level0 {
-	display:none;
-}
-.ztree li ul.level0 {
-	padding:0;
-	background:none;
-}*/

Файловите разлики са ограничени, защото са твърде много
+ 0 - 150550
src/ext/ext-all-debug.js


Файловите разлики са ограничени, защото са твърде много
+ 0 - 22
src/ext/ext-all.js


Файловите разлики са ограничени, защото са твърде много
+ 0 - 26442
src/ext/ext.js


+ 0 - 1
src/ext/packages/ext-aria/build/config.rb

@@ -1 +0,0 @@
-Compass.add_project_configuration('../sass/config.rb')

+ 0 - 764
src/ext/packages/ext-aria/build/ext-aria-all-debug.scss

@@ -1,764 +0,0 @@
-$image-search-path: '/home/teamcity/buildAgent/work/3cebfbfc7c03d949/sencha/ext/packages/ext-aria/build/resources' !default;
-$theme-name:  'ext-aria' !default;
-$include-ext-abstractmanager: false;
-$include-ext-action: false;
-$include-ext-ajax: false;
-$include-ext-animationqueue: false;
-$include-ext-component: false;
-$include-ext-componentloader: false;
-$include-ext-componentmanager: false;
-$include-ext-componentquery: false;
-$include-ext-editor: false;
-$include-ext-elementloader: false;
-$include-ext-eventmanager: false;
-$include-ext-evented: false;
-$include-ext-focusmanager: false;
-$include-ext-globalevents: false;
-$include-ext-img: false;
-$include-ext-loadmask: false;
-$include-ext-mixin: false;
-$include-ext-progressbar: false;
-$include-ext-progressbarwidget: false;
-$include-ext-taskqueue: false;
-$include-ext-template: false;
-$include-ext-widget: false;
-$include-ext-xtemplate: false;
-$include-ext-zindexmanager: false;
-$include-ext-app-application: false;
-$include-ext-app-basecontroller: false;
-$include-ext-app-controller: false;
-$include-ext-app-eventbus: false;
-$include-ext-app-eventdomain: false;
-$include-ext-app-profile: false;
-$include-ext-app-util: false;
-$include-ext-app-viewcontroller: false;
-$include-ext-app-viewmodel: false;
-$include-ext-app-bind-abstractstub: false;
-$include-ext-app-bind-basebinding: false;
-$include-ext-app-bind-binding: false;
-$include-ext-app-bind-formula: false;
-$include-ext-app-bind-linkstub: false;
-$include-ext-app-bind-multi: false;
-$include-ext-app-bind-rootstub: false;
-$include-ext-app-bind-stub: false;
-$include-ext-app-bind-template: false;
-$include-ext-app-bind-templatebinding: false;
-$include-ext-app-bindinspector-componentdetail: false;
-$include-ext-app-bindinspector-componentlist: false;
-$include-ext-app-bindinspector-container: false;
-$include-ext-app-bindinspector-environment: false;
-$include-ext-app-bindinspector-inspector: false;
-$include-ext-app-bindinspector-util: false;
-$include-ext-app-bindinspector-viewmodeldetail: false;
-$include-ext-app-bindinspector-noconflict-basemodel: false;
-$include-ext-app-domain-component: false;
-$include-ext-app-domain-controller: false;
-$include-ext-app-domain-direct: false;
-$include-ext-app-domain-global: false;
-$include-ext-app-domain-store: false;
-$include-ext-app-domain-view: false;
-$include-ext-app-route-queue: false;
-$include-ext-app-route-route: false;
-$include-ext-app-route-router: false;
-$include-ext-aria-component: true;
-$include-ext-aria-focusmanager: true;
-$include-ext-aria-img: true;
-$include-ext-aria-button-button: true;
-$include-ext-aria-button-cycle: true;
-$include-ext-aria-button-split: true;
-$include-ext-aria-container-viewport: true;
-$include-ext-aria-form-checkboxgroup: true;
-$include-ext-aria-form-fieldcontainer: true;
-$include-ext-aria-form-fieldset: true;
-$include-ext-aria-form-radiogroup: true;
-$include-ext-aria-form-field-base: true;
-$include-ext-aria-form-field-checkbox: true;
-$include-ext-aria-form-field-combobox: true;
-$include-ext-aria-form-field-date: true;
-$include-ext-aria-form-field-display: true;
-$include-ext-aria-form-field-number: true;
-$include-ext-aria-form-field-picker: true;
-$include-ext-aria-form-field-text: true;
-$include-ext-aria-form-field-textarea: true;
-$include-ext-aria-form-field-time: true;
-$include-ext-aria-grid-navigationmodel: true;
-$include-ext-aria-grid-column-column: true;
-$include-ext-aria-grid-header-container: true;
-$include-ext-aria-menu-checkitem: true;
-$include-ext-aria-menu-item: true;
-$include-ext-aria-panel-panel: true;
-$include-ext-aria-panel-tool: true;
-$include-ext-aria-picker-color: true;
-$include-ext-aria-slider-multi: true;
-$include-ext-aria-slider-thumb: true;
-$include-ext-aria-slider-tip: true;
-$include-ext-aria-tab-bar: true;
-$include-ext-aria-tab-panel: true;
-$include-ext-aria-tab-tab: true;
-$include-ext-aria-tip-quicktip: true;
-$include-ext-aria-ux-form-multiselect: true;
-$include-ext-aria-view-boundlist: true;
-$include-ext-aria-view-boundlistkeynav: true;
-$include-ext-aria-view-table: true;
-$include-ext-aria-view-view: true;
-$include-ext-aria-window-messagebox: true;
-$include-ext-aria-window-toast: true;
-$include-ext-aria-window-window: true;
-$include-ext-button-button: false;
-$include-ext-button-cycle: false;
-$include-ext-button-manager: false;
-$include-ext-button-segmented: false;
-$include-ext-button-split: false;
-$include-ext-container-buttongroup: false;
-$include-ext-container-container: false;
-$include-ext-container-dockingcontainer: false;
-$include-ext-container-monitor: false;
-$include-ext-container-viewport: false;
-$include-ext-dashboard-column: false;
-$include-ext-dashboard-dashboard: false;
-$include-ext-dashboard-dropzone: false;
-$include-ext-dashboard-panel: false;
-$include-ext-dashboard-part: false;
-$include-ext-data-abstractstore: false;
-$include-ext-data-arraystore: false;
-$include-ext-data-batch: false;
-$include-ext-data-bufferedstore: false;
-$include-ext-data-chainedstore: false;
-$include-ext-data-connection: false;
-$include-ext-data-directstore: false;
-$include-ext-data-error: false;
-$include-ext-data-errorcollection: false;
-$include-ext-data-jsonp: false;
-$include-ext-data-jsonpstore: false;
-$include-ext-data-jsonstore: false;
-$include-ext-data-localstore: false;
-$include-ext-data-model: false;
-$include-ext-data-modelmanager: false;
-$include-ext-data-nodeinterface: false;
-$include-ext-data-nodestore: false;
-$include-ext-data-pagemap: false;
-$include-ext-data-proxystore: false;
-$include-ext-data-request: false;
-$include-ext-data-resultset: false;
-$include-ext-data-session: false;
-$include-ext-data-sorttypes: false;
-$include-ext-data-store: false;
-$include-ext-data-storemanager: false;
-$include-ext-data-treemodel: false;
-$include-ext-data-treestore: false;
-$include-ext-data-types: false;
-$include-ext-data-validation: false;
-$include-ext-data-xmlstore: false;
-$include-ext-data-field-boolean: false;
-$include-ext-data-field-date: false;
-$include-ext-data-field-field: false;
-$include-ext-data-field-integer: false;
-$include-ext-data-field-number: false;
-$include-ext-data-field-string: false;
-$include-ext-data-flash-binaryxhr: false;
-$include-ext-data-identifier-generator: false;
-$include-ext-data-identifier-negative: false;
-$include-ext-data-identifier-sequential: false;
-$include-ext-data-identifier-uuid: false;
-$include-ext-data-matrix-matrix: false;
-$include-ext-data-matrix-side: false;
-$include-ext-data-matrix-slice: false;
-$include-ext-data-operation-create: false;
-$include-ext-data-operation-destroy: false;
-$include-ext-data-operation-operation: false;
-$include-ext-data-operation-read: false;
-$include-ext-data-operation-update: false;
-$include-ext-data-proxy-ajax: false;
-$include-ext-data-proxy-client: false;
-$include-ext-data-proxy-direct: false;
-$include-ext-data-proxy-jsonp: false;
-$include-ext-data-proxy-localstorage: false;
-$include-ext-data-proxy-memory: false;
-$include-ext-data-proxy-proxy: false;
-$include-ext-data-proxy-rest: false;
-$include-ext-data-proxy-server: false;
-$include-ext-data-proxy-sessionstorage: false;
-$include-ext-data-proxy-webstorage: false;
-$include-ext-data-reader-array: false;
-$include-ext-data-reader-json: false;
-$include-ext-data-reader-reader: false;
-$include-ext-data-reader-xml: false;
-$include-ext-data-schema-association: false;
-$include-ext-data-schema-manytomany: false;
-$include-ext-data-schema-manytoone: false;
-$include-ext-data-schema-namer: false;
-$include-ext-data-schema-onetoone: false;
-$include-ext-data-schema-role: false;
-$include-ext-data-schema-schema: false;
-$include-ext-data-session-batchvisitor: false;
-$include-ext-data-session-changesvisitor: false;
-$include-ext-data-session-childchangesvisitor: false;
-$include-ext-data-validator-bound: false;
-$include-ext-data-validator-email: false;
-$include-ext-data-validator-exclusion: false;
-$include-ext-data-validator-format: false;
-$include-ext-data-validator-inclusion: false;
-$include-ext-data-validator-length: false;
-$include-ext-data-validator-list: false;
-$include-ext-data-validator-presence: false;
-$include-ext-data-validator-range: false;
-$include-ext-data-validator-validator: false;
-$include-ext-data-writer-json: false;
-$include-ext-data-writer-writer: false;
-$include-ext-data-writer-xml: false;
-$include-ext-dd-dd: false;
-$include-ext-dd-ddproxy: false;
-$include-ext-dd-ddtarget: false;
-$include-ext-dd-dragdrop: false;
-$include-ext-dd-dragdropmanager: false;
-$include-ext-dd-dragsource: false;
-$include-ext-dd-dragtracker: false;
-$include-ext-dd-dragzone: false;
-$include-ext-dd-droptarget: false;
-$include-ext-dd-dropzone: false;
-$include-ext-dd-registry: false;
-$include-ext-dd-scrollmanager: false;
-$include-ext-dd-statusproxy: false;
-$include-ext-direct-event: false;
-$include-ext-direct-exceptionevent: false;
-$include-ext-direct-jsonprovider: false;
-$include-ext-direct-manager: false;
-$include-ext-direct-pollingprovider: false;
-$include-ext-direct-provider: false;
-$include-ext-direct-remotingevent: false;
-$include-ext-direct-remotingmethod: false;
-$include-ext-direct-remotingprovider: false;
-$include-ext-direct-transaction: false;
-$include-ext-dom-buttonelement: false;
-$include-ext-dom-compositeelement: false;
-$include-ext-dom-compositeelementlite: false;
-$include-ext-dom-element: false;
-$include-ext-dom-elementevent: false;
-$include-ext-dom-fly: false;
-$include-ext-dom-garbagecollector: false;
-$include-ext-dom-helper: false;
-$include-ext-dom-layer: false;
-$include-ext-dom-query: false;
-$include-ext-dom-shadow: false;
-$include-ext-dom-shim: false;
-$include-ext-dom-underlay: false;
-$include-ext-dom-underlaypool: false;
-$include-ext-event-event: false;
-$include-ext-event-gesture-doubletap: false;
-$include-ext-event-gesture-drag: false;
-$include-ext-event-gesture-edgeswipe: false;
-$include-ext-event-gesture-longpress: false;
-$include-ext-event-gesture-multitouch: false;
-$include-ext-event-gesture-pinch: false;
-$include-ext-event-gesture-recognizer: false;
-$include-ext-event-gesture-rotate: false;
-$include-ext-event-gesture-singletouch: false;
-$include-ext-event-gesture-swipe: false;
-$include-ext-event-gesture-tap: false;
-$include-ext-event-publisher-dom: false;
-$include-ext-event-publisher-elementpaint: false;
-$include-ext-event-publisher-elementsize: false;
-$include-ext-event-publisher-focus: false;
-$include-ext-event-publisher-gesture: false;
-$include-ext-event-publisher-mouseenterleave: false;
-$include-ext-event-publisher-publisher: false;
-$include-ext-flash-component: false;
-$include-ext-form-basic: false;
-$include-ext-form-checkboxgroup: false;
-$include-ext-form-checkboxmanager: false;
-$include-ext-form-fieldancestor: false;
-$include-ext-form-fieldcontainer: false;
-$include-ext-form-fieldset: false;
-$include-ext-form-label: false;
-$include-ext-form-labelable: false;
-$include-ext-form-panel: false;
-$include-ext-form-radiogroup: false;
-$include-ext-form-radiomanager: false;
-$include-ext-form-action-action: false;
-$include-ext-form-action-directaction: false;
-$include-ext-form-action-directload: false;
-$include-ext-form-action-directsubmit: false;
-$include-ext-form-action-load: false;
-$include-ext-form-action-standardsubmit: false;
-$include-ext-form-action-submit: false;
-$include-ext-form-field-base: false;
-$include-ext-form-field-checkbox: false;
-$include-ext-form-field-combobox: false;
-$include-ext-form-field-date: false;
-$include-ext-form-field-display: false;
-$include-ext-form-field-field: false;
-$include-ext-form-field-file: false;
-$include-ext-form-field-filebutton: false;
-$include-ext-form-field-hidden: false;
-$include-ext-form-field-htmleditor: false;
-$include-ext-form-field-number: false;
-$include-ext-form-field-picker: false;
-$include-ext-form-field-radio: false;
-$include-ext-form-field-spinner: false;
-$include-ext-form-field-tag: false;
-$include-ext-form-field-text: false;
-$include-ext-form-field-textarea: false;
-$include-ext-form-field-time: false;
-$include-ext-form-field-trigger: false;
-$include-ext-form-field-vtypes: false;
-$include-ext-form-trigger-component: false;
-$include-ext-form-trigger-spinner: false;
-$include-ext-form-trigger-trigger: false;
-$include-ext-fx-anim: false;
-$include-ext-fx-animation: false;
-$include-ext-fx-animator: false;
-$include-ext-fx-cubicbezier: false;
-$include-ext-fx-drawpath: false;
-$include-ext-fx-easing: false;
-$include-ext-fx-manager: false;
-$include-ext-fx-propertyhandler: false;
-$include-ext-fx-queue: false;
-$include-ext-fx-runner: false;
-$include-ext-fx-state: false;
-$include-ext-fx-animation-abstract: false;
-$include-ext-fx-animation-cube: false;
-$include-ext-fx-animation-fade: false;
-$include-ext-fx-animation-fadeout: false;
-$include-ext-fx-animation-flip: false;
-$include-ext-fx-animation-pop: false;
-$include-ext-fx-animation-popout: false;
-$include-ext-fx-animation-slide: false;
-$include-ext-fx-animation-slideout: false;
-$include-ext-fx-animation-wipe: false;
-$include-ext-fx-animation-wipeout: false;
-$include-ext-fx-easing-abstract: false;
-$include-ext-fx-easing-bounce: false;
-$include-ext-fx-easing-boundmomentum: false;
-$include-ext-fx-easing-easein: false;
-$include-ext-fx-easing-easeout: false;
-$include-ext-fx-easing-easing: false;
-$include-ext-fx-easing-linear: false;
-$include-ext-fx-easing-momentum: false;
-$include-ext-fx-layout-card: false;
-$include-ext-fx-layout-card-abstract: false;
-$include-ext-fx-layout-card-cover: false;
-$include-ext-fx-layout-card-cube: false;
-$include-ext-fx-layout-card-fade: false;
-$include-ext-fx-layout-card-flip: false;
-$include-ext-fx-layout-card-pop: false;
-$include-ext-fx-layout-card-reveal: false;
-$include-ext-fx-layout-card-scroll: false;
-$include-ext-fx-layout-card-scrollcover: false;
-$include-ext-fx-layout-card-scrollreveal: false;
-$include-ext-fx-layout-card-slide: false;
-$include-ext-fx-layout-card-style: false;
-$include-ext-fx-runner-css: false;
-$include-ext-fx-runner-cssanimation: false;
-$include-ext-fx-runner-csstransition: false;
-$include-ext-fx-target-component: false;
-$include-ext-fx-target-compositeelement: false;
-$include-ext-fx-target-compositeelementcss: false;
-$include-ext-fx-target-compositesprite: false;
-$include-ext-fx-target-element: false;
-$include-ext-fx-target-elementcss: false;
-$include-ext-fx-target-sprite: false;
-$include-ext-fx-target-target: false;
-$include-ext-grid-cellcontext: false;
-$include-ext-grid-celleditor: false;
-$include-ext-grid-columncomponentlayout: false;
-$include-ext-grid-columnlayout: false;
-$include-ext-grid-columnmanager: false;
-$include-ext-grid-navigationmodel: false;
-$include-ext-grid-panel: false;
-$include-ext-grid-roweditor: false;
-$include-ext-grid-roweditorbuttons: false;
-$include-ext-grid-viewdropzone: false;
-$include-ext-grid-column-action: false;
-$include-ext-grid-column-boolean: false;
-$include-ext-grid-column-check: false;
-$include-ext-grid-column-column: false;
-$include-ext-grid-column-date: false;
-$include-ext-grid-column-number: false;
-$include-ext-grid-column-rownumberer: false;
-$include-ext-grid-column-template: false;
-$include-ext-grid-column-widget: false;
-$include-ext-grid-feature-abstractsummary: false;
-$include-ext-grid-feature-feature: false;
-$include-ext-grid-feature-groupstore: false;
-$include-ext-grid-feature-grouping: false;
-$include-ext-grid-feature-groupingsummary: false;
-$include-ext-grid-feature-rowbody: false;
-$include-ext-grid-feature-summary: false;
-$include-ext-grid-filters-filters: false;
-$include-ext-grid-filters-filter-base: false;
-$include-ext-grid-filters-filter-boolean: false;
-$include-ext-grid-filters-filter-date: false;
-$include-ext-grid-filters-filter-list: false;
-$include-ext-grid-filters-filter-number: false;
-$include-ext-grid-filters-filter-singlefilter: false;
-$include-ext-grid-filters-filter-string: false;
-$include-ext-grid-filters-filter-trifilter: false;
-$include-ext-grid-header-container: false;
-$include-ext-grid-header-dragzone: false;
-$include-ext-grid-header-dropzone: false;
-$include-ext-grid-locking-headercontainer: false;
-$include-ext-grid-locking-lockable: false;
-$include-ext-grid-locking-rowsynchronizer: false;
-$include-ext-grid-locking-view: false;
-$include-ext-grid-plugin-bufferedrenderer: false;
-$include-ext-grid-plugin-cellediting: false;
-$include-ext-grid-plugin-clipboard: false;
-$include-ext-grid-plugin-dragdrop: false;
-$include-ext-grid-plugin-editing: false;
-$include-ext-grid-plugin-headerreorderer: false;
-$include-ext-grid-plugin-headerresizer: false;
-$include-ext-grid-plugin-rowediting: false;
-$include-ext-grid-plugin-rowexpander: false;
-$include-ext-grid-property-grid: false;
-$include-ext-grid-property-headercontainer: false;
-$include-ext-grid-property-property: false;
-$include-ext-grid-property-reader: false;
-$include-ext-grid-property-store: false;
-$include-ext-grid-selection-cells: false;
-$include-ext-grid-selection-columns: false;
-$include-ext-grid-selection-rows: false;
-$include-ext-grid-selection-selection: false;
-$include-ext-grid-selection-spreadsheetmodel: false;
-$include-ext-layout-context: false;
-$include-ext-layout-contextitem: false;
-$include-ext-layout-layout: false;
-$include-ext-layout-sizemodel: false;
-$include-ext-layout-component-auto: false;
-$include-ext-layout-component-body: false;
-$include-ext-layout-component-boundlist: false;
-$include-ext-layout-component-component: false;
-$include-ext-layout-component-dock: false;
-$include-ext-layout-component-fieldset: false;
-$include-ext-layout-component-progressbar: false;
-$include-ext-layout-component-field-fieldcontainer: false;
-$include-ext-layout-component-field-htmleditor: false;
-$include-ext-layout-container-absolute: false;
-$include-ext-layout-container-accordion: false;
-$include-ext-layout-container-anchor: false;
-$include-ext-layout-container-auto: false;
-$include-ext-layout-container-border: false;
-$include-ext-layout-container-box: false;
-$include-ext-layout-container-card: false;
-$include-ext-layout-container-center: false;
-$include-ext-layout-container-checkboxgroup: false;
-$include-ext-layout-container-column: false;
-$include-ext-layout-container-columnsplitter: false;
-$include-ext-layout-container-columnsplittertracker: false;
-$include-ext-layout-container-container: false;
-$include-ext-layout-container-dashboard: false;
-$include-ext-layout-container-editor: false;
-$include-ext-layout-container-fit: false;
-$include-ext-layout-container-form: false;
-$include-ext-layout-container-hbox: false;
-$include-ext-layout-container-segmentedbutton: false;
-$include-ext-layout-container-table: false;
-$include-ext-layout-container-vbox: false;
-$include-ext-layout-container-border-region: false;
-$include-ext-layout-container-boxoverflow-menu: false;
-$include-ext-layout-container-boxoverflow-none: false;
-$include-ext-layout-container-boxoverflow-scroller: false;
-$include-ext-menu-checkitem: false;
-$include-ext-menu-colorpicker: false;
-$include-ext-menu-datepicker: false;
-$include-ext-menu-item: false;
-$include-ext-menu-manager: false;
-$include-ext-menu-menu: false;
-$include-ext-menu-separator: false;
-$include-ext-mixin-bindable: false;
-$include-ext-mixin-factoryable: false;
-$include-ext-mixin-hookable: false;
-$include-ext-mixin-identifiable: false;
-$include-ext-mixin-inheritable: false;
-$include-ext-mixin-mashup: false;
-$include-ext-mixin-observable: false;
-$include-ext-mixin-queryable: false;
-$include-ext-mixin-responsive: false;
-$include-ext-mixin-selectable: false;
-$include-ext-mixin-templatable: false;
-$include-ext-mixin-traversable: false;
-$include-ext-overrides-globalevents: false;
-$include-ext-overrides-widget: false;
-$include-ext-overrides-app-application: false;
-$include-ext-overrides-app-domain-component: false;
-$include-ext-overrides-dom-element: false;
-$include-ext-overrides-dom-helper: false;
-$include-ext-overrides-event-event: false;
-$include-ext-overrides-event-publisher-dom: false;
-$include-ext-overrides-event-publisher-gesture: false;
-$include-ext-overrides-plugin-abstract: false;
-$include-ext-overrides-util-positionable: false;
-$include-ext-panel-bar: false;
-$include-ext-panel-dd: false;
-$include-ext-panel-header: false;
-$include-ext-panel-panel: false;
-$include-ext-panel-pinnable: false;
-$include-ext-panel-proxy: false;
-$include-ext-panel-table: false;
-$include-ext-panel-title: false;
-$include-ext-panel-tool: false;
-$include-ext-perf-accumulator: false;
-$include-ext-perf-monitor: false;
-$include-ext-picker-color: false;
-$include-ext-picker-date: false;
-$include-ext-picker-month: false;
-$include-ext-picker-time: false;
-$include-ext-plugin-abstract: false;
-$include-ext-plugin-abstractclipboard: false;
-$include-ext-plugin-manager: false;
-$include-ext-plugin-responsive: false;
-$include-ext-plugin-viewport: false;
-$include-ext-resizer-bordersplitter: false;
-$include-ext-resizer-bordersplittertracker: false;
-$include-ext-resizer-handle: false;
-$include-ext-resizer-resizetracker: false;
-$include-ext-resizer-resizer: false;
-$include-ext-resizer-splitter: false;
-$include-ext-resizer-splittertracker: false;
-$include-ext-rtl-component: false;
-$include-ext-rtl-button-button: false;
-$include-ext-rtl-button-segmented: false;
-$include-ext-rtl-dd-dd: false;
-$include-ext-rtl-dom-element: false;
-$include-ext-rtl-event-event: false;
-$include-ext-rtl-form-labelable: false;
-$include-ext-rtl-form-field-file: false;
-$include-ext-rtl-form-field-filebutton: false;
-$include-ext-rtl-grid-celleditor: false;
-$include-ext-rtl-grid-columnlayout: false;
-$include-ext-rtl-grid-navigationmodel: false;
-$include-ext-rtl-grid-column-column: false;
-$include-ext-rtl-grid-feature-summary: false;
-$include-ext-rtl-grid-plugin-headerresizer: false;
-$include-ext-rtl-grid-plugin-rowediting: false;
-$include-ext-rtl-layout-contextitem: false;
-$include-ext-rtl-layout-component-dock: false;
-$include-ext-rtl-layout-container-absolute: false;
-$include-ext-rtl-layout-container-border: false;
-$include-ext-rtl-layout-container-box: false;
-$include-ext-rtl-layout-container-column: false;
-$include-ext-rtl-layout-container-hbox: false;
-$include-ext-rtl-layout-container-vbox: false;
-$include-ext-rtl-layout-container-boxoverflow-menu: false;
-$include-ext-rtl-layout-container-boxoverflow-scroller: false;
-$include-ext-rtl-panel-bar: false;
-$include-ext-rtl-panel-panel: false;
-$include-ext-rtl-panel-title: false;
-$include-ext-rtl-resizer-bordersplittertracker: false;
-$include-ext-rtl-resizer-resizetracker: false;
-$include-ext-rtl-resizer-splittertracker: false;
-$include-ext-rtl-scroll-domscroller: false;
-$include-ext-rtl-scroll-indicator: false;
-$include-ext-rtl-scroll-scroller: false;
-$include-ext-rtl-scroll-touchscroller: false;
-$include-ext-rtl-slider-multi: false;
-$include-ext-rtl-tab-bar: false;
-$include-ext-rtl-tip-quicktipmanager: false;
-$include-ext-rtl-tree-column: false;
-$include-ext-rtl-util-focusablecontainer: false;
-$include-ext-rtl-util-renderable: false;
-$include-ext-rtl-view-navigationmodel: false;
-$include-ext-rtl-view-table: false;
-$include-ext-scroll-domscroller: false;
-$include-ext-scroll-indicator: false;
-$include-ext-scroll-scroller: false;
-$include-ext-scroll-touchscroller: false;
-$include-ext-selection-cellmodel: false;
-$include-ext-selection-checkboxmodel: false;
-$include-ext-selection-dataviewmodel: false;
-$include-ext-selection-model: false;
-$include-ext-selection-rowmodel: false;
-$include-ext-selection-treemodel: false;
-$include-ext-slider-multi: false;
-$include-ext-slider-single: false;
-$include-ext-slider-thumb: false;
-$include-ext-slider-tip: false;
-$include-ext-slider-widget: false;
-$include-ext-sparkline-bar: false;
-$include-ext-sparkline-barbase: false;
-$include-ext-sparkline-base: false;
-$include-ext-sparkline-box: false;
-$include-ext-sparkline-bullet: false;
-$include-ext-sparkline-canvasbase: false;
-$include-ext-sparkline-canvascanvas: false;
-$include-ext-sparkline-discrete: false;
-$include-ext-sparkline-line: false;
-$include-ext-sparkline-pie: false;
-$include-ext-sparkline-rangemap: false;
-$include-ext-sparkline-shape: false;
-$include-ext-sparkline-tristate: false;
-$include-ext-sparkline-vmlcanvas: false;
-$include-ext-state-cookieprovider: false;
-$include-ext-state-localstorageprovider: false;
-$include-ext-state-manager: false;
-$include-ext-state-provider: false;
-$include-ext-state-stateful: false;
-$include-ext-tab-bar: false;
-$include-ext-tab-panel: false;
-$include-ext-tab-tab: false;
-$include-ext-tip-quicktip: false;
-$include-ext-tip-quicktipmanager: false;
-$include-ext-tip-tip: false;
-$include-ext-tip-tooltip: false;
-$include-ext-toolbar-breadcrumb: false;
-$include-ext-toolbar-fill: false;
-$include-ext-toolbar-item: false;
-$include-ext-toolbar-paging: false;
-$include-ext-toolbar-separator: false;
-$include-ext-toolbar-spacer: false;
-$include-ext-toolbar-textitem: false;
-$include-ext-toolbar-toolbar: false;
-$include-ext-tree-column: false;
-$include-ext-tree-navigationmodel: false;
-$include-ext-tree-panel: false;
-$include-ext-tree-view: false;
-$include-ext-tree-viewdragzone: false;
-$include-ext-tree-viewdropzone: false;
-$include-ext-tree-plugin-treeviewdragdrop: false;
-$include-ext-util-abstractmixedcollection: false;
-$include-ext-util-animate: false;
-$include-ext-util-base64: false;
-$include-ext-util-css: false;
-$include-ext-util-csv: false;
-$include-ext-util-clickrepeater: false;
-$include-ext-util-collection: false;
-$include-ext-util-collectionkey: false;
-$include-ext-util-componentdragger: false;
-$include-ext-util-cookies: false;
-$include-ext-util-delimitedvalue: false;
-$include-ext-util-elementcontainer: false;
-$include-ext-util-event: false;
-$include-ext-util-filter: false;
-$include-ext-util-filtercollection: false;
-$include-ext-util-floating: false;
-$include-ext-util-focusable: false;
-$include-ext-util-focusablecontainer: false;
-$include-ext-util-format: false;
-$include-ext-util-group: false;
-$include-ext-util-groupcollection: false;
-$include-ext-util-grouper: false;
-$include-ext-util-hashmap: false;
-$include-ext-util-history: false;
-$include-ext-util-inflector: false;
-$include-ext-util-keymap: false;
-$include-ext-util-keynav: false;
-$include-ext-util-localstorage: false;
-$include-ext-util-lrucache: false;
-$include-ext-util-memento: false;
-$include-ext-util-mixedcollection: false;
-$include-ext-util-objecttemplate: false;
-$include-ext-util-observable: false;
-$include-ext-util-offset: false;
-$include-ext-util-paintmonitor: false;
-$include-ext-util-point: false;
-$include-ext-util-positionable: false;
-$include-ext-util-protoelement: false;
-$include-ext-util-queue: false;
-$include-ext-util-region: false;
-$include-ext-util-renderable: false;
-$include-ext-util-schedulable: false;
-$include-ext-util-scheduler: false;
-$include-ext-util-sizemonitor: false;
-$include-ext-util-sortable: false;
-$include-ext-util-sorter: false;
-$include-ext-util-sortercollection: false;
-$include-ext-util-storeholder: false;
-$include-ext-util-tsv: false;
-$include-ext-util-taskmanager: false;
-$include-ext-util-taskrunner: false;
-$include-ext-util-textmetrics: false;
-$include-ext-util-translatable: false;
-$include-ext-util-xtemplatecompiler: false;
-$include-ext-util-xtemplateparser: false;
-$include-ext-util-paintmonitor-abstract: false;
-$include-ext-util-paintmonitor-cssanimation: false;
-$include-ext-util-paintmonitor-overflowchange: false;
-$include-ext-util-sizemonitor-abstract: false;
-$include-ext-util-sizemonitor-default: false;
-$include-ext-util-sizemonitor-overflowchange: false;
-$include-ext-util-sizemonitor-scroll: false;
-$include-ext-util-translatable-abstract: false;
-$include-ext-util-translatable-cssposition: false;
-$include-ext-util-translatable-csstransform: false;
-$include-ext-util-translatable-dom: false;
-$include-ext-util-translatable-scrollparent: false;
-$include-ext-util-translatable-scrollposition: false;
-$include-ext-ux-boxreorderer: true;
-$include-ext-ux-celldragdrop: true;
-$include-ext-ux-datatip: true;
-$include-ext-ux-dataview-animated: true;
-$include-ext-ux-dataview-dragselector: true;
-$include-ext-ux-dataview-draggable: true;
-$include-ext-ux-dataview-labeleditor: true;
-$include-ext-ux-explorer: true;
-$include-ext-ux-fieldreplicator: true;
-$include-ext-ux-gmappanel: true;
-$include-ext-ux-grouptabpanel: true;
-$include-ext-ux-grouptabrenderer: true;
-$include-ext-ux-iframe: true;
-$include-ext-ux-livesearchgridpanel: true;
-$include-ext-ux-previewplugin: true;
-$include-ext-ux-progressbarpager: true;
-$include-ext-ux-rowexpander: true;
-$include-ext-ux-slidingpager: true;
-$include-ext-ux-spotlight: true;
-$include-ext-ux-tabclosemenu: true;
-$include-ext-ux-tabreorderer: true;
-$include-ext-ux-tabscrollermenu: true;
-$include-ext-ux-toolbardroppable: true;
-$include-ext-ux-treepicker: true;
-$include-ext-ux-ajax-datasimlet: true;
-$include-ext-ux-ajax-jsonsimlet: true;
-$include-ext-ux-ajax-simmanager: true;
-$include-ext-ux-ajax-simxhr: true;
-$include-ext-ux-ajax-simlet: true;
-$include-ext-ux-ajax-xmlsimlet: true;
-$include-ext-ux-dashboard-googlersspart: true;
-$include-ext-ux-dashboard-googlerssview: true;
-$include-ext-ux-data-pagingmemoryproxy: true;
-$include-ext-ux-dd-cellfielddropzone: true;
-$include-ext-ux-dd-panelfielddragzone: true;
-$include-ext-ux-desktop-app: true;
-$include-ext-ux-desktop-desktop: true;
-$include-ext-ux-desktop-module: true;
-$include-ext-ux-desktop-shortcutmodel: true;
-$include-ext-ux-desktop-startmenu: true;
-$include-ext-ux-desktop-taskbar: true;
-$include-ext-ux-desktop-trayclock: true;
-$include-ext-ux-desktop-video: true;
-$include-ext-ux-desktop-wallpaper: true;
-$include-ext-ux-event-driver: true;
-$include-ext-ux-event-maker: true;
-$include-ext-ux-event-player: true;
-$include-ext-ux-event-recorder: true;
-$include-ext-ux-event-recordermanager: true;
-$include-ext-ux-form-itemselector: true;
-$include-ext-ux-form-multiselect: true;
-$include-ext-ux-form-searchfield: true;
-$include-ext-ux-google-api: true;
-$include-ext-ux-google-feeds: true;
-$include-ext-ux-grid-subtable: true;
-$include-ext-ux-grid-transformgrid: true;
-$include-ext-ux-statusbar-statusbar: true;
-$include-ext-ux-statusbar-validationstatus: true;
-$include-ext-view-abstractview: false;
-$include-ext-view-boundlist: false;
-$include-ext-view-boundlistkeynav: false;
-$include-ext-view-dragzone: false;
-$include-ext-view-dropzone: false;
-$include-ext-view-multiselector: false;
-$include-ext-view-multiselectorsearch: false;
-$include-ext-view-navigationmodel: false;
-$include-ext-view-nodecache: false;
-$include-ext-view-table: false;
-$include-ext-view-tablelayout: false;
-$include-ext-view-view: false;
-$include-ext-window-messagebox: false;
-$include-ext-window-toast: false;
-$include-ext-window-window: false;
-/* including package ext-aria */
-@import '../sass/etc/all';
-/* including package ext-aria */
-@import '../sass/var/Component';
-@import '../sass/var/panel/Tool';
-@import '../sass/var/grid/header/Container';
-@import '../sass/var/form/FieldSet';

+ 0 - 764
src/ext/packages/ext-aria/build/ext-aria-all-rtl-debug.scss

@@ -1,764 +0,0 @@
-$image-search-path: '/home/teamcity/buildAgent/work/3cebfbfc7c03d949/sencha/ext/packages/ext-aria/build/resources' !default;
-$theme-name:  'ext-aria' !default;
-$include-ext-abstractmanager: false;
-$include-ext-action: false;
-$include-ext-ajax: false;
-$include-ext-animationqueue: false;
-$include-ext-component: false;
-$include-ext-componentloader: false;
-$include-ext-componentmanager: false;
-$include-ext-componentquery: false;
-$include-ext-editor: false;
-$include-ext-elementloader: false;
-$include-ext-eventmanager: false;
-$include-ext-evented: false;
-$include-ext-focusmanager: false;
-$include-ext-globalevents: false;
-$include-ext-img: false;
-$include-ext-loadmask: false;
-$include-ext-mixin: false;
-$include-ext-progressbar: false;
-$include-ext-progressbarwidget: false;
-$include-ext-taskqueue: false;
-$include-ext-template: false;
-$include-ext-widget: false;
-$include-ext-xtemplate: false;
-$include-ext-zindexmanager: false;
-$include-ext-app-application: false;
-$include-ext-app-basecontroller: false;
-$include-ext-app-controller: false;
-$include-ext-app-eventbus: false;
-$include-ext-app-eventdomain: false;
-$include-ext-app-profile: false;
-$include-ext-app-util: false;
-$include-ext-app-viewcontroller: false;
-$include-ext-app-viewmodel: false;
-$include-ext-app-bind-abstractstub: false;
-$include-ext-app-bind-basebinding: false;
-$include-ext-app-bind-binding: false;
-$include-ext-app-bind-formula: false;
-$include-ext-app-bind-linkstub: false;
-$include-ext-app-bind-multi: false;
-$include-ext-app-bind-rootstub: false;
-$include-ext-app-bind-stub: false;
-$include-ext-app-bind-template: false;
-$include-ext-app-bind-templatebinding: false;
-$include-ext-app-bindinspector-componentdetail: false;
-$include-ext-app-bindinspector-componentlist: false;
-$include-ext-app-bindinspector-container: false;
-$include-ext-app-bindinspector-environment: false;
-$include-ext-app-bindinspector-inspector: false;
-$include-ext-app-bindinspector-util: false;
-$include-ext-app-bindinspector-viewmodeldetail: false;
-$include-ext-app-bindinspector-noconflict-basemodel: false;
-$include-ext-app-domain-component: false;
-$include-ext-app-domain-controller: false;
-$include-ext-app-domain-direct: false;
-$include-ext-app-domain-global: false;
-$include-ext-app-domain-store: false;
-$include-ext-app-domain-view: false;
-$include-ext-app-route-queue: false;
-$include-ext-app-route-route: false;
-$include-ext-app-route-router: false;
-$include-ext-aria-component: true;
-$include-ext-aria-focusmanager: true;
-$include-ext-aria-img: true;
-$include-ext-aria-button-button: true;
-$include-ext-aria-button-cycle: true;
-$include-ext-aria-button-split: true;
-$include-ext-aria-container-viewport: true;
-$include-ext-aria-form-checkboxgroup: true;
-$include-ext-aria-form-fieldcontainer: true;
-$include-ext-aria-form-fieldset: true;
-$include-ext-aria-form-radiogroup: true;
-$include-ext-aria-form-field-base: true;
-$include-ext-aria-form-field-checkbox: true;
-$include-ext-aria-form-field-combobox: true;
-$include-ext-aria-form-field-date: true;
-$include-ext-aria-form-field-display: true;
-$include-ext-aria-form-field-number: true;
-$include-ext-aria-form-field-picker: true;
-$include-ext-aria-form-field-text: true;
-$include-ext-aria-form-field-textarea: true;
-$include-ext-aria-form-field-time: true;
-$include-ext-aria-grid-navigationmodel: true;
-$include-ext-aria-grid-column-column: true;
-$include-ext-aria-grid-header-container: true;
-$include-ext-aria-menu-checkitem: true;
-$include-ext-aria-menu-item: true;
-$include-ext-aria-panel-panel: true;
-$include-ext-aria-panel-tool: true;
-$include-ext-aria-picker-color: true;
-$include-ext-aria-slider-multi: true;
-$include-ext-aria-slider-thumb: true;
-$include-ext-aria-slider-tip: true;
-$include-ext-aria-tab-bar: true;
-$include-ext-aria-tab-panel: true;
-$include-ext-aria-tab-tab: true;
-$include-ext-aria-tip-quicktip: true;
-$include-ext-aria-ux-form-multiselect: true;
-$include-ext-aria-view-boundlist: true;
-$include-ext-aria-view-boundlistkeynav: true;
-$include-ext-aria-view-table: true;
-$include-ext-aria-view-view: true;
-$include-ext-aria-window-messagebox: true;
-$include-ext-aria-window-toast: true;
-$include-ext-aria-window-window: true;
-$include-ext-button-button: false;
-$include-ext-button-cycle: false;
-$include-ext-button-manager: false;
-$include-ext-button-segmented: false;
-$include-ext-button-split: false;
-$include-ext-container-buttongroup: false;
-$include-ext-container-container: false;
-$include-ext-container-dockingcontainer: false;
-$include-ext-container-monitor: false;
-$include-ext-container-viewport: false;
-$include-ext-dashboard-column: false;
-$include-ext-dashboard-dashboard: false;
-$include-ext-dashboard-dropzone: false;
-$include-ext-dashboard-panel: false;
-$include-ext-dashboard-part: false;
-$include-ext-data-abstractstore: false;
-$include-ext-data-arraystore: false;
-$include-ext-data-batch: false;
-$include-ext-data-bufferedstore: false;
-$include-ext-data-chainedstore: false;
-$include-ext-data-connection: false;
-$include-ext-data-directstore: false;
-$include-ext-data-error: false;
-$include-ext-data-errorcollection: false;
-$include-ext-data-jsonp: false;
-$include-ext-data-jsonpstore: false;
-$include-ext-data-jsonstore: false;
-$include-ext-data-localstore: false;
-$include-ext-data-model: false;
-$include-ext-data-modelmanager: false;
-$include-ext-data-nodeinterface: false;
-$include-ext-data-nodestore: false;
-$include-ext-data-pagemap: false;
-$include-ext-data-proxystore: false;
-$include-ext-data-request: false;
-$include-ext-data-resultset: false;
-$include-ext-data-session: false;
-$include-ext-data-sorttypes: false;
-$include-ext-data-store: false;
-$include-ext-data-storemanager: false;
-$include-ext-data-treemodel: false;
-$include-ext-data-treestore: false;
-$include-ext-data-types: false;
-$include-ext-data-validation: false;
-$include-ext-data-xmlstore: false;
-$include-ext-data-field-boolean: false;
-$include-ext-data-field-date: false;
-$include-ext-data-field-field: false;
-$include-ext-data-field-integer: false;
-$include-ext-data-field-number: false;
-$include-ext-data-field-string: false;
-$include-ext-data-flash-binaryxhr: false;
-$include-ext-data-identifier-generator: false;
-$include-ext-data-identifier-negative: false;
-$include-ext-data-identifier-sequential: false;
-$include-ext-data-identifier-uuid: false;
-$include-ext-data-matrix-matrix: false;
-$include-ext-data-matrix-side: false;
-$include-ext-data-matrix-slice: false;
-$include-ext-data-operation-create: false;
-$include-ext-data-operation-destroy: false;
-$include-ext-data-operation-operation: false;
-$include-ext-data-operation-read: false;
-$include-ext-data-operation-update: false;
-$include-ext-data-proxy-ajax: false;
-$include-ext-data-proxy-client: false;
-$include-ext-data-proxy-direct: false;
-$include-ext-data-proxy-jsonp: false;
-$include-ext-data-proxy-localstorage: false;
-$include-ext-data-proxy-memory: false;
-$include-ext-data-proxy-proxy: false;
-$include-ext-data-proxy-rest: false;
-$include-ext-data-proxy-server: false;
-$include-ext-data-proxy-sessionstorage: false;
-$include-ext-data-proxy-webstorage: false;
-$include-ext-data-reader-array: false;
-$include-ext-data-reader-json: false;
-$include-ext-data-reader-reader: false;
-$include-ext-data-reader-xml: false;
-$include-ext-data-schema-association: false;
-$include-ext-data-schema-manytomany: false;
-$include-ext-data-schema-manytoone: false;
-$include-ext-data-schema-namer: false;
-$include-ext-data-schema-onetoone: false;
-$include-ext-data-schema-role: false;
-$include-ext-data-schema-schema: false;
-$include-ext-data-session-batchvisitor: false;
-$include-ext-data-session-changesvisitor: false;
-$include-ext-data-session-childchangesvisitor: false;
-$include-ext-data-validator-bound: false;
-$include-ext-data-validator-email: false;
-$include-ext-data-validator-exclusion: false;
-$include-ext-data-validator-format: false;
-$include-ext-data-validator-inclusion: false;
-$include-ext-data-validator-length: false;
-$include-ext-data-validator-list: false;
-$include-ext-data-validator-presence: false;
-$include-ext-data-validator-range: false;
-$include-ext-data-validator-validator: false;
-$include-ext-data-writer-json: false;
-$include-ext-data-writer-writer: false;
-$include-ext-data-writer-xml: false;
-$include-ext-dd-dd: false;
-$include-ext-dd-ddproxy: false;
-$include-ext-dd-ddtarget: false;
-$include-ext-dd-dragdrop: false;
-$include-ext-dd-dragdropmanager: false;
-$include-ext-dd-dragsource: false;
-$include-ext-dd-dragtracker: false;
-$include-ext-dd-dragzone: false;
-$include-ext-dd-droptarget: false;
-$include-ext-dd-dropzone: false;
-$include-ext-dd-registry: false;
-$include-ext-dd-scrollmanager: false;
-$include-ext-dd-statusproxy: false;
-$include-ext-direct-event: false;
-$include-ext-direct-exceptionevent: false;
-$include-ext-direct-jsonprovider: false;
-$include-ext-direct-manager: false;
-$include-ext-direct-pollingprovider: false;
-$include-ext-direct-provider: false;
-$include-ext-direct-remotingevent: false;
-$include-ext-direct-remotingmethod: false;
-$include-ext-direct-remotingprovider: false;
-$include-ext-direct-transaction: false;
-$include-ext-dom-buttonelement: false;
-$include-ext-dom-compositeelement: false;
-$include-ext-dom-compositeelementlite: false;
-$include-ext-dom-element: false;
-$include-ext-dom-elementevent: false;
-$include-ext-dom-fly: false;
-$include-ext-dom-garbagecollector: false;
-$include-ext-dom-helper: false;
-$include-ext-dom-layer: false;
-$include-ext-dom-query: false;
-$include-ext-dom-shadow: false;
-$include-ext-dom-shim: false;
-$include-ext-dom-underlay: false;
-$include-ext-dom-underlaypool: false;
-$include-ext-event-event: false;
-$include-ext-event-gesture-doubletap: false;
-$include-ext-event-gesture-drag: false;
-$include-ext-event-gesture-edgeswipe: false;
-$include-ext-event-gesture-longpress: false;
-$include-ext-event-gesture-multitouch: false;
-$include-ext-event-gesture-pinch: false;
-$include-ext-event-gesture-recognizer: false;
-$include-ext-event-gesture-rotate: false;
-$include-ext-event-gesture-singletouch: false;
-$include-ext-event-gesture-swipe: false;
-$include-ext-event-gesture-tap: false;
-$include-ext-event-publisher-dom: false;
-$include-ext-event-publisher-elementpaint: false;
-$include-ext-event-publisher-elementsize: false;
-$include-ext-event-publisher-focus: false;
-$include-ext-event-publisher-gesture: false;
-$include-ext-event-publisher-mouseenterleave: false;
-$include-ext-event-publisher-publisher: false;
-$include-ext-flash-component: false;
-$include-ext-form-basic: false;
-$include-ext-form-checkboxgroup: false;
-$include-ext-form-checkboxmanager: false;
-$include-ext-form-fieldancestor: false;
-$include-ext-form-fieldcontainer: false;
-$include-ext-form-fieldset: false;
-$include-ext-form-label: false;
-$include-ext-form-labelable: false;
-$include-ext-form-panel: false;
-$include-ext-form-radiogroup: false;
-$include-ext-form-radiomanager: false;
-$include-ext-form-action-action: false;
-$include-ext-form-action-directaction: false;
-$include-ext-form-action-directload: false;
-$include-ext-form-action-directsubmit: false;
-$include-ext-form-action-load: false;
-$include-ext-form-action-standardsubmit: false;
-$include-ext-form-action-submit: false;
-$include-ext-form-field-base: false;
-$include-ext-form-field-checkbox: false;
-$include-ext-form-field-combobox: false;
-$include-ext-form-field-date: false;
-$include-ext-form-field-display: false;
-$include-ext-form-field-field: false;
-$include-ext-form-field-file: false;
-$include-ext-form-field-filebutton: false;
-$include-ext-form-field-hidden: false;
-$include-ext-form-field-htmleditor: false;
-$include-ext-form-field-number: false;
-$include-ext-form-field-picker: false;
-$include-ext-form-field-radio: false;
-$include-ext-form-field-spinner: false;
-$include-ext-form-field-tag: false;
-$include-ext-form-field-text: false;
-$include-ext-form-field-textarea: false;
-$include-ext-form-field-time: false;
-$include-ext-form-field-trigger: false;
-$include-ext-form-field-vtypes: false;
-$include-ext-form-trigger-component: false;
-$include-ext-form-trigger-spinner: false;
-$include-ext-form-trigger-trigger: false;
-$include-ext-fx-anim: false;
-$include-ext-fx-animation: false;
-$include-ext-fx-animator: false;
-$include-ext-fx-cubicbezier: false;
-$include-ext-fx-drawpath: false;
-$include-ext-fx-easing: false;
-$include-ext-fx-manager: false;
-$include-ext-fx-propertyhandler: false;
-$include-ext-fx-queue: false;
-$include-ext-fx-runner: false;
-$include-ext-fx-state: false;
-$include-ext-fx-animation-abstract: false;
-$include-ext-fx-animation-cube: false;
-$include-ext-fx-animation-fade: false;
-$include-ext-fx-animation-fadeout: false;
-$include-ext-fx-animation-flip: false;
-$include-ext-fx-animation-pop: false;
-$include-ext-fx-animation-popout: false;
-$include-ext-fx-animation-slide: false;
-$include-ext-fx-animation-slideout: false;
-$include-ext-fx-animation-wipe: false;
-$include-ext-fx-animation-wipeout: false;
-$include-ext-fx-easing-abstract: false;
-$include-ext-fx-easing-bounce: false;
-$include-ext-fx-easing-boundmomentum: false;
-$include-ext-fx-easing-easein: false;
-$include-ext-fx-easing-easeout: false;
-$include-ext-fx-easing-easing: false;
-$include-ext-fx-easing-linear: false;
-$include-ext-fx-easing-momentum: false;
-$include-ext-fx-layout-card: false;
-$include-ext-fx-layout-card-abstract: false;
-$include-ext-fx-layout-card-cover: false;
-$include-ext-fx-layout-card-cube: false;
-$include-ext-fx-layout-card-fade: false;
-$include-ext-fx-layout-card-flip: false;
-$include-ext-fx-layout-card-pop: false;
-$include-ext-fx-layout-card-reveal: false;
-$include-ext-fx-layout-card-scroll: false;
-$include-ext-fx-layout-card-scrollcover: false;
-$include-ext-fx-layout-card-scrollreveal: false;
-$include-ext-fx-layout-card-slide: false;
-$include-ext-fx-layout-card-style: false;
-$include-ext-fx-runner-css: false;
-$include-ext-fx-runner-cssanimation: false;
-$include-ext-fx-runner-csstransition: false;
-$include-ext-fx-target-component: false;
-$include-ext-fx-target-compositeelement: false;
-$include-ext-fx-target-compositeelementcss: false;
-$include-ext-fx-target-compositesprite: false;
-$include-ext-fx-target-element: false;
-$include-ext-fx-target-elementcss: false;
-$include-ext-fx-target-sprite: false;
-$include-ext-fx-target-target: false;
-$include-ext-grid-cellcontext: false;
-$include-ext-grid-celleditor: false;
-$include-ext-grid-columncomponentlayout: false;
-$include-ext-grid-columnlayout: false;
-$include-ext-grid-columnmanager: false;
-$include-ext-grid-navigationmodel: false;
-$include-ext-grid-panel: false;
-$include-ext-grid-roweditor: false;
-$include-ext-grid-roweditorbuttons: false;
-$include-ext-grid-viewdropzone: false;
-$include-ext-grid-column-action: false;
-$include-ext-grid-column-boolean: false;
-$include-ext-grid-column-check: false;
-$include-ext-grid-column-column: false;
-$include-ext-grid-column-date: false;
-$include-ext-grid-column-number: false;
-$include-ext-grid-column-rownumberer: false;
-$include-ext-grid-column-template: false;
-$include-ext-grid-column-widget: false;
-$include-ext-grid-feature-abstractsummary: false;
-$include-ext-grid-feature-feature: false;
-$include-ext-grid-feature-groupstore: false;
-$include-ext-grid-feature-grouping: false;
-$include-ext-grid-feature-groupingsummary: false;
-$include-ext-grid-feature-rowbody: false;
-$include-ext-grid-feature-summary: false;
-$include-ext-grid-filters-filters: false;
-$include-ext-grid-filters-filter-base: false;
-$include-ext-grid-filters-filter-boolean: false;
-$include-ext-grid-filters-filter-date: false;
-$include-ext-grid-filters-filter-list: false;
-$include-ext-grid-filters-filter-number: false;
-$include-ext-grid-filters-filter-singlefilter: false;
-$include-ext-grid-filters-filter-string: false;
-$include-ext-grid-filters-filter-trifilter: false;
-$include-ext-grid-header-container: false;
-$include-ext-grid-header-dragzone: false;
-$include-ext-grid-header-dropzone: false;
-$include-ext-grid-locking-headercontainer: false;
-$include-ext-grid-locking-lockable: false;
-$include-ext-grid-locking-rowsynchronizer: false;
-$include-ext-grid-locking-view: false;
-$include-ext-grid-plugin-bufferedrenderer: false;
-$include-ext-grid-plugin-cellediting: false;
-$include-ext-grid-plugin-clipboard: false;
-$include-ext-grid-plugin-dragdrop: false;
-$include-ext-grid-plugin-editing: false;
-$include-ext-grid-plugin-headerreorderer: false;
-$include-ext-grid-plugin-headerresizer: false;
-$include-ext-grid-plugin-rowediting: false;
-$include-ext-grid-plugin-rowexpander: false;
-$include-ext-grid-property-grid: false;
-$include-ext-grid-property-headercontainer: false;
-$include-ext-grid-property-property: false;
-$include-ext-grid-property-reader: false;
-$include-ext-grid-property-store: false;
-$include-ext-grid-selection-cells: false;
-$include-ext-grid-selection-columns: false;
-$include-ext-grid-selection-rows: false;
-$include-ext-grid-selection-selection: false;
-$include-ext-grid-selection-spreadsheetmodel: false;
-$include-ext-layout-context: false;
-$include-ext-layout-contextitem: false;
-$include-ext-layout-layout: false;
-$include-ext-layout-sizemodel: false;
-$include-ext-layout-component-auto: false;
-$include-ext-layout-component-body: false;
-$include-ext-layout-component-boundlist: false;
-$include-ext-layout-component-component: false;
-$include-ext-layout-component-dock: false;
-$include-ext-layout-component-fieldset: false;
-$include-ext-layout-component-progressbar: false;
-$include-ext-layout-component-field-fieldcontainer: false;
-$include-ext-layout-component-field-htmleditor: false;
-$include-ext-layout-container-absolute: false;
-$include-ext-layout-container-accordion: false;
-$include-ext-layout-container-anchor: false;
-$include-ext-layout-container-auto: false;
-$include-ext-layout-container-border: false;
-$include-ext-layout-container-box: false;
-$include-ext-layout-container-card: false;
-$include-ext-layout-container-center: false;
-$include-ext-layout-container-checkboxgroup: false;
-$include-ext-layout-container-column: false;
-$include-ext-layout-container-columnsplitter: false;
-$include-ext-layout-container-columnsplittertracker: false;
-$include-ext-layout-container-container: false;
-$include-ext-layout-container-dashboard: false;
-$include-ext-layout-container-editor: false;
-$include-ext-layout-container-fit: false;
-$include-ext-layout-container-form: false;
-$include-ext-layout-container-hbox: false;
-$include-ext-layout-container-segmentedbutton: false;
-$include-ext-layout-container-table: false;
-$include-ext-layout-container-vbox: false;
-$include-ext-layout-container-border-region: false;
-$include-ext-layout-container-boxoverflow-menu: false;
-$include-ext-layout-container-boxoverflow-none: false;
-$include-ext-layout-container-boxoverflow-scroller: false;
-$include-ext-menu-checkitem: false;
-$include-ext-menu-colorpicker: false;
-$include-ext-menu-datepicker: false;
-$include-ext-menu-item: false;
-$include-ext-menu-manager: false;
-$include-ext-menu-menu: false;
-$include-ext-menu-separator: false;
-$include-ext-mixin-bindable: false;
-$include-ext-mixin-factoryable: false;
-$include-ext-mixin-hookable: false;
-$include-ext-mixin-identifiable: false;
-$include-ext-mixin-inheritable: false;
-$include-ext-mixin-mashup: false;
-$include-ext-mixin-observable: false;
-$include-ext-mixin-queryable: false;
-$include-ext-mixin-responsive: false;
-$include-ext-mixin-selectable: false;
-$include-ext-mixin-templatable: false;
-$include-ext-mixin-traversable: false;
-$include-ext-overrides-globalevents: false;
-$include-ext-overrides-widget: false;
-$include-ext-overrides-app-application: false;
-$include-ext-overrides-app-domain-component: false;
-$include-ext-overrides-dom-element: false;
-$include-ext-overrides-dom-helper: false;
-$include-ext-overrides-event-event: false;
-$include-ext-overrides-event-publisher-dom: false;
-$include-ext-overrides-event-publisher-gesture: false;
-$include-ext-overrides-plugin-abstract: false;
-$include-ext-overrides-util-positionable: false;
-$include-ext-panel-bar: false;
-$include-ext-panel-dd: false;
-$include-ext-panel-header: false;
-$include-ext-panel-panel: false;
-$include-ext-panel-pinnable: false;
-$include-ext-panel-proxy: false;
-$include-ext-panel-table: false;
-$include-ext-panel-title: false;
-$include-ext-panel-tool: false;
-$include-ext-perf-accumulator: false;
-$include-ext-perf-monitor: false;
-$include-ext-picker-color: false;
-$include-ext-picker-date: false;
-$include-ext-picker-month: false;
-$include-ext-picker-time: false;
-$include-ext-plugin-abstract: false;
-$include-ext-plugin-abstractclipboard: false;
-$include-ext-plugin-manager: false;
-$include-ext-plugin-responsive: false;
-$include-ext-plugin-viewport: false;
-$include-ext-resizer-bordersplitter: false;
-$include-ext-resizer-bordersplittertracker: false;
-$include-ext-resizer-handle: false;
-$include-ext-resizer-resizetracker: false;
-$include-ext-resizer-resizer: false;
-$include-ext-resizer-splitter: false;
-$include-ext-resizer-splittertracker: false;
-$include-ext-rtl-component: false;
-$include-ext-rtl-button-button: false;
-$include-ext-rtl-button-segmented: false;
-$include-ext-rtl-dd-dd: false;
-$include-ext-rtl-dom-element: false;
-$include-ext-rtl-event-event: false;
-$include-ext-rtl-form-labelable: false;
-$include-ext-rtl-form-field-file: false;
-$include-ext-rtl-form-field-filebutton: false;
-$include-ext-rtl-grid-celleditor: false;
-$include-ext-rtl-grid-columnlayout: false;
-$include-ext-rtl-grid-navigationmodel: false;
-$include-ext-rtl-grid-column-column: false;
-$include-ext-rtl-grid-feature-summary: false;
-$include-ext-rtl-grid-plugin-headerresizer: false;
-$include-ext-rtl-grid-plugin-rowediting: false;
-$include-ext-rtl-layout-contextitem: false;
-$include-ext-rtl-layout-component-dock: false;
-$include-ext-rtl-layout-container-absolute: false;
-$include-ext-rtl-layout-container-border: false;
-$include-ext-rtl-layout-container-box: false;
-$include-ext-rtl-layout-container-column: false;
-$include-ext-rtl-layout-container-hbox: false;
-$include-ext-rtl-layout-container-vbox: false;
-$include-ext-rtl-layout-container-boxoverflow-menu: false;
-$include-ext-rtl-layout-container-boxoverflow-scroller: false;
-$include-ext-rtl-panel-bar: false;
-$include-ext-rtl-panel-panel: false;
-$include-ext-rtl-panel-title: false;
-$include-ext-rtl-resizer-bordersplittertracker: false;
-$include-ext-rtl-resizer-resizetracker: false;
-$include-ext-rtl-resizer-splittertracker: false;
-$include-ext-rtl-scroll-domscroller: false;
-$include-ext-rtl-scroll-indicator: false;
-$include-ext-rtl-scroll-scroller: false;
-$include-ext-rtl-scroll-touchscroller: false;
-$include-ext-rtl-slider-multi: false;
-$include-ext-rtl-tab-bar: false;
-$include-ext-rtl-tip-quicktipmanager: false;
-$include-ext-rtl-tree-column: false;
-$include-ext-rtl-util-focusablecontainer: false;
-$include-ext-rtl-util-renderable: false;
-$include-ext-rtl-view-navigationmodel: false;
-$include-ext-rtl-view-table: false;
-$include-ext-scroll-domscroller: false;
-$include-ext-scroll-indicator: false;
-$include-ext-scroll-scroller: false;
-$include-ext-scroll-touchscroller: false;
-$include-ext-selection-cellmodel: false;
-$include-ext-selection-checkboxmodel: false;
-$include-ext-selection-dataviewmodel: false;
-$include-ext-selection-model: false;
-$include-ext-selection-rowmodel: false;
-$include-ext-selection-treemodel: false;
-$include-ext-slider-multi: false;
-$include-ext-slider-single: false;
-$include-ext-slider-thumb: false;
-$include-ext-slider-tip: false;
-$include-ext-slider-widget: false;
-$include-ext-sparkline-bar: false;
-$include-ext-sparkline-barbase: false;
-$include-ext-sparkline-base: false;
-$include-ext-sparkline-box: false;
-$include-ext-sparkline-bullet: false;
-$include-ext-sparkline-canvasbase: false;
-$include-ext-sparkline-canvascanvas: false;
-$include-ext-sparkline-discrete: false;
-$include-ext-sparkline-line: false;
-$include-ext-sparkline-pie: false;
-$include-ext-sparkline-rangemap: false;
-$include-ext-sparkline-shape: false;
-$include-ext-sparkline-tristate: false;
-$include-ext-sparkline-vmlcanvas: false;
-$include-ext-state-cookieprovider: false;
-$include-ext-state-localstorageprovider: false;
-$include-ext-state-manager: false;
-$include-ext-state-provider: false;
-$include-ext-state-stateful: false;
-$include-ext-tab-bar: false;
-$include-ext-tab-panel: false;
-$include-ext-tab-tab: false;
-$include-ext-tip-quicktip: false;
-$include-ext-tip-quicktipmanager: false;
-$include-ext-tip-tip: false;
-$include-ext-tip-tooltip: false;
-$include-ext-toolbar-breadcrumb: false;
-$include-ext-toolbar-fill: false;
-$include-ext-toolbar-item: false;
-$include-ext-toolbar-paging: false;
-$include-ext-toolbar-separator: false;
-$include-ext-toolbar-spacer: false;
-$include-ext-toolbar-textitem: false;
-$include-ext-toolbar-toolbar: false;
-$include-ext-tree-column: false;
-$include-ext-tree-navigationmodel: false;
-$include-ext-tree-panel: false;
-$include-ext-tree-view: false;
-$include-ext-tree-viewdragzone: false;
-$include-ext-tree-viewdropzone: false;
-$include-ext-tree-plugin-treeviewdragdrop: false;
-$include-ext-util-abstractmixedcollection: false;
-$include-ext-util-animate: false;
-$include-ext-util-base64: false;
-$include-ext-util-css: false;
-$include-ext-util-csv: false;
-$include-ext-util-clickrepeater: false;
-$include-ext-util-collection: false;
-$include-ext-util-collectionkey: false;
-$include-ext-util-componentdragger: false;
-$include-ext-util-cookies: false;
-$include-ext-util-delimitedvalue: false;
-$include-ext-util-elementcontainer: false;
-$include-ext-util-event: false;
-$include-ext-util-filter: false;
-$include-ext-util-filtercollection: false;
-$include-ext-util-floating: false;
-$include-ext-util-focusable: false;
-$include-ext-util-focusablecontainer: false;
-$include-ext-util-format: false;
-$include-ext-util-group: false;
-$include-ext-util-groupcollection: false;
-$include-ext-util-grouper: false;
-$include-ext-util-hashmap: false;
-$include-ext-util-history: false;
-$include-ext-util-inflector: false;
-$include-ext-util-keymap: false;
-$include-ext-util-keynav: false;
-$include-ext-util-localstorage: false;
-$include-ext-util-lrucache: false;
-$include-ext-util-memento: false;
-$include-ext-util-mixedcollection: false;
-$include-ext-util-objecttemplate: false;
-$include-ext-util-observable: false;
-$include-ext-util-offset: false;
-$include-ext-util-paintmonitor: false;
-$include-ext-util-point: false;
-$include-ext-util-positionable: false;
-$include-ext-util-protoelement: false;
-$include-ext-util-queue: false;
-$include-ext-util-region: false;
-$include-ext-util-renderable: false;
-$include-ext-util-schedulable: false;
-$include-ext-util-scheduler: false;
-$include-ext-util-sizemonitor: false;
-$include-ext-util-sortable: false;
-$include-ext-util-sorter: false;
-$include-ext-util-sortercollection: false;
-$include-ext-util-storeholder: false;
-$include-ext-util-tsv: false;
-$include-ext-util-taskmanager: false;
-$include-ext-util-taskrunner: false;
-$include-ext-util-textmetrics: false;
-$include-ext-util-translatable: false;
-$include-ext-util-xtemplatecompiler: false;
-$include-ext-util-xtemplateparser: false;
-$include-ext-util-paintmonitor-abstract: false;
-$include-ext-util-paintmonitor-cssanimation: false;
-$include-ext-util-paintmonitor-overflowchange: false;
-$include-ext-util-sizemonitor-abstract: false;
-$include-ext-util-sizemonitor-default: false;
-$include-ext-util-sizemonitor-overflowchange: false;
-$include-ext-util-sizemonitor-scroll: false;
-$include-ext-util-translatable-abstract: false;
-$include-ext-util-translatable-cssposition: false;
-$include-ext-util-translatable-csstransform: false;
-$include-ext-util-translatable-dom: false;
-$include-ext-util-translatable-scrollparent: false;
-$include-ext-util-translatable-scrollposition: false;
-$include-ext-ux-boxreorderer: true;
-$include-ext-ux-celldragdrop: true;
-$include-ext-ux-datatip: true;
-$include-ext-ux-dataview-animated: true;
-$include-ext-ux-dataview-dragselector: true;
-$include-ext-ux-dataview-draggable: true;
-$include-ext-ux-dataview-labeleditor: true;
-$include-ext-ux-explorer: true;
-$include-ext-ux-fieldreplicator: true;
-$include-ext-ux-gmappanel: true;
-$include-ext-ux-grouptabpanel: true;
-$include-ext-ux-grouptabrenderer: true;
-$include-ext-ux-iframe: true;
-$include-ext-ux-livesearchgridpanel: true;
-$include-ext-ux-previewplugin: true;
-$include-ext-ux-progressbarpager: true;
-$include-ext-ux-rowexpander: true;
-$include-ext-ux-slidingpager: true;
-$include-ext-ux-spotlight: true;
-$include-ext-ux-tabclosemenu: true;
-$include-ext-ux-tabreorderer: true;
-$include-ext-ux-tabscrollermenu: true;
-$include-ext-ux-toolbardroppable: true;
-$include-ext-ux-treepicker: true;
-$include-ext-ux-ajax-datasimlet: true;
-$include-ext-ux-ajax-jsonsimlet: true;
-$include-ext-ux-ajax-simmanager: true;
-$include-ext-ux-ajax-simxhr: true;
-$include-ext-ux-ajax-simlet: true;
-$include-ext-ux-ajax-xmlsimlet: true;
-$include-ext-ux-dashboard-googlersspart: true;
-$include-ext-ux-dashboard-googlerssview: true;
-$include-ext-ux-data-pagingmemoryproxy: true;
-$include-ext-ux-dd-cellfielddropzone: true;
-$include-ext-ux-dd-panelfielddragzone: true;
-$include-ext-ux-desktop-app: true;
-$include-ext-ux-desktop-desktop: true;
-$include-ext-ux-desktop-module: true;
-$include-ext-ux-desktop-shortcutmodel: true;
-$include-ext-ux-desktop-startmenu: true;
-$include-ext-ux-desktop-taskbar: true;
-$include-ext-ux-desktop-trayclock: true;
-$include-ext-ux-desktop-video: true;
-$include-ext-ux-desktop-wallpaper: true;
-$include-ext-ux-event-driver: true;
-$include-ext-ux-event-maker: true;
-$include-ext-ux-event-player: true;
-$include-ext-ux-event-recorder: true;
-$include-ext-ux-event-recordermanager: true;
-$include-ext-ux-form-itemselector: true;
-$include-ext-ux-form-multiselect: true;
-$include-ext-ux-form-searchfield: true;
-$include-ext-ux-google-api: true;
-$include-ext-ux-google-feeds: true;
-$include-ext-ux-grid-subtable: true;
-$include-ext-ux-grid-transformgrid: true;
-$include-ext-ux-statusbar-statusbar: true;
-$include-ext-ux-statusbar-validationstatus: true;
-$include-ext-view-abstractview: false;
-$include-ext-view-boundlist: false;
-$include-ext-view-boundlistkeynav: false;
-$include-ext-view-dragzone: false;
-$include-ext-view-dropzone: false;
-$include-ext-view-multiselector: false;
-$include-ext-view-multiselectorsearch: false;
-$include-ext-view-navigationmodel: false;
-$include-ext-view-nodecache: false;
-$include-ext-view-table: false;
-$include-ext-view-tablelayout: false;
-$include-ext-view-view: false;
-$include-ext-window-messagebox: false;
-$include-ext-window-toast: false;
-$include-ext-window-window: false;
-/* including package ext-aria */
-@import '../sass/etc/all';
-/* including package ext-aria */
-@import '../sass/var/Component';
-@import '../sass/var/panel/Tool';
-@import '../sass/var/grid/header/Container';
-@import '../sass/var/form/FieldSet';

Файловите разлики са ограничени, защото са твърде много
+ 0 - 11834
src/ext/packages/ext-aria/build/ext-aria-debug.js


Файловите разлики са ограничени, защото са твърде много
+ 0 - 43
src/ext/packages/ext-aria/build/ext-aria.js


+ 0 - 3
src/ext/packages/ext-aria/build/resources/Readme.md

@@ -1,3 +0,0 @@
-# ext-aria/resources
-
-This folder contains static resources (typically an `"images"` folder as well).

+ 0 - 2
src/ext/packages/ext-aria/build/resources/ext-aria-all-debug.css

@@ -1,2 +0,0 @@
-/* including package ext-aria */
-/* including package ext-aria */

+ 0 - 2
src/ext/packages/ext-aria/build/resources/ext-aria-all-rtl-debug.css

@@ -1,2 +0,0 @@
-/* including package ext-aria */
-/* including package ext-aria */

+ 0 - 0
src/ext/packages/ext-aria/build/resources/ext-aria-all-rtl.css


+ 0 - 0
src/ext/packages/ext-aria/build/resources/ext-aria-all.css


BIN
src/ext/packages/ext-aria/build/resources/images/form/date-trigger-rtl.gif


BIN
src/ext/packages/ext-aria/build/resources/images/form/date-trigger.gif


BIN
src/ext/packages/ext-aria/build/resources/images/form/exclamation.gif


BIN
src/ext/packages/ext-aria/build/resources/images/form/trigger-rtl.gif


BIN
src/ext/packages/ext-aria/build/resources/images/form/trigger.gif


BIN
src/ext/packages/ext-aria/build/resources/images/shared/left-btn.gif


BIN
src/ext/packages/ext-aria/build/resources/images/shared/right-btn.gif


+ 0 - 1
src/ext/packages/ext-charts/build/config.rb

@@ -1 +0,0 @@
-require '../../ext-theme-base/sass/utils.rb'

+ 0 - 717
src/ext/packages/ext-charts/build/ext-charts-all-debug.scss

@@ -1,717 +0,0 @@
-$image-search-path: '/home/teamcity/buildAgent/work/3cebfbfc7c03d949/sencha/ext/packages/ext-charts/build/resources' !default;
-$theme-name:  'ext-charts' !default;
-$include-ext-abstractmanager: false;
-$include-ext-action: false;
-$include-ext-ajax: false;
-$include-ext-animationqueue: false;
-$include-ext-component: false;
-$include-ext-componentloader: false;
-$include-ext-componentmanager: false;
-$include-ext-componentquery: false;
-$include-ext-editor: false;
-$include-ext-elementloader: false;
-$include-ext-eventmanager: false;
-$include-ext-evented: false;
-$include-ext-focusmanager: false;
-$include-ext-globalevents: false;
-$include-ext-img: false;
-$include-ext-loadmask: false;
-$include-ext-mixin: false;
-$include-ext-progressbar: false;
-$include-ext-progressbarwidget: false;
-$include-ext-taskqueue: false;
-$include-ext-template: false;
-$include-ext-widget: false;
-$include-ext-xtemplate: false;
-$include-ext-zindexmanager: false;
-$include-ext-app-application: false;
-$include-ext-app-basecontroller: false;
-$include-ext-app-controller: false;
-$include-ext-app-eventbus: false;
-$include-ext-app-eventdomain: false;
-$include-ext-app-profile: false;
-$include-ext-app-util: false;
-$include-ext-app-viewcontroller: false;
-$include-ext-app-viewmodel: false;
-$include-ext-app-bind-abstractstub: false;
-$include-ext-app-bind-basebinding: false;
-$include-ext-app-bind-binding: false;
-$include-ext-app-bind-formula: false;
-$include-ext-app-bind-linkstub: false;
-$include-ext-app-bind-multi: false;
-$include-ext-app-bind-rootstub: false;
-$include-ext-app-bind-stub: false;
-$include-ext-app-bind-template: false;
-$include-ext-app-bind-templatebinding: false;
-$include-ext-app-bindinspector-componentdetail: false;
-$include-ext-app-bindinspector-componentlist: false;
-$include-ext-app-bindinspector-container: false;
-$include-ext-app-bindinspector-environment: false;
-$include-ext-app-bindinspector-inspector: false;
-$include-ext-app-bindinspector-util: false;
-$include-ext-app-bindinspector-viewmodeldetail: false;
-$include-ext-app-bindinspector-noconflict-basemodel: false;
-$include-ext-app-domain-component: false;
-$include-ext-app-domain-controller: false;
-$include-ext-app-domain-direct: false;
-$include-ext-app-domain-global: false;
-$include-ext-app-domain-store: false;
-$include-ext-app-domain-view: false;
-$include-ext-app-route-queue: false;
-$include-ext-app-route-route: false;
-$include-ext-app-route-router: false;
-$include-ext-button-button: false;
-$include-ext-button-cycle: false;
-$include-ext-button-manager: false;
-$include-ext-button-segmented: false;
-$include-ext-button-split: false;
-$include-ext-chart-callout: true;
-$include-ext-chart-chart: true;
-$include-ext-chart-highlight: true;
-$include-ext-chart-label: true;
-$include-ext-chart-legend: true;
-$include-ext-chart-legenditem: true;
-$include-ext-chart-mask: true;
-$include-ext-chart-masklayer: true;
-$include-ext-chart-navigation: true;
-$include-ext-chart-shape: true;
-$include-ext-chart-tip: true;
-$include-ext-chart-tipsurface: true;
-$include-ext-chart-axis-abstract: true;
-$include-ext-chart-axis-axis: true;
-$include-ext-chart-axis-category: true;
-$include-ext-chart-axis-gauge: true;
-$include-ext-chart-axis-numeric: true;
-$include-ext-chart-axis-radial: true;
-$include-ext-chart-axis-time: true;
-$include-ext-chart-series-area: true;
-$include-ext-chart-series-bar: true;
-$include-ext-chart-series-cartesian: true;
-$include-ext-chart-series-column: true;
-$include-ext-chart-series-gauge: true;
-$include-ext-chart-series-line: true;
-$include-ext-chart-series-pie: true;
-$include-ext-chart-series-radar: true;
-$include-ext-chart-series-scatter: true;
-$include-ext-chart-series-series: true;
-$include-ext-chart-theme-base: true;
-$include-ext-chart-theme-theme: true;
-$include-ext-container-buttongroup: false;
-$include-ext-container-container: false;
-$include-ext-container-dockingcontainer: false;
-$include-ext-container-monitor: false;
-$include-ext-container-viewport: false;
-$include-ext-dashboard-column: false;
-$include-ext-dashboard-dashboard: false;
-$include-ext-dashboard-dropzone: false;
-$include-ext-dashboard-panel: false;
-$include-ext-dashboard-part: false;
-$include-ext-data-abstractstore: false;
-$include-ext-data-arraystore: false;
-$include-ext-data-batch: false;
-$include-ext-data-bufferedstore: false;
-$include-ext-data-chainedstore: false;
-$include-ext-data-connection: false;
-$include-ext-data-directstore: false;
-$include-ext-data-error: false;
-$include-ext-data-errorcollection: false;
-$include-ext-data-jsonp: false;
-$include-ext-data-jsonpstore: false;
-$include-ext-data-jsonstore: false;
-$include-ext-data-localstore: false;
-$include-ext-data-model: false;
-$include-ext-data-modelmanager: false;
-$include-ext-data-nodeinterface: false;
-$include-ext-data-nodestore: false;
-$include-ext-data-pagemap: false;
-$include-ext-data-proxystore: false;
-$include-ext-data-request: false;
-$include-ext-data-resultset: false;
-$include-ext-data-session: false;
-$include-ext-data-sorttypes: false;
-$include-ext-data-store: false;
-$include-ext-data-storemanager: false;
-$include-ext-data-treemodel: false;
-$include-ext-data-treestore: false;
-$include-ext-data-types: false;
-$include-ext-data-validation: false;
-$include-ext-data-xmlstore: false;
-$include-ext-data-field-boolean: false;
-$include-ext-data-field-date: false;
-$include-ext-data-field-field: false;
-$include-ext-data-field-integer: false;
-$include-ext-data-field-number: false;
-$include-ext-data-field-string: false;
-$include-ext-data-flash-binaryxhr: false;
-$include-ext-data-identifier-generator: false;
-$include-ext-data-identifier-negative: false;
-$include-ext-data-identifier-sequential: false;
-$include-ext-data-identifier-uuid: false;
-$include-ext-data-matrix-matrix: false;
-$include-ext-data-matrix-side: false;
-$include-ext-data-matrix-slice: false;
-$include-ext-data-operation-create: false;
-$include-ext-data-operation-destroy: false;
-$include-ext-data-operation-operation: false;
-$include-ext-data-operation-read: false;
-$include-ext-data-operation-update: false;
-$include-ext-data-proxy-ajax: false;
-$include-ext-data-proxy-client: false;
-$include-ext-data-proxy-direct: false;
-$include-ext-data-proxy-jsonp: false;
-$include-ext-data-proxy-localstorage: false;
-$include-ext-data-proxy-memory: false;
-$include-ext-data-proxy-proxy: false;
-$include-ext-data-proxy-rest: false;
-$include-ext-data-proxy-server: false;
-$include-ext-data-proxy-sessionstorage: false;
-$include-ext-data-proxy-webstorage: false;
-$include-ext-data-reader-array: false;
-$include-ext-data-reader-json: false;
-$include-ext-data-reader-reader: false;
-$include-ext-data-reader-xml: false;
-$include-ext-data-schema-association: false;
-$include-ext-data-schema-manytomany: false;
-$include-ext-data-schema-manytoone: false;
-$include-ext-data-schema-namer: false;
-$include-ext-data-schema-onetoone: false;
-$include-ext-data-schema-role: false;
-$include-ext-data-schema-schema: false;
-$include-ext-data-session-batchvisitor: false;
-$include-ext-data-session-changesvisitor: false;
-$include-ext-data-session-childchangesvisitor: false;
-$include-ext-data-validator-bound: false;
-$include-ext-data-validator-email: false;
-$include-ext-data-validator-exclusion: false;
-$include-ext-data-validator-format: false;
-$include-ext-data-validator-inclusion: false;
-$include-ext-data-validator-length: false;
-$include-ext-data-validator-list: false;
-$include-ext-data-validator-presence: false;
-$include-ext-data-validator-range: false;
-$include-ext-data-validator-validator: false;
-$include-ext-data-writer-json: false;
-$include-ext-data-writer-writer: false;
-$include-ext-data-writer-xml: false;
-$include-ext-dd-dd: false;
-$include-ext-dd-ddproxy: false;
-$include-ext-dd-ddtarget: false;
-$include-ext-dd-dragdrop: false;
-$include-ext-dd-dragdropmanager: false;
-$include-ext-dd-dragsource: false;
-$include-ext-dd-dragtracker: false;
-$include-ext-dd-dragzone: false;
-$include-ext-dd-droptarget: false;
-$include-ext-dd-dropzone: false;
-$include-ext-dd-registry: false;
-$include-ext-dd-scrollmanager: false;
-$include-ext-dd-statusproxy: false;
-$include-ext-direct-event: false;
-$include-ext-direct-exceptionevent: false;
-$include-ext-direct-jsonprovider: false;
-$include-ext-direct-manager: false;
-$include-ext-direct-pollingprovider: false;
-$include-ext-direct-provider: false;
-$include-ext-direct-remotingevent: false;
-$include-ext-direct-remotingmethod: false;
-$include-ext-direct-remotingprovider: false;
-$include-ext-direct-transaction: false;
-$include-ext-dom-buttonelement: false;
-$include-ext-dom-compositeelement: false;
-$include-ext-dom-compositeelementlite: false;
-$include-ext-dom-element: false;
-$include-ext-dom-elementevent: false;
-$include-ext-dom-fly: false;
-$include-ext-dom-garbagecollector: false;
-$include-ext-dom-helper: false;
-$include-ext-dom-layer: false;
-$include-ext-dom-query: false;
-$include-ext-dom-shadow: false;
-$include-ext-dom-shim: false;
-$include-ext-dom-underlay: false;
-$include-ext-dom-underlaypool: false;
-$include-ext-draw-color: true;
-$include-ext-draw-component: true;
-$include-ext-draw-compositesprite: true;
-$include-ext-draw-draw: true;
-$include-ext-draw-matrix: true;
-$include-ext-draw-sprite: true;
-$include-ext-draw-spritedd: true;
-$include-ext-draw-surface: true;
-$include-ext-draw-text: true;
-$include-ext-draw-engine-imageexporter: true;
-$include-ext-draw-engine-svg: true;
-$include-ext-draw-engine-svgexporter: true;
-$include-ext-draw-engine-vml: true;
-$include-ext-draw-layout-component: true;
-$include-ext-event-event: false;
-$include-ext-event-gesture-doubletap: false;
-$include-ext-event-gesture-drag: false;
-$include-ext-event-gesture-edgeswipe: false;
-$include-ext-event-gesture-longpress: false;
-$include-ext-event-gesture-multitouch: false;
-$include-ext-event-gesture-pinch: false;
-$include-ext-event-gesture-recognizer: false;
-$include-ext-event-gesture-rotate: false;
-$include-ext-event-gesture-singletouch: false;
-$include-ext-event-gesture-swipe: false;
-$include-ext-event-gesture-tap: false;
-$include-ext-event-publisher-dom: false;
-$include-ext-event-publisher-elementpaint: false;
-$include-ext-event-publisher-elementsize: false;
-$include-ext-event-publisher-focus: false;
-$include-ext-event-publisher-gesture: false;
-$include-ext-event-publisher-mouseenterleave: false;
-$include-ext-event-publisher-publisher: false;
-$include-ext-flash-component: false;
-$include-ext-form-basic: false;
-$include-ext-form-checkboxgroup: false;
-$include-ext-form-checkboxmanager: false;
-$include-ext-form-fieldancestor: false;
-$include-ext-form-fieldcontainer: false;
-$include-ext-form-fieldset: false;
-$include-ext-form-label: false;
-$include-ext-form-labelable: false;
-$include-ext-form-panel: false;
-$include-ext-form-radiogroup: false;
-$include-ext-form-radiomanager: false;
-$include-ext-form-action-action: false;
-$include-ext-form-action-directaction: false;
-$include-ext-form-action-directload: false;
-$include-ext-form-action-directsubmit: false;
-$include-ext-form-action-load: false;
-$include-ext-form-action-standardsubmit: false;
-$include-ext-form-action-submit: false;
-$include-ext-form-field-base: false;
-$include-ext-form-field-checkbox: false;
-$include-ext-form-field-combobox: false;
-$include-ext-form-field-date: false;
-$include-ext-form-field-display: false;
-$include-ext-form-field-field: false;
-$include-ext-form-field-file: false;
-$include-ext-form-field-filebutton: false;
-$include-ext-form-field-hidden: false;
-$include-ext-form-field-htmleditor: false;
-$include-ext-form-field-number: false;
-$include-ext-form-field-picker: false;
-$include-ext-form-field-radio: false;
-$include-ext-form-field-spinner: false;
-$include-ext-form-field-tag: false;
-$include-ext-form-field-text: false;
-$include-ext-form-field-textarea: false;
-$include-ext-form-field-time: false;
-$include-ext-form-field-trigger: false;
-$include-ext-form-field-vtypes: false;
-$include-ext-form-trigger-component: false;
-$include-ext-form-trigger-spinner: false;
-$include-ext-form-trigger-trigger: false;
-$include-ext-fx-anim: false;
-$include-ext-fx-animation: false;
-$include-ext-fx-animator: false;
-$include-ext-fx-cubicbezier: false;
-$include-ext-fx-drawpath: false;
-$include-ext-fx-easing: false;
-$include-ext-fx-manager: false;
-$include-ext-fx-propertyhandler: false;
-$include-ext-fx-queue: false;
-$include-ext-fx-runner: false;
-$include-ext-fx-state: false;
-$include-ext-fx-animation-abstract: false;
-$include-ext-fx-animation-cube: false;
-$include-ext-fx-animation-fade: false;
-$include-ext-fx-animation-fadeout: false;
-$include-ext-fx-animation-flip: false;
-$include-ext-fx-animation-pop: false;
-$include-ext-fx-animation-popout: false;
-$include-ext-fx-animation-slide: false;
-$include-ext-fx-animation-slideout: false;
-$include-ext-fx-animation-wipe: false;
-$include-ext-fx-animation-wipeout: false;
-$include-ext-fx-easing-abstract: false;
-$include-ext-fx-easing-bounce: false;
-$include-ext-fx-easing-boundmomentum: false;
-$include-ext-fx-easing-easein: false;
-$include-ext-fx-easing-easeout: false;
-$include-ext-fx-easing-easing: false;
-$include-ext-fx-easing-linear: false;
-$include-ext-fx-easing-momentum: false;
-$include-ext-fx-layout-card: false;
-$include-ext-fx-layout-card-abstract: false;
-$include-ext-fx-layout-card-cover: false;
-$include-ext-fx-layout-card-cube: false;
-$include-ext-fx-layout-card-fade: false;
-$include-ext-fx-layout-card-flip: false;
-$include-ext-fx-layout-card-pop: false;
-$include-ext-fx-layout-card-reveal: false;
-$include-ext-fx-layout-card-scroll: false;
-$include-ext-fx-layout-card-scrollcover: false;
-$include-ext-fx-layout-card-scrollreveal: false;
-$include-ext-fx-layout-card-slide: false;
-$include-ext-fx-layout-card-style: false;
-$include-ext-fx-runner-css: false;
-$include-ext-fx-runner-cssanimation: false;
-$include-ext-fx-runner-csstransition: false;
-$include-ext-fx-target-component: false;
-$include-ext-fx-target-compositeelement: false;
-$include-ext-fx-target-compositeelementcss: false;
-$include-ext-fx-target-compositesprite: false;
-$include-ext-fx-target-element: false;
-$include-ext-fx-target-elementcss: false;
-$include-ext-fx-target-sprite: false;
-$include-ext-fx-target-target: false;
-$include-ext-grid-cellcontext: false;
-$include-ext-grid-celleditor: false;
-$include-ext-grid-columncomponentlayout: false;
-$include-ext-grid-columnlayout: false;
-$include-ext-grid-columnmanager: false;
-$include-ext-grid-navigationmodel: false;
-$include-ext-grid-panel: false;
-$include-ext-grid-roweditor: false;
-$include-ext-grid-roweditorbuttons: false;
-$include-ext-grid-viewdropzone: false;
-$include-ext-grid-column-action: false;
-$include-ext-grid-column-boolean: false;
-$include-ext-grid-column-check: false;
-$include-ext-grid-column-column: false;
-$include-ext-grid-column-date: false;
-$include-ext-grid-column-number: false;
-$include-ext-grid-column-rownumberer: false;
-$include-ext-grid-column-template: false;
-$include-ext-grid-column-widget: false;
-$include-ext-grid-feature-abstractsummary: false;
-$include-ext-grid-feature-feature: false;
-$include-ext-grid-feature-groupstore: false;
-$include-ext-grid-feature-grouping: false;
-$include-ext-grid-feature-groupingsummary: false;
-$include-ext-grid-feature-rowbody: false;
-$include-ext-grid-feature-summary: false;
-$include-ext-grid-filters-filters: false;
-$include-ext-grid-filters-filter-base: false;
-$include-ext-grid-filters-filter-boolean: false;
-$include-ext-grid-filters-filter-date: false;
-$include-ext-grid-filters-filter-list: false;
-$include-ext-grid-filters-filter-number: false;
-$include-ext-grid-filters-filter-singlefilter: false;
-$include-ext-grid-filters-filter-string: false;
-$include-ext-grid-filters-filter-trifilter: false;
-$include-ext-grid-header-container: false;
-$include-ext-grid-header-dragzone: false;
-$include-ext-grid-header-dropzone: false;
-$include-ext-grid-locking-headercontainer: false;
-$include-ext-grid-locking-lockable: false;
-$include-ext-grid-locking-rowsynchronizer: false;
-$include-ext-grid-locking-view: false;
-$include-ext-grid-plugin-bufferedrenderer: false;
-$include-ext-grid-plugin-cellediting: false;
-$include-ext-grid-plugin-clipboard: false;
-$include-ext-grid-plugin-dragdrop: false;
-$include-ext-grid-plugin-editing: false;
-$include-ext-grid-plugin-headerreorderer: false;
-$include-ext-grid-plugin-headerresizer: false;
-$include-ext-grid-plugin-rowediting: false;
-$include-ext-grid-plugin-rowexpander: false;
-$include-ext-grid-property-grid: false;
-$include-ext-grid-property-headercontainer: false;
-$include-ext-grid-property-property: false;
-$include-ext-grid-property-reader: false;
-$include-ext-grid-property-store: false;
-$include-ext-grid-selection-cells: false;
-$include-ext-grid-selection-columns: false;
-$include-ext-grid-selection-rows: false;
-$include-ext-grid-selection-selection: false;
-$include-ext-grid-selection-spreadsheetmodel: false;
-$include-ext-layout-context: false;
-$include-ext-layout-contextitem: false;
-$include-ext-layout-layout: false;
-$include-ext-layout-sizemodel: false;
-$include-ext-layout-component-auto: false;
-$include-ext-layout-component-body: false;
-$include-ext-layout-component-boundlist: false;
-$include-ext-layout-component-component: false;
-$include-ext-layout-component-dock: false;
-$include-ext-layout-component-fieldset: false;
-$include-ext-layout-component-progressbar: false;
-$include-ext-layout-component-field-fieldcontainer: false;
-$include-ext-layout-component-field-htmleditor: false;
-$include-ext-layout-container-absolute: false;
-$include-ext-layout-container-accordion: false;
-$include-ext-layout-container-anchor: false;
-$include-ext-layout-container-auto: false;
-$include-ext-layout-container-border: false;
-$include-ext-layout-container-box: false;
-$include-ext-layout-container-card: false;
-$include-ext-layout-container-center: false;
-$include-ext-layout-container-checkboxgroup: false;
-$include-ext-layout-container-column: false;
-$include-ext-layout-container-columnsplitter: false;
-$include-ext-layout-container-columnsplittertracker: false;
-$include-ext-layout-container-container: false;
-$include-ext-layout-container-dashboard: false;
-$include-ext-layout-container-editor: false;
-$include-ext-layout-container-fit: false;
-$include-ext-layout-container-form: false;
-$include-ext-layout-container-hbox: false;
-$include-ext-layout-container-segmentedbutton: false;
-$include-ext-layout-container-table: false;
-$include-ext-layout-container-vbox: false;
-$include-ext-layout-container-border-region: false;
-$include-ext-layout-container-boxoverflow-menu: false;
-$include-ext-layout-container-boxoverflow-none: false;
-$include-ext-layout-container-boxoverflow-scroller: false;
-$include-ext-menu-checkitem: false;
-$include-ext-menu-colorpicker: false;
-$include-ext-menu-datepicker: false;
-$include-ext-menu-item: false;
-$include-ext-menu-manager: false;
-$include-ext-menu-menu: false;
-$include-ext-menu-separator: false;
-$include-ext-mixin-bindable: false;
-$include-ext-mixin-factoryable: false;
-$include-ext-mixin-hookable: false;
-$include-ext-mixin-identifiable: false;
-$include-ext-mixin-inheritable: false;
-$include-ext-mixin-mashup: false;
-$include-ext-mixin-observable: false;
-$include-ext-mixin-queryable: false;
-$include-ext-mixin-responsive: false;
-$include-ext-mixin-selectable: false;
-$include-ext-mixin-templatable: false;
-$include-ext-mixin-traversable: false;
-$include-ext-overrides-globalevents: false;
-$include-ext-overrides-widget: false;
-$include-ext-overrides-app-application: false;
-$include-ext-overrides-app-domain-component: false;
-$include-ext-overrides-dom-element: false;
-$include-ext-overrides-dom-helper: false;
-$include-ext-overrides-event-event: false;
-$include-ext-overrides-event-publisher-dom: false;
-$include-ext-overrides-event-publisher-gesture: false;
-$include-ext-overrides-plugin-abstract: false;
-$include-ext-overrides-util-positionable: false;
-$include-ext-panel-bar: false;
-$include-ext-panel-dd: false;
-$include-ext-panel-header: false;
-$include-ext-panel-panel: false;
-$include-ext-panel-pinnable: false;
-$include-ext-panel-proxy: false;
-$include-ext-panel-table: false;
-$include-ext-panel-title: false;
-$include-ext-panel-tool: false;
-$include-ext-perf-accumulator: false;
-$include-ext-perf-monitor: false;
-$include-ext-picker-color: false;
-$include-ext-picker-date: false;
-$include-ext-picker-month: false;
-$include-ext-picker-time: false;
-$include-ext-plugin-abstract: false;
-$include-ext-plugin-abstractclipboard: false;
-$include-ext-plugin-manager: false;
-$include-ext-plugin-responsive: false;
-$include-ext-plugin-viewport: false;
-$include-ext-resizer-bordersplitter: false;
-$include-ext-resizer-bordersplittertracker: false;
-$include-ext-resizer-handle: false;
-$include-ext-resizer-resizetracker: false;
-$include-ext-resizer-resizer: false;
-$include-ext-resizer-splitter: false;
-$include-ext-resizer-splittertracker: false;
-$include-ext-rtl-component: false;
-$include-ext-rtl-button-button: false;
-$include-ext-rtl-button-segmented: false;
-$include-ext-rtl-chart-chart: true;
-$include-ext-rtl-chart-legend: true;
-$include-ext-rtl-chart-legenditem: true;
-$include-ext-rtl-chart-axis-axis: true;
-$include-ext-rtl-chart-axis-gauge: true;
-$include-ext-rtl-chart-series-cartesian: true;
-$include-ext-rtl-chart-series-gauge: true;
-$include-ext-rtl-dd-dd: false;
-$include-ext-rtl-dom-element: false;
-$include-ext-rtl-draw-component: true;
-$include-ext-rtl-draw-sprite: true;
-$include-ext-rtl-event-event: false;
-$include-ext-rtl-form-labelable: false;
-$include-ext-rtl-form-field-file: false;
-$include-ext-rtl-form-field-filebutton: false;
-$include-ext-rtl-grid-celleditor: false;
-$include-ext-rtl-grid-columnlayout: false;
-$include-ext-rtl-grid-navigationmodel: false;
-$include-ext-rtl-grid-column-column: false;
-$include-ext-rtl-grid-feature-summary: false;
-$include-ext-rtl-grid-plugin-headerresizer: false;
-$include-ext-rtl-grid-plugin-rowediting: false;
-$include-ext-rtl-layout-contextitem: false;
-$include-ext-rtl-layout-component-dock: false;
-$include-ext-rtl-layout-container-absolute: false;
-$include-ext-rtl-layout-container-border: false;
-$include-ext-rtl-layout-container-box: false;
-$include-ext-rtl-layout-container-column: false;
-$include-ext-rtl-layout-container-hbox: false;
-$include-ext-rtl-layout-container-vbox: false;
-$include-ext-rtl-layout-container-boxoverflow-menu: false;
-$include-ext-rtl-layout-container-boxoverflow-scroller: false;
-$include-ext-rtl-panel-bar: false;
-$include-ext-rtl-panel-panel: false;
-$include-ext-rtl-panel-title: false;
-$include-ext-rtl-resizer-bordersplittertracker: false;
-$include-ext-rtl-resizer-resizetracker: false;
-$include-ext-rtl-resizer-splittertracker: false;
-$include-ext-rtl-scroll-domscroller: false;
-$include-ext-rtl-scroll-indicator: false;
-$include-ext-rtl-scroll-scroller: false;
-$include-ext-rtl-scroll-touchscroller: false;
-$include-ext-rtl-slider-multi: false;
-$include-ext-rtl-tab-bar: false;
-$include-ext-rtl-tip-quicktipmanager: false;
-$include-ext-rtl-tree-column: false;
-$include-ext-rtl-util-focusablecontainer: false;
-$include-ext-rtl-util-renderable: false;
-$include-ext-rtl-view-navigationmodel: false;
-$include-ext-rtl-view-table: false;
-$include-ext-scroll-domscroller: false;
-$include-ext-scroll-indicator: false;
-$include-ext-scroll-scroller: false;
-$include-ext-scroll-touchscroller: false;
-$include-ext-selection-cellmodel: false;
-$include-ext-selection-checkboxmodel: false;
-$include-ext-selection-dataviewmodel: false;
-$include-ext-selection-model: false;
-$include-ext-selection-rowmodel: false;
-$include-ext-selection-treemodel: false;
-$include-ext-slider-multi: false;
-$include-ext-slider-single: false;
-$include-ext-slider-thumb: false;
-$include-ext-slider-tip: false;
-$include-ext-slider-widget: false;
-$include-ext-sparkline-bar: false;
-$include-ext-sparkline-barbase: false;
-$include-ext-sparkline-base: false;
-$include-ext-sparkline-box: false;
-$include-ext-sparkline-bullet: false;
-$include-ext-sparkline-canvasbase: false;
-$include-ext-sparkline-canvascanvas: false;
-$include-ext-sparkline-discrete: false;
-$include-ext-sparkline-line: false;
-$include-ext-sparkline-pie: false;
-$include-ext-sparkline-rangemap: false;
-$include-ext-sparkline-shape: false;
-$include-ext-sparkline-tristate: false;
-$include-ext-sparkline-vmlcanvas: false;
-$include-ext-state-cookieprovider: false;
-$include-ext-state-localstorageprovider: false;
-$include-ext-state-manager: false;
-$include-ext-state-provider: false;
-$include-ext-state-stateful: false;
-$include-ext-tab-bar: false;
-$include-ext-tab-panel: false;
-$include-ext-tab-tab: false;
-$include-ext-tip-quicktip: false;
-$include-ext-tip-quicktipmanager: false;
-$include-ext-tip-tip: false;
-$include-ext-tip-tooltip: false;
-$include-ext-toolbar-breadcrumb: false;
-$include-ext-toolbar-fill: false;
-$include-ext-toolbar-item: false;
-$include-ext-toolbar-paging: false;
-$include-ext-toolbar-separator: false;
-$include-ext-toolbar-spacer: false;
-$include-ext-toolbar-textitem: false;
-$include-ext-toolbar-toolbar: false;
-$include-ext-tree-column: false;
-$include-ext-tree-navigationmodel: false;
-$include-ext-tree-panel: false;
-$include-ext-tree-view: false;
-$include-ext-tree-viewdragzone: false;
-$include-ext-tree-viewdropzone: false;
-$include-ext-tree-plugin-treeviewdragdrop: false;
-$include-ext-util-abstractmixedcollection: false;
-$include-ext-util-animate: false;
-$include-ext-util-base64: false;
-$include-ext-util-css: false;
-$include-ext-util-csv: false;
-$include-ext-util-clickrepeater: false;
-$include-ext-util-collection: false;
-$include-ext-util-collectionkey: false;
-$include-ext-util-componentdragger: false;
-$include-ext-util-cookies: false;
-$include-ext-util-delimitedvalue: false;
-$include-ext-util-elementcontainer: false;
-$include-ext-util-event: false;
-$include-ext-util-filter: false;
-$include-ext-util-filtercollection: false;
-$include-ext-util-floating: false;
-$include-ext-util-focusable: false;
-$include-ext-util-focusablecontainer: false;
-$include-ext-util-format: false;
-$include-ext-util-group: false;
-$include-ext-util-groupcollection: false;
-$include-ext-util-grouper: false;
-$include-ext-util-hashmap: false;
-$include-ext-util-history: false;
-$include-ext-util-inflector: false;
-$include-ext-util-keymap: false;
-$include-ext-util-keynav: false;
-$include-ext-util-localstorage: false;
-$include-ext-util-lrucache: false;
-$include-ext-util-memento: false;
-$include-ext-util-mixedcollection: false;
-$include-ext-util-objecttemplate: false;
-$include-ext-util-observable: false;
-$include-ext-util-offset: false;
-$include-ext-util-paintmonitor: false;
-$include-ext-util-point: false;
-$include-ext-util-positionable: false;
-$include-ext-util-protoelement: false;
-$include-ext-util-queue: false;
-$include-ext-util-region: false;
-$include-ext-util-renderable: false;
-$include-ext-util-schedulable: false;
-$include-ext-util-scheduler: false;
-$include-ext-util-sizemonitor: false;
-$include-ext-util-sortable: false;
-$include-ext-util-sorter: false;
-$include-ext-util-sortercollection: false;
-$include-ext-util-storeholder: false;
-$include-ext-util-tsv: false;
-$include-ext-util-taskmanager: false;
-$include-ext-util-taskrunner: false;
-$include-ext-util-textmetrics: false;
-$include-ext-util-translatable: false;
-$include-ext-util-xtemplatecompiler: false;
-$include-ext-util-xtemplateparser: false;
-$include-ext-util-paintmonitor-abstract: false;
-$include-ext-util-paintmonitor-cssanimation: false;
-$include-ext-util-paintmonitor-overflowchange: false;
-$include-ext-util-sizemonitor-abstract: false;
-$include-ext-util-sizemonitor-default: false;
-$include-ext-util-sizemonitor-overflowchange: false;
-$include-ext-util-sizemonitor-scroll: false;
-$include-ext-util-translatable-abstract: false;
-$include-ext-util-translatable-cssposition: false;
-$include-ext-util-translatable-csstransform: false;
-$include-ext-util-translatable-dom: false;
-$include-ext-util-translatable-scrollparent: false;
-$include-ext-util-translatable-scrollposition: false;
-$include-ext-view-abstractview: false;
-$include-ext-view-boundlist: false;
-$include-ext-view-boundlistkeynav: false;
-$include-ext-view-dragzone: false;
-$include-ext-view-dropzone: false;
-$include-ext-view-multiselector: false;
-$include-ext-view-multiselectorsearch: false;
-$include-ext-view-navigationmodel: false;
-$include-ext-view-nodecache: false;
-$include-ext-view-table: false;
-$include-ext-view-tablelayout: false;
-$include-ext-view-view: false;
-$include-ext-window-messagebox: false;
-$include-ext-window-toast: false;
-$include-ext-window-window: false;
-/* including package ext-theme-base */
-@import '../../ext-theme-base/sass/etc/all';
-/* including package ext-theme-base */
-@import '../../ext-theme-base/sass/var/Component';
-/* including package ext-charts */
-$ext-charts-resource-path: 'images' !default;
-$relative-image-path-for-uis: $ext-charts-resource-path;
-@import '../sass/src/draw/Component';

+ 0 - 717
src/ext/packages/ext-charts/build/ext-charts-all-rtl-debug.scss

@@ -1,717 +0,0 @@
-$image-search-path: '/home/teamcity/buildAgent/work/3cebfbfc7c03d949/sencha/ext/packages/ext-charts/build/resources' !default;
-$theme-name:  'ext-charts' !default;
-$include-ext-abstractmanager: false;
-$include-ext-action: false;
-$include-ext-ajax: false;
-$include-ext-animationqueue: false;
-$include-ext-component: false;
-$include-ext-componentloader: false;
-$include-ext-componentmanager: false;
-$include-ext-componentquery: false;
-$include-ext-editor: false;
-$include-ext-elementloader: false;
-$include-ext-eventmanager: false;
-$include-ext-evented: false;
-$include-ext-focusmanager: false;
-$include-ext-globalevents: false;
-$include-ext-img: false;
-$include-ext-loadmask: false;
-$include-ext-mixin: false;
-$include-ext-progressbar: false;
-$include-ext-progressbarwidget: false;
-$include-ext-taskqueue: false;
-$include-ext-template: false;
-$include-ext-widget: false;
-$include-ext-xtemplate: false;
-$include-ext-zindexmanager: false;
-$include-ext-app-application: false;
-$include-ext-app-basecontroller: false;
-$include-ext-app-controller: false;
-$include-ext-app-eventbus: false;
-$include-ext-app-eventdomain: false;
-$include-ext-app-profile: false;
-$include-ext-app-util: false;
-$include-ext-app-viewcontroller: false;
-$include-ext-app-viewmodel: false;
-$include-ext-app-bind-abstractstub: false;
-$include-ext-app-bind-basebinding: false;
-$include-ext-app-bind-binding: false;
-$include-ext-app-bind-formula: false;
-$include-ext-app-bind-linkstub: false;
-$include-ext-app-bind-multi: false;
-$include-ext-app-bind-rootstub: false;
-$include-ext-app-bind-stub: false;
-$include-ext-app-bind-template: false;
-$include-ext-app-bind-templatebinding: false;
-$include-ext-app-bindinspector-componentdetail: false;
-$include-ext-app-bindinspector-componentlist: false;
-$include-ext-app-bindinspector-container: false;
-$include-ext-app-bindinspector-environment: false;
-$include-ext-app-bindinspector-inspector: false;
-$include-ext-app-bindinspector-util: false;
-$include-ext-app-bindinspector-viewmodeldetail: false;
-$include-ext-app-bindinspector-noconflict-basemodel: false;
-$include-ext-app-domain-component: false;
-$include-ext-app-domain-controller: false;
-$include-ext-app-domain-direct: false;
-$include-ext-app-domain-global: false;
-$include-ext-app-domain-store: false;
-$include-ext-app-domain-view: false;
-$include-ext-app-route-queue: false;
-$include-ext-app-route-route: false;
-$include-ext-app-route-router: false;
-$include-ext-button-button: false;
-$include-ext-button-cycle: false;
-$include-ext-button-manager: false;
-$include-ext-button-segmented: false;
-$include-ext-button-split: false;
-$include-ext-chart-callout: true;
-$include-ext-chart-chart: true;
-$include-ext-chart-highlight: true;
-$include-ext-chart-label: true;
-$include-ext-chart-legend: true;
-$include-ext-chart-legenditem: true;
-$include-ext-chart-mask: true;
-$include-ext-chart-masklayer: true;
-$include-ext-chart-navigation: true;
-$include-ext-chart-shape: true;
-$include-ext-chart-tip: true;
-$include-ext-chart-tipsurface: true;
-$include-ext-chart-axis-abstract: true;
-$include-ext-chart-axis-axis: true;
-$include-ext-chart-axis-category: true;
-$include-ext-chart-axis-gauge: true;
-$include-ext-chart-axis-numeric: true;
-$include-ext-chart-axis-radial: true;
-$include-ext-chart-axis-time: true;
-$include-ext-chart-series-area: true;
-$include-ext-chart-series-bar: true;
-$include-ext-chart-series-cartesian: true;
-$include-ext-chart-series-column: true;
-$include-ext-chart-series-gauge: true;
-$include-ext-chart-series-line: true;
-$include-ext-chart-series-pie: true;
-$include-ext-chart-series-radar: true;
-$include-ext-chart-series-scatter: true;
-$include-ext-chart-series-series: true;
-$include-ext-chart-theme-base: true;
-$include-ext-chart-theme-theme: true;
-$include-ext-container-buttongroup: false;
-$include-ext-container-container: false;
-$include-ext-container-dockingcontainer: false;
-$include-ext-container-monitor: false;
-$include-ext-container-viewport: false;
-$include-ext-dashboard-column: false;
-$include-ext-dashboard-dashboard: false;
-$include-ext-dashboard-dropzone: false;
-$include-ext-dashboard-panel: false;
-$include-ext-dashboard-part: false;
-$include-ext-data-abstractstore: false;
-$include-ext-data-arraystore: false;
-$include-ext-data-batch: false;
-$include-ext-data-bufferedstore: false;
-$include-ext-data-chainedstore: false;
-$include-ext-data-connection: false;
-$include-ext-data-directstore: false;
-$include-ext-data-error: false;
-$include-ext-data-errorcollection: false;
-$include-ext-data-jsonp: false;
-$include-ext-data-jsonpstore: false;
-$include-ext-data-jsonstore: false;
-$include-ext-data-localstore: false;
-$include-ext-data-model: false;
-$include-ext-data-modelmanager: false;
-$include-ext-data-nodeinterface: false;
-$include-ext-data-nodestore: false;
-$include-ext-data-pagemap: false;
-$include-ext-data-proxystore: false;
-$include-ext-data-request: false;
-$include-ext-data-resultset: false;
-$include-ext-data-session: false;
-$include-ext-data-sorttypes: false;
-$include-ext-data-store: false;
-$include-ext-data-storemanager: false;
-$include-ext-data-treemodel: false;
-$include-ext-data-treestore: false;
-$include-ext-data-types: false;
-$include-ext-data-validation: false;
-$include-ext-data-xmlstore: false;
-$include-ext-data-field-boolean: false;
-$include-ext-data-field-date: false;
-$include-ext-data-field-field: false;
-$include-ext-data-field-integer: false;
-$include-ext-data-field-number: false;
-$include-ext-data-field-string: false;
-$include-ext-data-flash-binaryxhr: false;
-$include-ext-data-identifier-generator: false;
-$include-ext-data-identifier-negative: false;
-$include-ext-data-identifier-sequential: false;
-$include-ext-data-identifier-uuid: false;
-$include-ext-data-matrix-matrix: false;
-$include-ext-data-matrix-side: false;
-$include-ext-data-matrix-slice: false;
-$include-ext-data-operation-create: false;
-$include-ext-data-operation-destroy: false;
-$include-ext-data-operation-operation: false;
-$include-ext-data-operation-read: false;
-$include-ext-data-operation-update: false;
-$include-ext-data-proxy-ajax: false;
-$include-ext-data-proxy-client: false;
-$include-ext-data-proxy-direct: false;
-$include-ext-data-proxy-jsonp: false;
-$include-ext-data-proxy-localstorage: false;
-$include-ext-data-proxy-memory: false;
-$include-ext-data-proxy-proxy: false;
-$include-ext-data-proxy-rest: false;
-$include-ext-data-proxy-server: false;
-$include-ext-data-proxy-sessionstorage: false;
-$include-ext-data-proxy-webstorage: false;
-$include-ext-data-reader-array: false;
-$include-ext-data-reader-json: false;
-$include-ext-data-reader-reader: false;
-$include-ext-data-reader-xml: false;
-$include-ext-data-schema-association: false;
-$include-ext-data-schema-manytomany: false;
-$include-ext-data-schema-manytoone: false;
-$include-ext-data-schema-namer: false;
-$include-ext-data-schema-onetoone: false;
-$include-ext-data-schema-role: false;
-$include-ext-data-schema-schema: false;
-$include-ext-data-session-batchvisitor: false;
-$include-ext-data-session-changesvisitor: false;
-$include-ext-data-session-childchangesvisitor: false;
-$include-ext-data-validator-bound: false;
-$include-ext-data-validator-email: false;
-$include-ext-data-validator-exclusion: false;
-$include-ext-data-validator-format: false;
-$include-ext-data-validator-inclusion: false;
-$include-ext-data-validator-length: false;
-$include-ext-data-validator-list: false;
-$include-ext-data-validator-presence: false;
-$include-ext-data-validator-range: false;
-$include-ext-data-validator-validator: false;
-$include-ext-data-writer-json: false;
-$include-ext-data-writer-writer: false;
-$include-ext-data-writer-xml: false;
-$include-ext-dd-dd: false;
-$include-ext-dd-ddproxy: false;
-$include-ext-dd-ddtarget: false;
-$include-ext-dd-dragdrop: false;
-$include-ext-dd-dragdropmanager: false;
-$include-ext-dd-dragsource: false;
-$include-ext-dd-dragtracker: false;
-$include-ext-dd-dragzone: false;
-$include-ext-dd-droptarget: false;
-$include-ext-dd-dropzone: false;
-$include-ext-dd-registry: false;
-$include-ext-dd-scrollmanager: false;
-$include-ext-dd-statusproxy: false;
-$include-ext-direct-event: false;
-$include-ext-direct-exceptionevent: false;
-$include-ext-direct-jsonprovider: false;
-$include-ext-direct-manager: false;
-$include-ext-direct-pollingprovider: false;
-$include-ext-direct-provider: false;
-$include-ext-direct-remotingevent: false;
-$include-ext-direct-remotingmethod: false;
-$include-ext-direct-remotingprovider: false;
-$include-ext-direct-transaction: false;
-$include-ext-dom-buttonelement: false;
-$include-ext-dom-compositeelement: false;
-$include-ext-dom-compositeelementlite: false;
-$include-ext-dom-element: false;
-$include-ext-dom-elementevent: false;
-$include-ext-dom-fly: false;
-$include-ext-dom-garbagecollector: false;
-$include-ext-dom-helper: false;
-$include-ext-dom-layer: false;
-$include-ext-dom-query: false;
-$include-ext-dom-shadow: false;
-$include-ext-dom-shim: false;
-$include-ext-dom-underlay: false;
-$include-ext-dom-underlaypool: false;
-$include-ext-draw-color: true;
-$include-ext-draw-component: true;
-$include-ext-draw-compositesprite: true;
-$include-ext-draw-draw: true;
-$include-ext-draw-matrix: true;
-$include-ext-draw-sprite: true;
-$include-ext-draw-spritedd: true;
-$include-ext-draw-surface: true;
-$include-ext-draw-text: true;
-$include-ext-draw-engine-imageexporter: true;
-$include-ext-draw-engine-svg: true;
-$include-ext-draw-engine-svgexporter: true;
-$include-ext-draw-engine-vml: true;
-$include-ext-draw-layout-component: true;
-$include-ext-event-event: false;
-$include-ext-event-gesture-doubletap: false;
-$include-ext-event-gesture-drag: false;
-$include-ext-event-gesture-edgeswipe: false;
-$include-ext-event-gesture-longpress: false;
-$include-ext-event-gesture-multitouch: false;
-$include-ext-event-gesture-pinch: false;
-$include-ext-event-gesture-recognizer: false;
-$include-ext-event-gesture-rotate: false;
-$include-ext-event-gesture-singletouch: false;
-$include-ext-event-gesture-swipe: false;
-$include-ext-event-gesture-tap: false;
-$include-ext-event-publisher-dom: false;
-$include-ext-event-publisher-elementpaint: false;
-$include-ext-event-publisher-elementsize: false;
-$include-ext-event-publisher-focus: false;
-$include-ext-event-publisher-gesture: false;
-$include-ext-event-publisher-mouseenterleave: false;
-$include-ext-event-publisher-publisher: false;
-$include-ext-flash-component: false;
-$include-ext-form-basic: false;
-$include-ext-form-checkboxgroup: false;
-$include-ext-form-checkboxmanager: false;
-$include-ext-form-fieldancestor: false;
-$include-ext-form-fieldcontainer: false;
-$include-ext-form-fieldset: false;
-$include-ext-form-label: false;
-$include-ext-form-labelable: false;
-$include-ext-form-panel: false;
-$include-ext-form-radiogroup: false;
-$include-ext-form-radiomanager: false;
-$include-ext-form-action-action: false;
-$include-ext-form-action-directaction: false;
-$include-ext-form-action-directload: false;
-$include-ext-form-action-directsubmit: false;
-$include-ext-form-action-load: false;
-$include-ext-form-action-standardsubmit: false;
-$include-ext-form-action-submit: false;
-$include-ext-form-field-base: false;
-$include-ext-form-field-checkbox: false;
-$include-ext-form-field-combobox: false;
-$include-ext-form-field-date: false;
-$include-ext-form-field-display: false;
-$include-ext-form-field-field: false;
-$include-ext-form-field-file: false;
-$include-ext-form-field-filebutton: false;
-$include-ext-form-field-hidden: false;
-$include-ext-form-field-htmleditor: false;
-$include-ext-form-field-number: false;
-$include-ext-form-field-picker: false;
-$include-ext-form-field-radio: false;
-$include-ext-form-field-spinner: false;
-$include-ext-form-field-tag: false;
-$include-ext-form-field-text: false;
-$include-ext-form-field-textarea: false;
-$include-ext-form-field-time: false;
-$include-ext-form-field-trigger: false;
-$include-ext-form-field-vtypes: false;
-$include-ext-form-trigger-component: false;
-$include-ext-form-trigger-spinner: false;
-$include-ext-form-trigger-trigger: false;
-$include-ext-fx-anim: false;
-$include-ext-fx-animation: false;
-$include-ext-fx-animator: false;
-$include-ext-fx-cubicbezier: false;
-$include-ext-fx-drawpath: false;
-$include-ext-fx-easing: false;
-$include-ext-fx-manager: false;
-$include-ext-fx-propertyhandler: false;
-$include-ext-fx-queue: false;
-$include-ext-fx-runner: false;
-$include-ext-fx-state: false;
-$include-ext-fx-animation-abstract: false;
-$include-ext-fx-animation-cube: false;
-$include-ext-fx-animation-fade: false;
-$include-ext-fx-animation-fadeout: false;
-$include-ext-fx-animation-flip: false;
-$include-ext-fx-animation-pop: false;
-$include-ext-fx-animation-popout: false;
-$include-ext-fx-animation-slide: false;
-$include-ext-fx-animation-slideout: false;
-$include-ext-fx-animation-wipe: false;
-$include-ext-fx-animation-wipeout: false;
-$include-ext-fx-easing-abstract: false;
-$include-ext-fx-easing-bounce: false;
-$include-ext-fx-easing-boundmomentum: false;
-$include-ext-fx-easing-easein: false;
-$include-ext-fx-easing-easeout: false;
-$include-ext-fx-easing-easing: false;
-$include-ext-fx-easing-linear: false;
-$include-ext-fx-easing-momentum: false;
-$include-ext-fx-layout-card: false;
-$include-ext-fx-layout-card-abstract: false;
-$include-ext-fx-layout-card-cover: false;
-$include-ext-fx-layout-card-cube: false;
-$include-ext-fx-layout-card-fade: false;
-$include-ext-fx-layout-card-flip: false;
-$include-ext-fx-layout-card-pop: false;
-$include-ext-fx-layout-card-reveal: false;
-$include-ext-fx-layout-card-scroll: false;
-$include-ext-fx-layout-card-scrollcover: false;
-$include-ext-fx-layout-card-scrollreveal: false;
-$include-ext-fx-layout-card-slide: false;
-$include-ext-fx-layout-card-style: false;
-$include-ext-fx-runner-css: false;
-$include-ext-fx-runner-cssanimation: false;
-$include-ext-fx-runner-csstransition: false;
-$include-ext-fx-target-component: false;
-$include-ext-fx-target-compositeelement: false;
-$include-ext-fx-target-compositeelementcss: false;
-$include-ext-fx-target-compositesprite: false;
-$include-ext-fx-target-element: false;
-$include-ext-fx-target-elementcss: false;
-$include-ext-fx-target-sprite: false;
-$include-ext-fx-target-target: false;
-$include-ext-grid-cellcontext: false;
-$include-ext-grid-celleditor: false;
-$include-ext-grid-columncomponentlayout: false;
-$include-ext-grid-columnlayout: false;
-$include-ext-grid-columnmanager: false;
-$include-ext-grid-navigationmodel: false;
-$include-ext-grid-panel: false;
-$include-ext-grid-roweditor: false;
-$include-ext-grid-roweditorbuttons: false;
-$include-ext-grid-viewdropzone: false;
-$include-ext-grid-column-action: false;
-$include-ext-grid-column-boolean: false;
-$include-ext-grid-column-check: false;
-$include-ext-grid-column-column: false;
-$include-ext-grid-column-date: false;
-$include-ext-grid-column-number: false;
-$include-ext-grid-column-rownumberer: false;
-$include-ext-grid-column-template: false;
-$include-ext-grid-column-widget: false;
-$include-ext-grid-feature-abstractsummary: false;
-$include-ext-grid-feature-feature: false;
-$include-ext-grid-feature-groupstore: false;
-$include-ext-grid-feature-grouping: false;
-$include-ext-grid-feature-groupingsummary: false;
-$include-ext-grid-feature-rowbody: false;
-$include-ext-grid-feature-summary: false;
-$include-ext-grid-filters-filters: false;
-$include-ext-grid-filters-filter-base: false;
-$include-ext-grid-filters-filter-boolean: false;
-$include-ext-grid-filters-filter-date: false;
-$include-ext-grid-filters-filter-list: false;
-$include-ext-grid-filters-filter-number: false;
-$include-ext-grid-filters-filter-singlefilter: false;
-$include-ext-grid-filters-filter-string: false;
-$include-ext-grid-filters-filter-trifilter: false;
-$include-ext-grid-header-container: false;
-$include-ext-grid-header-dragzone: false;
-$include-ext-grid-header-dropzone: false;
-$include-ext-grid-locking-headercontainer: false;
-$include-ext-grid-locking-lockable: false;
-$include-ext-grid-locking-rowsynchronizer: false;
-$include-ext-grid-locking-view: false;
-$include-ext-grid-plugin-bufferedrenderer: false;
-$include-ext-grid-plugin-cellediting: false;
-$include-ext-grid-plugin-clipboard: false;
-$include-ext-grid-plugin-dragdrop: false;
-$include-ext-grid-plugin-editing: false;
-$include-ext-grid-plugin-headerreorderer: false;
-$include-ext-grid-plugin-headerresizer: false;
-$include-ext-grid-plugin-rowediting: false;
-$include-ext-grid-plugin-rowexpander: false;
-$include-ext-grid-property-grid: false;
-$include-ext-grid-property-headercontainer: false;
-$include-ext-grid-property-property: false;
-$include-ext-grid-property-reader: false;
-$include-ext-grid-property-store: false;
-$include-ext-grid-selection-cells: false;
-$include-ext-grid-selection-columns: false;
-$include-ext-grid-selection-rows: false;
-$include-ext-grid-selection-selection: false;
-$include-ext-grid-selection-spreadsheetmodel: false;
-$include-ext-layout-context: false;
-$include-ext-layout-contextitem: false;
-$include-ext-layout-layout: false;
-$include-ext-layout-sizemodel: false;
-$include-ext-layout-component-auto: false;
-$include-ext-layout-component-body: false;
-$include-ext-layout-component-boundlist: false;
-$include-ext-layout-component-component: false;
-$include-ext-layout-component-dock: false;
-$include-ext-layout-component-fieldset: false;
-$include-ext-layout-component-progressbar: false;
-$include-ext-layout-component-field-fieldcontainer: false;
-$include-ext-layout-component-field-htmleditor: false;
-$include-ext-layout-container-absolute: false;
-$include-ext-layout-container-accordion: false;
-$include-ext-layout-container-anchor: false;
-$include-ext-layout-container-auto: false;
-$include-ext-layout-container-border: false;
-$include-ext-layout-container-box: false;
-$include-ext-layout-container-card: false;
-$include-ext-layout-container-center: false;
-$include-ext-layout-container-checkboxgroup: false;
-$include-ext-layout-container-column: false;
-$include-ext-layout-container-columnsplitter: false;
-$include-ext-layout-container-columnsplittertracker: false;
-$include-ext-layout-container-container: false;
-$include-ext-layout-container-dashboard: false;
-$include-ext-layout-container-editor: false;
-$include-ext-layout-container-fit: false;
-$include-ext-layout-container-form: false;
-$include-ext-layout-container-hbox: false;
-$include-ext-layout-container-segmentedbutton: false;
-$include-ext-layout-container-table: false;
-$include-ext-layout-container-vbox: false;
-$include-ext-layout-container-border-region: false;
-$include-ext-layout-container-boxoverflow-menu: false;
-$include-ext-layout-container-boxoverflow-none: false;
-$include-ext-layout-container-boxoverflow-scroller: false;
-$include-ext-menu-checkitem: false;
-$include-ext-menu-colorpicker: false;
-$include-ext-menu-datepicker: false;
-$include-ext-menu-item: false;
-$include-ext-menu-manager: false;
-$include-ext-menu-menu: false;
-$include-ext-menu-separator: false;
-$include-ext-mixin-bindable: false;
-$include-ext-mixin-factoryable: false;
-$include-ext-mixin-hookable: false;
-$include-ext-mixin-identifiable: false;
-$include-ext-mixin-inheritable: false;
-$include-ext-mixin-mashup: false;
-$include-ext-mixin-observable: false;
-$include-ext-mixin-queryable: false;
-$include-ext-mixin-responsive: false;
-$include-ext-mixin-selectable: false;
-$include-ext-mixin-templatable: false;
-$include-ext-mixin-traversable: false;
-$include-ext-overrides-globalevents: false;
-$include-ext-overrides-widget: false;
-$include-ext-overrides-app-application: false;
-$include-ext-overrides-app-domain-component: false;
-$include-ext-overrides-dom-element: false;
-$include-ext-overrides-dom-helper: false;
-$include-ext-overrides-event-event: false;
-$include-ext-overrides-event-publisher-dom: false;
-$include-ext-overrides-event-publisher-gesture: false;
-$include-ext-overrides-plugin-abstract: false;
-$include-ext-overrides-util-positionable: false;
-$include-ext-panel-bar: false;
-$include-ext-panel-dd: false;
-$include-ext-panel-header: false;
-$include-ext-panel-panel: false;
-$include-ext-panel-pinnable: false;
-$include-ext-panel-proxy: false;
-$include-ext-panel-table: false;
-$include-ext-panel-title: false;
-$include-ext-panel-tool: false;
-$include-ext-perf-accumulator: false;
-$include-ext-perf-monitor: false;
-$include-ext-picker-color: false;
-$include-ext-picker-date: false;
-$include-ext-picker-month: false;
-$include-ext-picker-time: false;
-$include-ext-plugin-abstract: false;
-$include-ext-plugin-abstractclipboard: false;
-$include-ext-plugin-manager: false;
-$include-ext-plugin-responsive: false;
-$include-ext-plugin-viewport: false;
-$include-ext-resizer-bordersplitter: false;
-$include-ext-resizer-bordersplittertracker: false;
-$include-ext-resizer-handle: false;
-$include-ext-resizer-resizetracker: false;
-$include-ext-resizer-resizer: false;
-$include-ext-resizer-splitter: false;
-$include-ext-resizer-splittertracker: false;
-$include-ext-rtl-component: false;
-$include-ext-rtl-button-button: false;
-$include-ext-rtl-button-segmented: false;
-$include-ext-rtl-chart-chart: true;
-$include-ext-rtl-chart-legend: true;
-$include-ext-rtl-chart-legenditem: true;
-$include-ext-rtl-chart-axis-axis: true;
-$include-ext-rtl-chart-axis-gauge: true;
-$include-ext-rtl-chart-series-cartesian: true;
-$include-ext-rtl-chart-series-gauge: true;
-$include-ext-rtl-dd-dd: false;
-$include-ext-rtl-dom-element: false;
-$include-ext-rtl-draw-component: true;
-$include-ext-rtl-draw-sprite: true;
-$include-ext-rtl-event-event: false;
-$include-ext-rtl-form-labelable: false;
-$include-ext-rtl-form-field-file: false;
-$include-ext-rtl-form-field-filebutton: false;
-$include-ext-rtl-grid-celleditor: false;
-$include-ext-rtl-grid-columnlayout: false;
-$include-ext-rtl-grid-navigationmodel: false;
-$include-ext-rtl-grid-column-column: false;
-$include-ext-rtl-grid-feature-summary: false;
-$include-ext-rtl-grid-plugin-headerresizer: false;
-$include-ext-rtl-grid-plugin-rowediting: false;
-$include-ext-rtl-layout-contextitem: false;
-$include-ext-rtl-layout-component-dock: false;
-$include-ext-rtl-layout-container-absolute: false;
-$include-ext-rtl-layout-container-border: false;
-$include-ext-rtl-layout-container-box: false;
-$include-ext-rtl-layout-container-column: false;
-$include-ext-rtl-layout-container-hbox: false;
-$include-ext-rtl-layout-container-vbox: false;
-$include-ext-rtl-layout-container-boxoverflow-menu: false;
-$include-ext-rtl-layout-container-boxoverflow-scroller: false;
-$include-ext-rtl-panel-bar: false;
-$include-ext-rtl-panel-panel: false;
-$include-ext-rtl-panel-title: false;
-$include-ext-rtl-resizer-bordersplittertracker: false;
-$include-ext-rtl-resizer-resizetracker: false;
-$include-ext-rtl-resizer-splittertracker: false;
-$include-ext-rtl-scroll-domscroller: false;
-$include-ext-rtl-scroll-indicator: false;
-$include-ext-rtl-scroll-scroller: false;
-$include-ext-rtl-scroll-touchscroller: false;
-$include-ext-rtl-slider-multi: false;
-$include-ext-rtl-tab-bar: false;
-$include-ext-rtl-tip-quicktipmanager: false;
-$include-ext-rtl-tree-column: false;
-$include-ext-rtl-util-focusablecontainer: false;
-$include-ext-rtl-util-renderable: false;
-$include-ext-rtl-view-navigationmodel: false;
-$include-ext-rtl-view-table: false;
-$include-ext-scroll-domscroller: false;
-$include-ext-scroll-indicator: false;
-$include-ext-scroll-scroller: false;
-$include-ext-scroll-touchscroller: false;
-$include-ext-selection-cellmodel: false;
-$include-ext-selection-checkboxmodel: false;
-$include-ext-selection-dataviewmodel: false;
-$include-ext-selection-model: false;
-$include-ext-selection-rowmodel: false;
-$include-ext-selection-treemodel: false;
-$include-ext-slider-multi: false;
-$include-ext-slider-single: false;
-$include-ext-slider-thumb: false;
-$include-ext-slider-tip: false;
-$include-ext-slider-widget: false;
-$include-ext-sparkline-bar: false;
-$include-ext-sparkline-barbase: false;
-$include-ext-sparkline-base: false;
-$include-ext-sparkline-box: false;
-$include-ext-sparkline-bullet: false;
-$include-ext-sparkline-canvasbase: false;
-$include-ext-sparkline-canvascanvas: false;
-$include-ext-sparkline-discrete: false;
-$include-ext-sparkline-line: false;
-$include-ext-sparkline-pie: false;
-$include-ext-sparkline-rangemap: false;
-$include-ext-sparkline-shape: false;
-$include-ext-sparkline-tristate: false;
-$include-ext-sparkline-vmlcanvas: false;
-$include-ext-state-cookieprovider: false;
-$include-ext-state-localstorageprovider: false;
-$include-ext-state-manager: false;
-$include-ext-state-provider: false;
-$include-ext-state-stateful: false;
-$include-ext-tab-bar: false;
-$include-ext-tab-panel: false;
-$include-ext-tab-tab: false;
-$include-ext-tip-quicktip: false;
-$include-ext-tip-quicktipmanager: false;
-$include-ext-tip-tip: false;
-$include-ext-tip-tooltip: false;
-$include-ext-toolbar-breadcrumb: false;
-$include-ext-toolbar-fill: false;
-$include-ext-toolbar-item: false;
-$include-ext-toolbar-paging: false;
-$include-ext-toolbar-separator: false;
-$include-ext-toolbar-spacer: false;
-$include-ext-toolbar-textitem: false;
-$include-ext-toolbar-toolbar: false;
-$include-ext-tree-column: false;
-$include-ext-tree-navigationmodel: false;
-$include-ext-tree-panel: false;
-$include-ext-tree-view: false;
-$include-ext-tree-viewdragzone: false;
-$include-ext-tree-viewdropzone: false;
-$include-ext-tree-plugin-treeviewdragdrop: false;
-$include-ext-util-abstractmixedcollection: false;
-$include-ext-util-animate: false;
-$include-ext-util-base64: false;
-$include-ext-util-css: false;
-$include-ext-util-csv: false;
-$include-ext-util-clickrepeater: false;
-$include-ext-util-collection: false;
-$include-ext-util-collectionkey: false;
-$include-ext-util-componentdragger: false;
-$include-ext-util-cookies: false;
-$include-ext-util-delimitedvalue: false;
-$include-ext-util-elementcontainer: false;
-$include-ext-util-event: false;
-$include-ext-util-filter: false;
-$include-ext-util-filtercollection: false;
-$include-ext-util-floating: false;
-$include-ext-util-focusable: false;
-$include-ext-util-focusablecontainer: false;
-$include-ext-util-format: false;
-$include-ext-util-group: false;
-$include-ext-util-groupcollection: false;
-$include-ext-util-grouper: false;
-$include-ext-util-hashmap: false;
-$include-ext-util-history: false;
-$include-ext-util-inflector: false;
-$include-ext-util-keymap: false;
-$include-ext-util-keynav: false;
-$include-ext-util-localstorage: false;
-$include-ext-util-lrucache: false;
-$include-ext-util-memento: false;
-$include-ext-util-mixedcollection: false;
-$include-ext-util-objecttemplate: false;
-$include-ext-util-observable: false;
-$include-ext-util-offset: false;
-$include-ext-util-paintmonitor: false;
-$include-ext-util-point: false;
-$include-ext-util-positionable: false;
-$include-ext-util-protoelement: false;
-$include-ext-util-queue: false;
-$include-ext-util-region: false;
-$include-ext-util-renderable: false;
-$include-ext-util-schedulable: false;
-$include-ext-util-scheduler: false;
-$include-ext-util-sizemonitor: false;
-$include-ext-util-sortable: false;
-$include-ext-util-sorter: false;
-$include-ext-util-sortercollection: false;
-$include-ext-util-storeholder: false;
-$include-ext-util-tsv: false;
-$include-ext-util-taskmanager: false;
-$include-ext-util-taskrunner: false;
-$include-ext-util-textmetrics: false;
-$include-ext-util-translatable: false;
-$include-ext-util-xtemplatecompiler: false;
-$include-ext-util-xtemplateparser: false;
-$include-ext-util-paintmonitor-abstract: false;
-$include-ext-util-paintmonitor-cssanimation: false;
-$include-ext-util-paintmonitor-overflowchange: false;
-$include-ext-util-sizemonitor-abstract: false;
-$include-ext-util-sizemonitor-default: false;
-$include-ext-util-sizemonitor-overflowchange: false;
-$include-ext-util-sizemonitor-scroll: false;
-$include-ext-util-translatable-abstract: false;
-$include-ext-util-translatable-cssposition: false;
-$include-ext-util-translatable-csstransform: false;
-$include-ext-util-translatable-dom: false;
-$include-ext-util-translatable-scrollparent: false;
-$include-ext-util-translatable-scrollposition: false;
-$include-ext-view-abstractview: false;
-$include-ext-view-boundlist: false;
-$include-ext-view-boundlistkeynav: false;
-$include-ext-view-dragzone: false;
-$include-ext-view-dropzone: false;
-$include-ext-view-multiselector: false;
-$include-ext-view-multiselectorsearch: false;
-$include-ext-view-navigationmodel: false;
-$include-ext-view-nodecache: false;
-$include-ext-view-table: false;
-$include-ext-view-tablelayout: false;
-$include-ext-view-view: false;
-$include-ext-window-messagebox: false;
-$include-ext-window-toast: false;
-$include-ext-window-window: false;
-/* including package ext-theme-base */
-@import '../../ext-theme-base/sass/etc/all';
-/* including package ext-theme-base */
-@import '../../ext-theme-base/sass/var/Component';
-/* including package ext-charts */
-$ext-charts-resource-path: 'images' !default;
-$relative-image-path-for-uis: $ext-charts-resource-path;
-@import '../sass/src/draw/Component';

Файловите разлики са ограничени, защото са твърде много
+ 0 - 19855
src/ext/packages/ext-charts/build/ext-charts-debug.js


Файловите разлики са ограничени, защото са твърде много
+ 0 - 1
src/ext/packages/ext-charts/build/ext-charts.js


+ 0 - 262
src/ext/packages/ext-charts/build/resources/ext-charts-all-debug.css

@@ -1,262 +0,0 @@
-/* including package ext-theme-base */
-/**
- * Creates a background gradient.
- *
- * Example usage:
- *     .foo {
- *          @include background-gradient(#808080, matte, left);
- *     }
- *
- * @param {Color} $bg-color The background color of the gradient
- * @param {String/List} [$type=$base-gradient] The type of gradient to be used. Can either
- * be a String which is a predefined gradient name, or it can can be a list of color stops.
- * If null is passed, this mixin will still set the `background-color` to $bg-color.
- * The available predefined gradient names are:
- *
- * * bevel
- * * glossy
- * * recessed
- * * matte
- * * matte-reverse
- * * panel-header
- * * tabbar
- * * tab
- * * tab-active
- * * tab-over
- * * tab-disabled
- * * grid-header
- * * grid-header-over
- * * grid-row-over
- * * grid-cell-special
- * * glossy-button
- * * glossy-button-over
- * * glossy-button-pressed
- *
- * Each of these gradient names corresponds to a function named linear-gradient[name].
- * Themes can override these functions to customize the color stops that they return.
- * For example, to override the glossy-button gradient function add a function named
- * "linear-gradient-glossy-button" to a file named "sass/etc/mixins/background-gradient.scss"
- * in your theme.  The function should return the result of calling the Compass linear-gradient
- * function with the desired direction and color-stop information for the gradient.  For example:
- *
- *     @function linear-gradient-glossy-button($direction, $bg-color) {
- *         @return linear-gradient($direction, color_stops(
- *             mix(#fff, $bg-color, 10%),
- *             $bg-color 50%,
- *             mix(#000, $bg-color, 5%) 51%,
- *             $bg-color
- *         ));
- *     }
- *
- * @param {String} [$direction=top] The direction of the gradient. Can either be
- * `top` or `left`.
- *
- * @member Global_CSS
- */
-/*
- * Method which inserts a full background-image property for a theme image.
- * It checks if the file exists and if it doesn't, it'll throw an error.
- * By default it will not include the background-image property if it is not found,
- * but this can be changed by changing the default value of $include-missing-images to
- * be true.
- */
-/**
- * Includes a google webfont for use in your theme.
- * @param {string} $font-name The name of the font.  If the font name contains spaces
- * use "+" instead of space.
- * @param {string} [$font-weights=400] Comma-separated list of font weights to include.
- *
- * Example usage:
- *
- *     @include google-webfont(
- *         $font-name: Exo,
- *         $font-weights: 200 300 400
- *     );
- *
- * Outputs:
- *
- *     @import url(http://fonts.googleapis.com/css?family=Exo:200,300,400);
- *
- * @member Global_CSS
- */
-/* including package ext-theme-base */
-/**
- * @class Global_CSS
- */
-/**
- * @var {string} $prefix
- * The prefix to be applied to all CSS selectors. If this is changed, it must also be changed in your
- * JavaScript application.
- */
-/**
- * @var {boolean/string} $relative-image-path-for-uis
- * True to use a relative image path for all new UIs. If true, the path will be "../images/".
- * It can also be a string of the path value.
- * It defaults to false, which means it will look for the images in the ExtJS SDK folder.
- */
-/**
- * @var {boolean} $include-not-found-images
- * True to include files which are not found when compiling your SASS
- */
-/**
- * @var {boolean} $include-ie
- * True to include Internet Explorer specific rules for IE9 and lower.  IE10 and up are
- * considered to be "modern" browsers, and as such do not need any of the CSS hacks required
- * for IE9 and below.  Setting this property to false will result in a significantly smaller
- * CSS file size, and may also result in a slight performance improvement, because the
- * browser will have fewer rules to process.
- */
-/**
- * @var {boolean} $include-ff
- * True to include Firefox specific rules
- */
-/**
- * @var {boolean} $include-opera
- * True to include Opera specific rules
- */
-/**
- * @var {boolean} $include-webkit
- * True to include Webkit specific rules
- */
-/**
- * @var {boolean} $include-safari
- * True to include Safari specific rules
- */
-/**
- * @var {boolean} $include-chrome
- * True to include Chrome specific rules
- */
-/**
- * @var {boolean} $include-slicer-border-radius
- * True to include rules for rounded corners produced by the slicer.  Enables emulation
- * of CSS3 border-radius in browsers that do not support it.
- */
-/**
- * @var {boolean} $include-slicer-gradient
- * True to include rules for background gradients produced by the slicer.  Enables emulation
- * of CSS3 background-gradient in browsers that do not support it.
- */
-/**
- * @var {number} $css-shadow-border-radius
- * The border radius for CSS shadows
- */
-/**
- * @var {string} $image-extension
- * default file extension to use for images (defaults to 'png').
- */
-/**
- * @var {string} $slicer-image-extension
- * default file extension to use for slicer images (defaults to 'gif').
- */
-/**
- * Default search path for images
- */
-/**
- * @var {boolean}
- * True to include the default UI for each component.
- */
-/**
- * @var {boolean}
- * True to add font-smoothing styles to all components
- */
-/**
- * @var {string}
- * The base path relative to the CSS output directory to use for theme resources.  For example
- * if the theme's images live one directory up from the generated CSS output in a directory
- * named 'foo/images/', you would need to set this variable to '../foo/' in order for the image
- * paths in the CSS output to be generated correctly. By default this is the same as the
- * CSS output directory.
- */
-/**
- * @private
- * Flag to ensure GridField rules only get set once
- */
-/* including package ext-charts */
-/* line 1, ../../sass/src/draw/Component.scss */
-.x-hide-visibility {
-  visibility: hidden !important;
-}
-
-/* line 5, ../../sass/src/draw/Component.scss */
-.x-hide-display {
-  display: none !important;
-}
-
-/* line 9, ../../sass/src/draw/Component.scss */
-.x-surface {
-  display: -moz-inline-stack;
-  display: inline-block;
-  vertical-align: middle;
-  *vertical-align: auto;
-  zoom: 1;
-  *display: inline;
-  overflow: hidden;
-}
-
-/* line 14, ../../sass/src/draw/Component.scss */
-.rvml {
-  behavior: url(#default#VML);
-}
-
-/* line 18, ../../sass/src/draw/Component.scss */
-.x-surface tspan {
-  user-select: none;
-  -o-user-select: none;
-  -ms-user-select: none;
-  -moz-user-select: -moz-none;
-  -webkit-user-select: none;
-  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
-  -webkit-user-drag: none;
-  cursor: default;
-}
-
-/* line 22, ../../sass/src/draw/Component.scss */
-.x-vml-sprite {
-  position: absolute;
-  left: 0;
-  top: 0;
-  width: 1px;
-  height: 1px;
-}
-
-/* line 30, ../../sass/src/draw/Component.scss */
-.x-vml-group {
-  position: absolute;
-  left: 0;
-  top: 0;
-  width: 1000px;
-  height: 1000px;
-}
-
-/* line 38, ../../sass/src/draw/Component.scss */
-.x-vml-measure-span {
-  position: absolute;
-  left: -9999em;
-  top: -9999em;
-  padding: 0;
-  margin: 0;
-  display: inline;
-}
-
-/* line 47, ../../sass/src/draw/Component.scss */
-.x-vml-base {
-  position: relative;
-  top: 0;
-  left: 0;
-  overflow: hidden;
-  display: inline-block;
-}
-
-/* line 55, ../../sass/src/draw/Component.scss */
-.x-vml-base {
-  position: relative;
-  top: 0;
-  left: 0;
-  overflow: hidden;
-  display: inline-block;
-}
-
-/* line 63, ../../sass/src/draw/Component.scss */
-svg, vml {
-  overflow: hidden;
-}

+ 0 - 262
src/ext/packages/ext-charts/build/resources/ext-charts-all-rtl-debug.css

@@ -1,262 +0,0 @@
-/* including package ext-theme-base */
-/**
- * Creates a background gradient.
- *
- * Example usage:
- *     .foo {
- *          @include background-gradient(#808080, matte, left);
- *     }
- *
- * @param {Color} $bg-color The background color of the gradient
- * @param {String/List} [$type=$base-gradient] The type of gradient to be used. Can either
- * be a String which is a predefined gradient name, or it can can be a list of color stops.
- * If null is passed, this mixin will still set the `background-color` to $bg-color.
- * The available predefined gradient names are:
- *
- * * bevel
- * * glossy
- * * recessed
- * * matte
- * * matte-reverse
- * * panel-header
- * * tabbar
- * * tab
- * * tab-active
- * * tab-over
- * * tab-disabled
- * * grid-header
- * * grid-header-over
- * * grid-row-over
- * * grid-cell-special
- * * glossy-button
- * * glossy-button-over
- * * glossy-button-pressed
- *
- * Each of these gradient names corresponds to a function named linear-gradient[name].
- * Themes can override these functions to customize the color stops that they return.
- * For example, to override the glossy-button gradient function add a function named
- * "linear-gradient-glossy-button" to a file named "sass/etc/mixins/background-gradient.scss"
- * in your theme.  The function should return the result of calling the Compass linear-gradient
- * function with the desired direction and color-stop information for the gradient.  For example:
- *
- *     @function linear-gradient-glossy-button($direction, $bg-color) {
- *         @return linear-gradient($direction, color_stops(
- *             mix(#fff, $bg-color, 10%),
- *             $bg-color 50%,
- *             mix(#000, $bg-color, 5%) 51%,
- *             $bg-color
- *         ));
- *     }
- *
- * @param {String} [$direction=top] The direction of the gradient. Can either be
- * `top` or `left`.
- *
- * @member Global_CSS
- */
-/*
- * Method which inserts a full background-image property for a theme image.
- * It checks if the file exists and if it doesn't, it'll throw an error.
- * By default it will not include the background-image property if it is not found,
- * but this can be changed by changing the default value of $include-missing-images to
- * be true.
- */
-/**
- * Includes a google webfont for use in your theme.
- * @param {string} $font-name The name of the font.  If the font name contains spaces
- * use "+" instead of space.
- * @param {string} [$font-weights=400] Comma-separated list of font weights to include.
- *
- * Example usage:
- *
- *     @include google-webfont(
- *         $font-name: Exo,
- *         $font-weights: 200 300 400
- *     );
- *
- * Outputs:
- *
- *     @import url(http://fonts.googleapis.com/css?family=Exo:200,300,400);
- *
- * @member Global_CSS
- */
-/* including package ext-theme-base */
-/**
- * @class Global_CSS
- */
-/**
- * @var {string} $prefix
- * The prefix to be applied to all CSS selectors. If this is changed, it must also be changed in your
- * JavaScript application.
- */
-/**
- * @var {boolean/string} $relative-image-path-for-uis
- * True to use a relative image path for all new UIs. If true, the path will be "../images/".
- * It can also be a string of the path value.
- * It defaults to false, which means it will look for the images in the ExtJS SDK folder.
- */
-/**
- * @var {boolean} $include-not-found-images
- * True to include files which are not found when compiling your SASS
- */
-/**
- * @var {boolean} $include-ie
- * True to include Internet Explorer specific rules for IE9 and lower.  IE10 and up are
- * considered to be "modern" browsers, and as such do not need any of the CSS hacks required
- * for IE9 and below.  Setting this property to false will result in a significantly smaller
- * CSS file size, and may also result in a slight performance improvement, because the
- * browser will have fewer rules to process.
- */
-/**
- * @var {boolean} $include-ff
- * True to include Firefox specific rules
- */
-/**
- * @var {boolean} $include-opera
- * True to include Opera specific rules
- */
-/**
- * @var {boolean} $include-webkit
- * True to include Webkit specific rules
- */
-/**
- * @var {boolean} $include-safari
- * True to include Safari specific rules
- */
-/**
- * @var {boolean} $include-chrome
- * True to include Chrome specific rules
- */
-/**
- * @var {boolean} $include-slicer-border-radius
- * True to include rules for rounded corners produced by the slicer.  Enables emulation
- * of CSS3 border-radius in browsers that do not support it.
- */
-/**
- * @var {boolean} $include-slicer-gradient
- * True to include rules for background gradients produced by the slicer.  Enables emulation
- * of CSS3 background-gradient in browsers that do not support it.
- */
-/**
- * @var {number} $css-shadow-border-radius
- * The border radius for CSS shadows
- */
-/**
- * @var {string} $image-extension
- * default file extension to use for images (defaults to 'png').
- */
-/**
- * @var {string} $slicer-image-extension
- * default file extension to use for slicer images (defaults to 'gif').
- */
-/**
- * Default search path for images
- */
-/**
- * @var {boolean}
- * True to include the default UI for each component.
- */
-/**
- * @var {boolean}
- * True to add font-smoothing styles to all components
- */
-/**
- * @var {string}
- * The base path relative to the CSS output directory to use for theme resources.  For example
- * if the theme's images live one directory up from the generated CSS output in a directory
- * named 'foo/images/', you would need to set this variable to '../foo/' in order for the image
- * paths in the CSS output to be generated correctly. By default this is the same as the
- * CSS output directory.
- */
-/**
- * @private
- * Flag to ensure GridField rules only get set once
- */
-/* including package ext-charts */
-/* line 1, ../../sass/src/draw/Component.scss */
-.x-hide-visibility {
-  visibility: hidden !important;
-}
-
-/* line 5, ../../sass/src/draw/Component.scss */
-.x-hide-display {
-  display: none !important;
-}
-
-/* line 9, ../../sass/src/draw/Component.scss */
-.x-surface {
-  display: -moz-inline-stack;
-  display: inline-block;
-  vertical-align: middle;
-  *vertical-align: auto;
-  zoom: 1;
-  *display: inline;
-  overflow: hidden;
-}
-
-/* line 14, ../../sass/src/draw/Component.scss */
-.rvml {
-  behavior: url(#default#VML);
-}
-
-/* line 18, ../../sass/src/draw/Component.scss */
-.x-surface tspan {
-  user-select: none;
-  -o-user-select: none;
-  -ms-user-select: none;
-  -moz-user-select: -moz-none;
-  -webkit-user-select: none;
-  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
-  -webkit-user-drag: none;
-  cursor: default;
-}
-
-/* line 22, ../../sass/src/draw/Component.scss */
-.x-vml-sprite {
-  position: absolute;
-  left: 0;
-  top: 0;
-  width: 1px;
-  height: 1px;
-}
-
-/* line 30, ../../sass/src/draw/Component.scss */
-.x-vml-group {
-  position: absolute;
-  left: 0;
-  top: 0;
-  width: 1000px;
-  height: 1000px;
-}
-
-/* line 38, ../../sass/src/draw/Component.scss */
-.x-vml-measure-span {
-  position: absolute;
-  left: -9999em;
-  top: -9999em;
-  padding: 0;
-  margin: 0;
-  display: inline;
-}
-
-/* line 47, ../../sass/src/draw/Component.scss */
-.x-vml-base {
-  position: relative;
-  top: 0;
-  left: 0;
-  overflow: hidden;
-  display: inline-block;
-}
-
-/* line 55, ../../sass/src/draw/Component.scss */
-.x-vml-base {
-  position: relative;
-  top: 0;
-  left: 0;
-  overflow: hidden;
-  display: inline-block;
-}
-
-/* line 63, ../../sass/src/draw/Component.scss */
-svg, vml {
-  overflow: hidden;
-}

+ 0 - 0
src/ext/packages/ext-charts/build/resources/ext-charts-all-rtl.css


Някои файлове не бяха показани, защото твърде много файлове са промени