diff --git a/nexacro-spring/src/main/java/com/hacademy/nexacrospring/controller/NexacroController.java b/nexacro-spring/src/main/java/com/hacademy/nexacrospring/controller/NexacroController.java index eb211d2..321d718 100644 --- a/nexacro-spring/src/main/java/com/hacademy/nexacrospring/controller/NexacroController.java +++ b/nexacro-spring/src/main/java/com/hacademy/nexacrospring/controller/NexacroController.java @@ -2,6 +2,7 @@ package com.hacademy.nexacrospring.controller; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.CrossOrigin; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; @@ -13,6 +14,7 @@ import com.nexacro.uiadapter17.spring.core.data.NexacroResult; * - 매핑 구현 시 NexacroResult를 반환하도록 구현 */ @Controller +@CrossOrigin @RequestMapping("/nexacro") public class NexacroController { diff --git a/nexacro-spring/src/main/java/com/hacademy/nexacrospring/entity/Emp.java b/nexacro-spring/src/main/java/com/hacademy/nexacrospring/entity/Emp.java index abf5065..6eb17e7 100644 --- a/nexacro-spring/src/main/java/com/hacademy/nexacrospring/entity/Emp.java +++ b/nexacro-spring/src/main/java/com/hacademy/nexacrospring/entity/Emp.java @@ -9,7 +9,7 @@ import lombok.NoArgsConstructor; @Data @NoArgsConstructor @AllArgsConstructor @Builder public class Emp { - private int empNo; + private int empId; private String empName; private int salary; private Date hireDate; diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/Application_Desktop.xadl.js b/nexacro-spring/src/main/webapp/deploy/_web_/Application_Desktop.xadl.js new file mode 100644 index 0000000..5de7903 --- /dev/null +++ b/nexacro-spring/src/main/webapp/deploy/_web_/Application_Desktop.xadl.js @@ -0,0 +1,91 @@ +(function() +{ + return function() + { + this.on_loadAppVariables = function() + { + var obj = null; + + // global dataset + + + // global variable + + + obj = null; + }; + + // property, event, createMainFrame + this.on_initApplication = function() + { + // properties + this.set_id("Application_Desktop"); + this.set_screenid("Desktop_screen"); + + if (this._is_attach_childframe) + return; + + // frame + var mainframe = this.createMainFrame("mainframe","0","0","1280","720",null,null,this); + mainframe.set_showtitlebar("true"); + mainframe.set_showstatusbar("true"); + mainframe.set_titletext("TopLeftFrame"); + mainframe.on_createBodyFrame = this.mainframe_createBodyFrame; + + // tray + + }; + + this.loadPreloadList = function() + { + + }; + + this.mainframe_createBodyFrame = function() + { + var frame0 = new VFrameSet("VFrameSet00",null,null,null,null,null,null,this); + frame0.set_separatesize("50,*"); + this.addChild(frame0.name, frame0); + this.frame=frame0; + + var frame1 = new ChildFrame("TopFrame",null,null,null,null,null,null,"FrameBase::Form_Top.xfdl",frame0); + frame1.set_showtitlebar("false"); + frame1.set_showstatusbar("false"); + frame0.addChild(frame1.name, frame1); + frame1.set_formurl("FrameBase::Form_Top.xfdl"); + + + var frame2 = new HFrameSet("HFrameSet00",null,null,null,null,null,null,frame0); + frame2.set_separatesize("200,*"); + frame0.addChild(frame2.name, frame2); + + var frame3 = new ChildFrame("LeftFrame",null,null,null,null,null,null,"FrameBase::Form_Left.xfdl",frame2); + frame3.set_showtitlebar("false"); + frame3.set_showstatusbar("false"); + frame2.addChild(frame3.name, frame3); + frame3.set_formurl("FrameBase::Form_Left.xfdl"); + + + var frame4 = new ChildFrame("WorkFrame",null,null,null,null,null,null,"FrameBase::Form_Work.xfdl",frame2); + frame4.set_showtitlebar("false"); + frame4.set_showstatusbar("false"); + frame2.addChild(frame4.name, frame4); + frame4.set_formurl("FrameBase::Form_Work.xfdl"); + }; + + this.on_initEvent = function() + { + + }; + + // script Compiler + + + this.checkLicense(""); + + this.loadPreloadList(); + + this.loadIncludeScript("Application_Desktop.xadl"); + }; +} +)(); diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/Base/EmpList.xfdl.js b/nexacro-spring/src/main/webapp/deploy/_web_/Base/EmpList.xfdl.js new file mode 100644 index 0000000..339f334 --- /dev/null +++ b/nexacro-spring/src/main/webapp/deploy/_web_/Base/EmpList.xfdl.js @@ -0,0 +1,87 @@ +(function() +{ + return function() + { + if (!this._is_form) + return; + + var obj = null; + + this.on_create = function() + { + this.set_name("EmpList"); + this.set_titletext("New Form"); + if (Form == this.constructor) + { + this._setFormPosition(1280,720); + } + + // Object(Dataset, ExcelExportObject) Initialize + obj = new Dataset("dsEmp", this); + obj._setContents(""); + this.addChild(obj.name, obj); + + // UI Components Initialize + obj = new Static("Static00","41","33","149","82",null,null,null,null,null,null,this); + obj.set_taborder("0"); + obj.set_text("사원 조회"); + obj.set_font("30px/normal \"Gulim\""); + this.addChild(obj.name, obj); + + obj = new Grid("Grid00","40","194","1200","453",null,null,null,null,null,null,this); + obj.set_taborder("1"); + obj.set_binddataset("dsEmp"); + obj._setContents(""); + this.addChild(obj.name, obj); + + // Layout Functions + //-- Default Layout : this + obj = new Layout("default","",1280,720,this,function(p){}); + obj.set_mobileorientation("landscape"); + this.addLayout(obj.name, obj); + + // BindItem Information + + }; + + this.loadPreloadList = function() + { + + }; + + // User Script + this.registerScript("EmpList.xfdl", function() { + + this.EmpList_onload = function(obj,e) + { + //시작 시 전체 목록을 조회하여 화면에 출력 + var id = "emp_list"; + var url = "http://localhost:8080/nexacrospring/nexacro/list"; + var reqDs = ""; + var resDs = "dsEmp=list"; + var args = ""; + var callback = "displayList"; + + this.transaction(id, url, reqDs, resDs, args, callback); + }; + + this.displayList = function(id, code, message){ + + }; + + }); + + // Regist UI Components Event + this.on_initEvent = function() + { + this.addEventHandler("onload",this.EmpList_onload,this); + }; + + this.loadIncludeScript("EmpList.xfdl"); + this.loadPreloadList(); + + // Remove Reference + obj = null; + }; +} +)(); diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/FrameBase/Form_Left.xfdl.js b/nexacro-spring/src/main/webapp/deploy/_web_/FrameBase/Form_Left.xfdl.js new file mode 100644 index 0000000..2167162 --- /dev/null +++ b/nexacro-spring/src/main/webapp/deploy/_web_/FrameBase/Form_Left.xfdl.js @@ -0,0 +1,64 @@ +(function() +{ + return function() + { + if (!this._is_form) + return; + + var obj = null; + + this.on_create = function() + { + this.set_name("Form_Left"); + this.set_titletext("Form_Left"); + if (Form == this.constructor) + { + this._setFormPosition(200,670); + } + + // Object(Dataset, ExcelExportObject) Initialize + + + // UI Components Initialize + obj = new ListBox("ListBox00","25","36","148","434",null,null,null,null,null,null,this); + obj.set_taborder("0"); + this.addChild(obj.name, obj); + + // Layout Functions + //-- Default Layout : this + obj = new Layout("default","Desktop_screen",200,670,this,function(p){}); + this.addLayout(obj.name, obj); + + // BindItem Information + + }; + + this.loadPreloadList = function() + { + + }; + + // User Script + this.registerScript("Form_Left.xfdl", function() { + + this.ListBox00_onitemchanged = function(obj,e) + { + + }; + + }); + + // Regist UI Components Event + this.on_initEvent = function() + { + this.ListBox00.addEventHandler("onitemchanged",this.ListBox00_onitemchanged,this); + }; + + this.loadIncludeScript("Form_Left.xfdl"); + this.loadPreloadList(); + + // Remove Reference + obj = null; + }; +} +)(); diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/FrameBase/Form_Top.xfdl.js b/nexacro-spring/src/main/webapp/deploy/_web_/FrameBase/Form_Top.xfdl.js new file mode 100644 index 0000000..51aaf3c --- /dev/null +++ b/nexacro-spring/src/main/webapp/deploy/_web_/FrameBase/Form_Top.xfdl.js @@ -0,0 +1,59 @@ +(function() +{ + return function() + { + if (!this._is_form) + return; + + var obj = null; + + this.on_create = function() + { + this.set_name("Form_Top"); + this.set_titletext("Form_Top"); + if (Form == this.constructor) + { + this._setFormPosition(1280,60); + } + + // Object(Dataset, ExcelExportObject) Initialize + + + // UI Components Initialize + obj = new Static("Static00","16","10","348","42",null,null,null,null,null,null,this); + obj.set_taborder("0"); + obj.set_text("Nexacro Spring 연동 예제"); + obj.set_font("25px/normal \"Gulim\""); + this.addChild(obj.name, obj); + + // Layout Functions + //-- Default Layout : this + obj = new Layout("default","Desktop_screen",1280,60,this,function(p){}); + this.addLayout(obj.name, obj); + + // BindItem Information + + }; + + this.loadPreloadList = function() + { + + }; + + // User Script + + + // Regist UI Components Event + this.on_initEvent = function() + { + + }; + + this.loadIncludeScript("Form_Top.xfdl"); + this.loadPreloadList(); + + // Remove Reference + obj = null; + }; +} +)(); diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/FrameBase/Form_Work.xfdl.js b/nexacro-spring/src/main/webapp/deploy/_web_/FrameBase/Form_Work.xfdl.js new file mode 100644 index 0000000..0a97fa3 --- /dev/null +++ b/nexacro-spring/src/main/webapp/deploy/_web_/FrameBase/Form_Work.xfdl.js @@ -0,0 +1,65 @@ +(function() +{ + return function() + { + if (!this._is_form) + return; + + var obj = null; + + this.on_create = function() + { + this.set_name("Form_Work"); + this.set_titletext("Form_Work"); + if (Form == this.constructor) + { + this._setFormPosition(1080,670); + } + + // Object(Dataset, ExcelExportObject) Initialize + + + // UI Components Initialize + obj = new Button("Button00","60","30","179","60",null,null,null,null,null,null,this); + obj.set_taborder("0"); + obj.set_text("목록"); + this.addChild(obj.name, obj); + + // Layout Functions + //-- Default Layout : this + obj = new Layout("default","Desktop_screen",1080,670,this,function(p){}); + this.addLayout(obj.name, obj); + + // BindItem Information + + }; + + this.loadPreloadList = function() + { + + }; + + // User Script + this.registerScript("Form_Work.xfdl", function() { + + this.Button00_onclick = function(obj,e) + { + this.go("Base::EmpList.xfdl"); + }; + + }); + + // Regist UI Components Event + this.on_initEvent = function() + { + this.Button00.addEventHandler("onclick",this.Button00_onclick,this); + }; + + this.loadIncludeScript("Form_Work.xfdl"); + this.loadPreloadList(); + + // Remove Reference + obj = null; + }; +} +)(); diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_TF_Close.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_TF_Close.png new file mode 100644 index 0000000..c908b50 Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_TF_Close.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_TF_Close_D.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_TF_Close_D.png new file mode 100644 index 0000000..10762d4 Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_TF_Close_D.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_TF_Close_O.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_TF_Close_O.png new file mode 100644 index 0000000..fae942e Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_TF_Close_O.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_TF_Max.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_TF_Max.png new file mode 100644 index 0000000..f87d273 Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_TF_Max.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_TF_Max_D.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_TF_Max_D.png new file mode 100644 index 0000000..47b0d65 Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_TF_Max_D.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_TF_Max_O.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_TF_Max_O.png new file mode 100644 index 0000000..6c5f1be Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_TF_Max_O.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_TF_Min.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_TF_Min.png new file mode 100644 index 0000000..c1cbafa Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_TF_Min.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_TF_Min_D.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_TF_Min_D.png new file mode 100644 index 0000000..4a23598 Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_TF_Min_D.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_TF_Min_O.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_TF_Min_O.png new file mode 100644 index 0000000..a48738c Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_TF_Min_O.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_TF_Normal.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_TF_Normal.png new file mode 100644 index 0000000..c4e9821 Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_TF_Normal.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_TF_Normal_D.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_TF_Normal_D.png new file mode 100644 index 0000000..f3c74d4 Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_TF_Normal_D.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_TF_Normal_O.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_TF_Normal_O.png new file mode 100644 index 0000000..cd0d323 Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_TF_Normal_O.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Calendar.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Calendar.png new file mode 100644 index 0000000..5c1657c Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Calendar.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Calendar_D.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Calendar_D.png new file mode 100644 index 0000000..93fa0a7 Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Calendar_D.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Calnext.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Calnext.png new file mode 100644 index 0000000..906bb0d Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Calnext.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Calnext_O.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Calnext_O.png new file mode 100644 index 0000000..30d1a4f Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Calnext_O.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Calprev.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Calprev.png new file mode 100644 index 0000000..e6d9b3f Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Calprev.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Calprev_O.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Calprev_O.png new file mode 100644 index 0000000..a995534 Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Calprev_O.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Calspindown.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Calspindown.png new file mode 100644 index 0000000..c4dc087 Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Calspindown.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Calspindown_D.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Calspindown_D.png new file mode 100644 index 0000000..69bfa00 Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Calspindown_D.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Calspindown_O.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Calspindown_O.png new file mode 100644 index 0000000..2dc7324 Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Calspindown_O.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Calspinup.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Calspinup.png new file mode 100644 index 0000000..23293b3 Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Calspinup.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Calspinup_D.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Calspinup_D.png new file mode 100644 index 0000000..9561ec4 Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Calspinup_D.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Calspinup_O.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Calspinup_O.png new file mode 100644 index 0000000..201d326 Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Calspinup_O.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Grdexpand.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Grdexpand.png new file mode 100644 index 0000000..a90eb62 Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Grdexpand.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Hdec.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Hdec.png new file mode 100644 index 0000000..c99deed Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Hdec.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Hdec_D.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Hdec_D.png new file mode 100644 index 0000000..569a70c Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Hdec_D.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Hdec_O.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Hdec_O.png new file mode 100644 index 0000000..5b1ed30 Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Hdec_O.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Hinc.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Hinc.png new file mode 100644 index 0000000..3c0b36e Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Hinc.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Hinc_D.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Hinc_D.png new file mode 100644 index 0000000..960c02f Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Hinc_D.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Hinc_O.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Hinc_O.png new file mode 100644 index 0000000..0780d2a Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Hinc_O.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Menunext.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Menunext.png new file mode 100644 index 0000000..4065dad Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Menunext.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Menunext_D.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Menunext_D.png new file mode 100644 index 0000000..576c245 Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Menunext_D.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Menunext_O.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Menunext_O.png new file mode 100644 index 0000000..540d095 Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Menunext_O.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Menuprev.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Menuprev.png new file mode 100644 index 0000000..c178402 Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Menuprev.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Menuprev_D.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Menuprev_D.png new file mode 100644 index 0000000..e239fcd Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Menuprev_D.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Menuprev_O.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Menuprev_O.png new file mode 100644 index 0000000..0a425cd Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Menuprev_O.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Popmenunext.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Popmenunext.png new file mode 100644 index 0000000..9427659 Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Popmenunext.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Popmenunext2.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Popmenunext2.png new file mode 100644 index 0000000..725105b Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Popmenunext2.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Popmenunext2_D.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Popmenunext2_D.png new file mode 100644 index 0000000..04a7f8d Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Popmenunext2_D.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Popmenunext2_O.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Popmenunext2_O.png new file mode 100644 index 0000000..d32c8a4 Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Popmenunext2_O.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Popmenunext_D.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Popmenunext_D.png new file mode 100644 index 0000000..e9c98b2 Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Popmenunext_D.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Popmenunext_O.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Popmenunext_O.png new file mode 100644 index 0000000..8e7cb6f Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Popmenunext_O.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Popmenuprev.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Popmenuprev.png new file mode 100644 index 0000000..8a4816c Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Popmenuprev.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Popmenuprev2.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Popmenuprev2.png new file mode 100644 index 0000000..8cf028a Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Popmenuprev2.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Popmenuprev2_D.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Popmenuprev2_D.png new file mode 100644 index 0000000..6f49817 Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Popmenuprev2_D.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Popmenuprev2_O.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Popmenuprev2_O.png new file mode 100644 index 0000000..d0872d9 Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Popmenuprev2_O.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Popmenuprev_D.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Popmenuprev_D.png new file mode 100644 index 0000000..7ab5e7a Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Popmenuprev_D.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Popmenuprev_O.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Popmenuprev_O.png new file mode 100644 index 0000000..611d6ff Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Popmenuprev_O.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Popupexpand.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Popupexpand.png new file mode 100644 index 0000000..52fdd62 Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Popupexpand.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Popupexpand2.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Popupexpand2.png new file mode 100644 index 0000000..cf244da Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Popupexpand2.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Spindown.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Spindown.png new file mode 100644 index 0000000..bb92e86 Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Spindown.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Spindown_D.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Spindown_D.png new file mode 100644 index 0000000..db32436 Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Spindown_D.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Spindown_O.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Spindown_O.png new file mode 100644 index 0000000..76fef8a Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Spindown_O.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Spindown_P.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Spindown_P.png new file mode 100644 index 0000000..1d9b60c Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Spindown_P.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Spinup.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Spinup.png new file mode 100644 index 0000000..bfbb24e Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Spinup.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Spinup_D.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Spinup_D.png new file mode 100644 index 0000000..3e444f6 Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Spinup_D.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Spinup_O.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Spinup_O.png new file mode 100644 index 0000000..c90a5fc Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Spinup_O.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Spinup_P.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Spinup_P.png new file mode 100644 index 0000000..1945a41 Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Spinup_P.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Stepitem.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Stepitem.png new file mode 100644 index 0000000..4bcdc33 Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Stepitem.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Stepitem_S.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Stepitem_S.png new file mode 100644 index 0000000..76f1ad5 Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Stepitem_S.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Tabextra.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Tabextra.png new file mode 100644 index 0000000..9ebcfd0 Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Tabextra.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Tabextra_S.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Tabextra_S.png new file mode 100644 index 0000000..1bb5f03 Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Tabextra_S.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Tabnext.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Tabnext.png new file mode 100644 index 0000000..4aa5af4 Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Tabnext.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Tabnext_D.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Tabnext_D.png new file mode 100644 index 0000000..03fa24e Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Tabnext_D.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Tabnext_O.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Tabnext_O.png new file mode 100644 index 0000000..137db9c Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Tabnext_O.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Tabprev.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Tabprev.png new file mode 100644 index 0000000..fa81a27 Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Tabprev.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Tabprev_D.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Tabprev_D.png new file mode 100644 index 0000000..d9cfe51 Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Tabprev_D.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Tabprev_O.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Tabprev_O.png new file mode 100644 index 0000000..d8a0db8 Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Tabprev_O.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Treecollapse.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Treecollapse.png new file mode 100644 index 0000000..acd4995 Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Treecollapse.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Treeexpand.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Treeexpand.png new file mode 100644 index 0000000..a48b6eb Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Treeexpand.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Vdec.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Vdec.png new file mode 100644 index 0000000..19ed5ca Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Vdec.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Vdec_D.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Vdec_D.png new file mode 100644 index 0000000..b36ea56 Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Vdec_D.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Vdec_O.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Vdec_O.png new file mode 100644 index 0000000..e5bbf28 Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Vdec_O.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Vinc.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Vinc.png new file mode 100644 index 0000000..b14b32c Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Vinc.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Vinc_D.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Vinc_D.png new file mode 100644 index 0000000..e7a0563 Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Vinc_D.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Vinc_O.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Vinc_O.png new file mode 100644 index 0000000..8bf6e83 Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/btn_WF_Vinc_O.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/chk_WF_Box.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/chk_WF_Box.png new file mode 100644 index 0000000..dee0f12 Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/chk_WF_Box.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/chk_WF_Box_D.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/chk_WF_Box_D.png new file mode 100644 index 0000000..4195e9a Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/chk_WF_Box_D.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/chk_WF_Box_DS.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/chk_WF_Box_DS.png new file mode 100644 index 0000000..38492f4 Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/chk_WF_Box_DS.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/chk_WF_Box_F.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/chk_WF_Box_F.png new file mode 100644 index 0000000..c152690 Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/chk_WF_Box_F.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/chk_WF_Box_O.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/chk_WF_Box_O.png new file mode 100644 index 0000000..72d153b Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/chk_WF_Box_O.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/chk_WF_Box_S.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/chk_WF_Box_S.png new file mode 100644 index 0000000..0d6bbcb Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/chk_WF_Box_S.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/chk_WF_Popupmenu.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/chk_WF_Popupmenu.png new file mode 100644 index 0000000..d32ebc8 Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/chk_WF_Popupmenu.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/chk_WF_Popupmenu_O.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/chk_WF_Popupmenu_O.png new file mode 100644 index 0000000..5eb0d97 Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/chk_WF_Popupmenu_O.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/cmb_WF_Drop.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/cmb_WF_Drop.png new file mode 100644 index 0000000..2079706 Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/cmb_WF_Drop.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/cmb_WF_Drop_O.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/cmb_WF_Drop_O.png new file mode 100644 index 0000000..0b5d2d5 Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/cmb_WF_Drop_O.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/cmb_WF_Drop_P.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/cmb_WF_Drop_P.png new file mode 100644 index 0000000..3d70609 Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/cmb_WF_Drop_P.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/img_TF_TitleIcon.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/img_TF_TitleIcon.png new file mode 100644 index 0000000..9bf85c0 Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/img_TF_TitleIcon.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/img_WF_Grdimg.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/img_WF_Grdimg.png new file mode 100644 index 0000000..f365bf9 Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/img_WF_Grdimg.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/img_WF_Htrackbar.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/img_WF_Htrackbar.png new file mode 100644 index 0000000..ae3b761 Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/img_WF_Htrackbar.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/img_WF_Htrackbar_D.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/img_WF_Htrackbar_D.png new file mode 100644 index 0000000..bd3e097 Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/img_WF_Htrackbar_D.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/img_WF_Menu_O.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/img_WF_Menu_O.png new file mode 100644 index 0000000..527ae78 Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/img_WF_Menu_O.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/img_WF_Menuimage.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/img_WF_Menuimage.png new file mode 100644 index 0000000..bf9119f Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/img_WF_Menuimage.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/img_WF_Menuitem2.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/img_WF_Menuitem2.png new file mode 100644 index 0000000..7c78876 Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/img_WF_Menuitem2.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/img_WF_Nexacro.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/img_WF_Nexacro.png new file mode 100644 index 0000000..a092c74 Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/img_WF_Nexacro.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/img_WF_Popupcheck.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/img_WF_Popupcheck.png new file mode 100644 index 0000000..a816bea Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/img_WF_Popupcheck.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/img_WF_Popupcheck2.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/img_WF_Popupcheck2.png new file mode 100644 index 0000000..05dbfc9 Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/img_WF_Popupcheck2.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/img_WF_Treecollapse.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/img_WF_Treecollapse.png new file mode 100644 index 0000000..bd8433c Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/img_WF_Treecollapse.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/img_WF_Treeexpand.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/img_WF_Treeexpand.png new file mode 100644 index 0000000..43c13bd Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/img_WF_Treeexpand.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/img_WF_Treeitem.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/img_WF_Treeitem.png new file mode 100644 index 0000000..507a6b8 Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/img_WF_Treeitem.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/img_WF_Vtrackbar.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/img_WF_Vtrackbar.png new file mode 100644 index 0000000..0f6d4de Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/img_WF_Vtrackbar.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/img_WF_Vtrackbar_D.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/img_WF_Vtrackbar_D.png new file mode 100644 index 0000000..36307b0 Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/img_WF_Vtrackbar_D.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/img_grip.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/img_grip.png new file mode 100644 index 0000000..23d30d0 Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/img_grip.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/mnu_WF_PopItemImg.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/mnu_WF_PopItemImg.png new file mode 100644 index 0000000..b3b7f70 Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/mnu_WF_PopItemImg.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/rdo_WF_Radio.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/rdo_WF_Radio.png new file mode 100644 index 0000000..38f68ac Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/rdo_WF_Radio.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/rdo_WF_Radio_D.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/rdo_WF_Radio_D.png new file mode 100644 index 0000000..277beda Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/rdo_WF_Radio_D.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/rdo_WF_Radio_DS.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/rdo_WF_Radio_DS.png new file mode 100644 index 0000000..fe49df7 Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/rdo_WF_Radio_DS.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/rdo_WF_Radio_O.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/rdo_WF_Radio_O.png new file mode 100644 index 0000000..bfaa398 Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/rdo_WF_Radio_O.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/rdo_WF_Radio_S.png b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/rdo_WF_Radio_S.png new file mode 100644 index 0000000..591992b Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/rdo_WF_Radio_S.png differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/titlebar_icon_nexacro17.ico b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/titlebar_icon_nexacro17.ico new file mode 100644 index 0000000..93e2318 Binary files /dev/null and b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/images/titlebar_icon_nexacro17.ico differ diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/theme.map.js b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/theme.map.js new file mode 100644 index 0000000..712475c --- /dev/null +++ b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/theme.map.js @@ -0,0 +1,3833 @@ +(function() +{ + return function() + { + nexacro._setCSSMaps( + { + "Form" : + { + "self" : + { + "enabled" : + { + "font" : nexacro.FontObject("12px Gulim"), + "color" : nexacro.ColorObject("#555555"), + "border" : nexacro.BorderObject("0px none") + }, + "contents" : + { + }, + "disabled" : + { + "color" : nexacro.ColorObject("#999999") + } + } + }, + "titleicon" : + { + "parent" : + { + "titlebar" : + { + "parent" : + { + "MainFrame" : + { + "self" : + { + "enabled" : + { + "icon" : nexacro.UrlObject("URL('theme://images/titlebar_icon_nexacro17.ico')") + } + } + } + } + }, + "TitleBarControl" : + { + "self" : + { + "enabled" : + { + "icon" : nexacro.UrlObject("URL('theme://images/img_TF_TitleIcon.png')"), + "textPadding" : nexacro.PaddingObject("0px 0px 0px 10px") + } + } + } + } + }, + "Button" : + { + "self" : + { + "enabled" : + { + "border" : nexacro.BorderObject("1px solid #c2c2c2") + }, + "mouseover" : + { + "border" : nexacro.BorderObject("1px solid #a0a0a0") + }, + "focused" : + { + "border" : nexacro.BorderObject("1px solid #a0a0a0") + }, + "pushed" : + { + }, + "selected" : + { + }, + "disabled" : + { + "color" : nexacro.ColorObject("#bbbbbb"), + "border" : nexacro.BorderObject("1px solid #d9d9d9") + } + } + }, + "FileDownload" : + { + "self" : + { + "enabled" : + { + "border" : nexacro.BorderObject("1px solid #c2c2c2") + }, + "mouseover" : + { + "border" : nexacro.BorderObject("1px solid #a0a0a0") + }, + "focused" : + { + "border" : nexacro.BorderObject("1px solid #a0a0a0") + }, + "pushed" : + { + }, + "disabled" : + { + "color" : nexacro.ColorObject("#bbbbbb"), + "border" : nexacro.BorderObject("1px solid #d9d9d9") + } + } + }, + "ButtonControl" : + { + "self" : + { + "enabled" : + { + "border" : nexacro.BorderObject("0px none") + } + } + }, + "fileuploaditem" : + { + "parent" : + { + "FileUpload" : + { + "self" : + { + "disabled" : + { + "color" : nexacro.ColorObject("#999999") + } + } + } + } + }, + "fileuploaditembutton" : + { + "parent" : + { + "fileuploaditem" : + { + "parent" : + { + "FileUpload" : + { + "self" : + { + "enabled" : + { + "border" : nexacro.BorderObject("1px solid #c2c2c2"), + "padding" : nexacro.PaddingObject("1px 9px 0px 9px") + }, + "mouseover" : + { + "border" : nexacro.BorderObject("1px solid #a0a0a0") + }, + "focused" : + { + "border" : nexacro.BorderObject("1px solid #a0a0a0") + }, + "pushed" : + { + }, + "selected" : + { + }, + "disabled" : + { + "color" : nexacro.ColorObject("#bbbbbb"), + "border" : nexacro.BorderObject("1px solid #d9d9d9") + } + } + } + } + } + } + }, + "Calendar" : + { + "self" : + { + "enabled" : + { + "border" : nexacro.BorderObject("1px solid #d5d5d5") + }, + "mouseover" : + { + "border" : nexacro.BorderObject("1px solid #5a86cd") + }, + "focused" : + { + "border" : nexacro.BorderObject("1px solid #5a86cd") + }, + "readonly" : + { + }, + "disabled" : + { + "color" : nexacro.ColorObject("#999999") + }, + "invalidtext" : + { + "color" : nexacro.ColorObject("#999999") + } + } + }, + "CalendarControl" : + { + "self" : + { + "enabled" : + { + "border" : nexacro.BorderObject("1px solid #d5d5d5") + }, + "mouseover" : + { + "border" : nexacro.BorderObject("1px solid #5a86cd") + }, + "focused" : + { + "border" : nexacro.BorderObject("1px solid #5a86cd") + }, + "readonly" : + { + }, + "disabled" : + { + "color" : nexacro.ColorObject("#999999") + }, + "invalidtext" : + { + "color" : nexacro.ColorObject("#999999") + } + } + }, + "dropbutton" : + { + "parent" : + { + "Calendar" : + { + "self" : + { + "enabled" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Calendar.png')") + }, + "disabled" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Calendar_D.png')") + } + } + }, + "CalendarControl" : + { + "self" : + { + "enabled" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Calendar.png')") + }, + "disabled" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Calendar_D.png')") + } + } + }, + "Combo" : + { + "self" : + { + "enabled" : + { + "padding" : nexacro.PaddingObject("1px 2px 0px 0px"), + "icon" : nexacro.UrlObject("URL('theme://images/cmb_WF_Drop.png')") + }, + "mouseover" : + { + "icon" : nexacro.UrlObject("URL('theme://images/cmb_WF_Drop_O.png')") + }, + "focused" : + { + "icon" : nexacro.UrlObject("URL('theme://images/cmb_WF_Drop_O.png')") + }, + "pushed" : + { + "icon" : nexacro.UrlObject("URL('theme://images/cmb_WF_Drop_P.png')") + }, + "selected" : + { + "icon" : nexacro.UrlObject("URL('theme://images/cmb_WF_Drop_P.png')") + }, + "disabled" : + { + } + } + }, + "ComboControl" : + { + "self" : + { + "enabled" : + { + "padding" : nexacro.PaddingObject("1px 2px 0px 0px"), + "icon" : nexacro.UrlObject("URL('theme://images/cmb_WF_Drop.png')") + }, + "mouseover" : + { + "icon" : nexacro.UrlObject("URL('theme://images/cmb_WF_Drop_O.png')") + }, + "focused" : + { + "icon" : nexacro.UrlObject("URL('theme://images/cmb_WF_Drop_O.png')") + }, + "pushed" : + { + "icon" : nexacro.UrlObject("URL('theme://images/cmb_WF_Drop_P.png')") + }, + "selected" : + { + "icon" : nexacro.UrlObject("URL('theme://images/cmb_WF_Drop_P.png')") + }, + "disabled" : + { + } + } + } + } + }, + "calendarspinupbutton" : + { + "parent" : + { + "Calendar" : + { + "self" : + { + "enabled" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Spinup.png')") + }, + "mouseover" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Spinup_O.png')") + }, + "pushed" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Spinup_P.png')") + }, + "disabled" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Spinup_D.png')") + } + } + }, + "CalendarControl" : + { + "self" : + { + "enabled" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Spinup.png')") + }, + "mouseover" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Spinup_O.png')") + }, + "pushed" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Spinup_P.png')") + }, + "disabled" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Spinup_D.png')") + } + } + } + } + }, + "calendarspindownbutton" : + { + "parent" : + { + "Calendar" : + { + "self" : + { + "enabled" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Spindown.png')") + }, + "mouseover" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Spindown_O.png')") + }, + "pushed" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Spindown_P.png')") + }, + "disabled" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Spindown_D.png')") + } + } + }, + "CalendarControl" : + { + "self" : + { + "enabled" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Spindown.png')") + }, + "mouseover" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Spindown_O.png')") + }, + "pushed" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Spindown_P.png')") + }, + "disabled" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Spindown_D.png')") + } + } + } + } + }, + "CheckBox" : + { + "self" : + { + "enabled" : + { + "icon" : nexacro.UrlObject("URL('theme://images/chk_WF_Box.png')"), + "textPadding" : nexacro.PaddingObject("0px 0px 0px 6px") + }, + "mouseover" : + { + "icon" : nexacro.UrlObject("URL('theme://images/chk_WF_Box_O.png')") + }, + "readonly" : + { + "icon" : nexacro.UrlObject("URL('theme://images/chk_WF_Box_D.png')") + }, + "selected" : + { + "icon" : nexacro.UrlObject("URL('theme://images/chk_WF_Box_S.png')") + }, + "disabled" : + { + "color" : nexacro.ColorObject("#999999"), + "icon" : nexacro.UrlObject("URL('theme://images/chk_WF_Box_D.png')") + }, + "disabled_selected" : + { + "color" : nexacro.ColorObject("#999999"), + "icon" : nexacro.UrlObject("URL('theme://images/chk_WF_Box_DS.png')") + } + } + }, + "CheckBoxControl" : + { + "self" : + { + "enabled" : + { + "icon" : nexacro.UrlObject("URL('theme://images/chk_WF_Box.png')"), + "textPadding" : nexacro.PaddingObject("0px 0px 0px 6px") + }, + "mouseover" : + { + "icon" : nexacro.UrlObject("URL('theme://images/chk_WF_Box_O.png')") + }, + "readonly" : + { + "icon" : nexacro.UrlObject("URL('theme://images/chk_WF_Box_D.png')") + }, + "selected" : + { + "icon" : nexacro.UrlObject("URL('theme://images/chk_WF_Box_S.png')") + }, + "disabled" : + { + "color" : nexacro.ColorObject("#999999"), + "icon" : nexacro.UrlObject("URL('theme://images/chk_WF_Box_D.png')") + }, + "disabled_selected" : + { + "color" : nexacro.ColorObject("#999999"), + "icon" : nexacro.UrlObject("URL('theme://images/chk_WF_Box_DS.png')") + } + } + }, + "Combo" : + { + "self" : + { + "enabled" : + { + "border" : nexacro.BorderObject("1px solid #d5d5d5") + }, + "mouseover" : + { + "border" : nexacro.BorderObject("1px solid #5a86cd") + }, + "focused" : + { + "border" : nexacro.BorderObject("1px solid #5a86cd") + }, + "readonly" : + { + }, + "disabled" : + { + "color" : nexacro.ColorObject("#999999") + } + } + }, + "ComboControl" : + { + "self" : + { + "enabled" : + { + "border" : nexacro.BorderObject("1px solid #d5d5d5") + }, + "mouseover" : + { + "border" : nexacro.BorderObject("1px solid #5a86cd") + }, + "focused" : + { + "border" : nexacro.BorderObject("1px solid #5a86cd") + }, + "readonly" : + { + }, + "disabled" : + { + "color" : nexacro.ColorObject("#999999") + } + } + }, + "combolist" : + { + "parent" : + { + "Combo" : + { + "self" : + { + "enabled" : + { + "font" : nexacro.FontObject("12px Gulim"), + "color" : nexacro.ColorObject("#555555"), + "border" : nexacro.BorderObject("1px solid #b1b1b1") + } + } + }, + "ComboControl" : + { + "self" : + { + "enabled" : + { + "font" : nexacro.FontObject("12px Gulim"), + "color" : nexacro.ColorObject("#555555"), + "border" : nexacro.BorderObject("1px solid #b1b1b1") + } + } + }, + "cellcombo" : + { + "parent" : + { + "GridCellControl" : + { + "self" : + { + "enabled" : + { + "font" : nexacro.FontObject("12px Gulim"), + "color" : nexacro.ColorObject("#555555") + } + } + }, + "ListViewCellControl" : + { + "self" : + { + "enabled" : + { + "font" : nexacro.FontObject("12px Gulim"), + "color" : nexacro.ColorObject("#555555") + } + } + } + } + } + } + }, + "Edit" : + { + "self" : + { + "enabled" : + { + "border" : nexacro.BorderObject("1px solid #d5d5d5"), + "padding" : nexacro.PaddingObject("1px 9px 0px 9px") + }, + "mouseover" : + { + "border" : nexacro.BorderObject("1px solid #5a86cd") + }, + "focused" : + { + "border" : nexacro.BorderObject("1px solid #5a86cd") + }, + "readonly" : + { + }, + "disabled" : + { + "color" : nexacro.ColorObject("#999999") + }, + "nulltext" : + { + "color" : nexacro.ColorObject("#999999") + } + } + }, + "fileuploaditemedit" : + { + "parent" : + { + "fileuploaditem" : + { + "parent" : + { + "FileUpload" : + { + "self" : + { + "enabled" : + { + "border" : nexacro.BorderObject("1px solid #d5d5d5"), + "padding" : nexacro.PaddingObject("1px 9px 0px 9px") + }, + "mouseover" : + { + "border" : nexacro.BorderObject("1px solid #5a86cd") + }, + "focused" : + { + "border" : nexacro.BorderObject("1px solid #5a86cd") + }, + "disabled" : + { + "color" : nexacro.ColorObject("#999999") + } + } + } + } + } + } + }, + "EditControl" : + { + "self" : + { + "enabled" : + { + "border" : nexacro.BorderObject("0px none"), + "padding" : nexacro.PaddingObject("1px 9px 0px 9px") + }, + "nulltext" : + { + "color" : nexacro.ColorObject("#999999") + } + } + }, + "MaskEdit" : + { + "self" : + { + "nulltext" : + { + "color" : nexacro.ColorObject("#999999") + }, + "invalidtext" : + { + "color" : nexacro.ColorObject("#999999") + }, + "enabled" : + { + "border" : nexacro.BorderObject("1px solid #d5d5d5"), + "padding" : nexacro.PaddingObject("1px 9px 0px 9px") + }, + "mouseover" : + { + "border" : nexacro.BorderObject("1px solid #5a86cd") + }, + "focused" : + { + "border" : nexacro.BorderObject("1px solid #5a86cd") + }, + "readonly" : + { + }, + "disabled" : + { + "color" : nexacro.ColorObject("#999999") + } + } + }, + "MaskEditControl" : + { + "self" : + { + "nulltext" : + { + "color" : nexacro.ColorObject("#999999") + }, + "invalidtext" : + { + "color" : nexacro.ColorObject("#999999") + }, + "enabled" : + { + "border" : nexacro.BorderObject("0px none"), + "padding" : nexacro.PaddingObject("1px 9px 0px 9px") + } + } + }, + "TextArea" : + { + "self" : + { + "nulltext" : + { + "color" : nexacro.ColorObject("#999999") + }, + "enabled" : + { + "border" : nexacro.BorderObject("1px solid #d5d5d5"), + "padding" : nexacro.PaddingObject("9px 9px 9px 9px") + }, + "mouseover" : + { + "border" : nexacro.BorderObject("1px solid #5a86cd") + }, + "focused" : + { + "border" : nexacro.BorderObject("1px solid #5a86cd") + }, + "readonly" : + { + "border" : nexacro.BorderObject("1px solid #d5d5d5") + }, + "disabled" : + { + "color" : nexacro.ColorObject("#999999") + } + } + }, + "TextAreaControl" : + { + "self" : + { + "nulltext" : + { + "color" : nexacro.ColorObject("#999999") + }, + "enabled" : + { + "border" : nexacro.BorderObject("1px solid #d5d5d5"), + "padding" : nexacro.PaddingObject("9px 9px 9px 9px") + }, + "mouseover" : + { + "border" : nexacro.BorderObject("1px solid #5a86cd") + }, + "focused" : + { + "border" : nexacro.BorderObject("1px solid #5a86cd") + }, + "readonly" : + { + "border" : nexacro.BorderObject("1px solid #d5d5d5") + }, + "disabled" : + { + "color" : nexacro.ColorObject("#999999") + } + } + }, + "Spin" : + { + "self" : + { + "invalidtext" : + { + "color" : nexacro.ColorObject("#999999") + }, + "enabled" : + { + "border" : nexacro.BorderObject("1px solid #d5d5d5") + }, + "mouseover" : + { + "border" : nexacro.BorderObject("1px solid #5a86cd") + }, + "focused" : + { + "border" : nexacro.BorderObject("1px solid #5a86cd") + }, + "readonly" : + { + }, + "disabled" : + { + "color" : nexacro.ColorObject("#999999") + } + } + }, + "SpinControl" : + { + "self" : + { + "invalidtext" : + { + "color" : nexacro.ColorObject("#999999") + } + } + }, + "Grid" : + { + "self" : + { + "enabled" : + { + "border" : nexacro.BorderObject("2px solid #125dae, 1px solid #b7b1b2, 1px solid #b7b1b2, 1px solid #b7b1b2") + } + } + }, + "cell" : + { + "parent" : + { + "row" : + { + "parent" : + { + "head" : + { + "parent" : + { + "Grid" : + { + "self" : + { + "enabled" : + { + "font" : nexacro.FontObject("bold 12px Gulim"), + "color" : nexacro.ColorObject("#2f2f2f"), + "border" : nexacro.BorderObject("1px solid #cacaca"), + "padding" : nexacro.PaddingObject("4px 4px 4px 4px") + }, + "disabled" : + { + "color" : nexacro.ColorObject("#999999") + } + } + } + } + }, + "body" : + { + "parent" : + { + "Grid" : + { + "self" : + { + "disabled_selected" : + { + }, + "enabled" : + { + "color" : nexacro.ColorObject("#666666"), + "border" : nexacro.BorderObject("1px solid #dbdee2"), + "padding" : nexacro.PaddingObject("4px 4px 4px 4px") + }, + "mouseover" : + { + }, + "selected" : + { + }, + "disabled" : + { + "color" : nexacro.ColorObject("#999999") + }, + "blinked" : + { + "color" : nexacro.ColorObject("#ffffff") + } + } + } + } + }, + "summary" : + { + "parent" : + { + "Grid" : + { + "self" : + { + "enabled" : + { + "font" : nexacro.FontObject("bold 12px Gulim"), + "color" : nexacro.ColorObject("#333333"), + "border" : nexacro.BorderObject("1px solid #c8c1c2") + } + } + } + } + } + } + }, + "body" : + { + "parent" : + { + "ListView" : + { + "self" : + { + "enabled" : + { + "border" : nexacro.BorderObject("1px solid #dbdee2"), + "padding" : nexacro.PaddingObject("4px 4px 4px 4px") + }, + "disabled" : + { + "border" : nexacro.BorderObject("1px solid #dbdee2"), + "padding" : nexacro.PaddingObject("4px 4px 4px 4px") + }, + "readonly" : + { + "border" : nexacro.BorderObject("1px solid #dbdee2"), + "padding" : nexacro.PaddingObject("4px 4px 4px 4px") + }, + "focused" : + { + "border" : nexacro.BorderObject("1px solid #dbdee2"), + "padding" : nexacro.PaddingObject("4px 4px 4px 4px") + }, + "mouseover" : + { + "border" : nexacro.BorderObject("1px solid #c4c9cf") + } + } + } + } + }, + "detail" : + { + "parent" : + { + "ListView" : + { + "self" : + { + "enabled" : + { + "border" : nexacro.BorderObject("1px solid #dbdee2"), + "padding" : nexacro.PaddingObject("4px 4px 4px 4px") + }, + "disabled" : + { + "border" : nexacro.BorderObject("1px solid #dbdee2"), + "padding" : nexacro.PaddingObject("4px 4px 4px 4px") + }, + "readonly" : + { + "border" : nexacro.BorderObject("1px solid #dbdee2"), + "padding" : nexacro.PaddingObject("4px 4px 4px 4px") + }, + "focused" : + { + "border" : nexacro.BorderObject("1px solid #dbdee2"), + "padding" : nexacro.PaddingObject("4px 4px 4px 4px") + }, + "mouseover" : + { + "border" : nexacro.BorderObject("1px solid #c4c9cf") + } + } + } + } + } + } + }, + "subcell" : + { + "parent" : + { + "cell" : + { + "parent" : + { + "row" : + { + "parent" : + { + "body" : + { + "parent" : + { + "Grid" : + { + "self" : + { + "enabled" : + { + "color" : nexacro.ColorObject("#666666"), + "border" : nexacro.BorderObject("1px solid #dbdee2"), + "padding" : nexacro.PaddingObject("4px 4px 4px 4px") + }, + "mouseover" : + { + }, + "disabled" : + { + "color" : nexacro.ColorObject("#999999") + }, + "selected" : + { + }, + "blinked" : + { + "color" : nexacro.ColorObject("#ffffff") + } + } + } + } + } + } + } + } + } + } + }, + "selection" : + { + "parent" : + { + "body" : + { + "parent" : + { + "Grid" : + { + "self" : + { + "enabled" : + { + "border" : nexacro.BorderObject("2px solid #125dae") + } + } + } + } + } + } + }, + "summary" : + { + "parent" : + { + "Grid" : + { + "self" : + { + "enabled" : + { + "border" : nexacro.BorderObject("1px solid #c8c1c2, 0px none, 0px none, 0px none") + } + } + } + } + }, + "hscrollbar" : + { + "parent" : + { + "Grid" : + { + "self" : + { + "enabled" : + { + "border" : nexacro.BorderObject("1px solid #b1b1b1, 0px none, 0px none, 0px none") + } + } + } + } + }, + "vscrollbar" : + { + "parent" : + { + "Grid" : + { + "self" : + { + "enabled" : + { + "border" : nexacro.BorderObject("0px none, 0px none, 0px none, 1px solid #b1b1b1") + } + } + } + } + }, + "cellbutton" : + { + "parent" : + { + "GridCellControl" : + { + "self" : + { + "enabled" : + { + "font" : nexacro.FontObject("12px Gulim"), + "color" : nexacro.ColorObject("#555555"), + "border" : nexacro.BorderObject("1px solid #c2c2c2") + }, + "mouseover" : + { + "border" : nexacro.BorderObject("1px solid #a0a0a0") + }, + "focused" : + { + "border" : nexacro.BorderObject("1px solid #a0a0a0") + }, + "pushed" : + { + }, + "selected" : + { + }, + "disabled" : + { + "color" : nexacro.ColorObject("#bbbbbb"), + "border" : nexacro.BorderObject("1px solid #d9d9d9") + } + } + }, + "ListViewCellControl" : + { + "self" : + { + "enabled" : + { + "font" : nexacro.FontObject("12px Gulim"), + "color" : nexacro.ColorObject("#555555"), + "border" : nexacro.BorderObject("1px solid #c2c2c2") + }, + "mouseover" : + { + "border" : nexacro.BorderObject("1px solid #a0a0a0") + }, + "focused" : + { + "border" : nexacro.BorderObject("1px solid #a0a0a0") + }, + "pushed" : + { + }, + "disabled" : + { + "color" : nexacro.ColorObject("#bbbbbb"), + "border" : nexacro.BorderObject("1px solid #d9d9d9") + } + } + } + } + }, + "cellcalendar" : + { + "parent" : + { + "GridCellControl" : + { + "self" : + { + "enabled" : + { + "font" : nexacro.FontObject("12px Gulim") + } + } + }, + "ListViewCellControl" : + { + "self" : + { + "enabled" : + { + "font" : nexacro.FontObject("12px Gulim") + } + } + } + } + }, + "cellcheckbox" : + { + "parent" : + { + "GridCellControl" : + { + "self" : + { + "enabled" : + { + "font" : nexacro.FontObject("12px Gulim") + } + } + }, + "ListViewCellControl" : + { + "self" : + { + "enabled" : + { + "font" : nexacro.FontObject("12px Gulim") + } + } + } + } + }, + "cellcombo" : + { + "parent" : + { + "GridCellControl" : + { + "self" : + { + "enabled" : + { + "font" : nexacro.FontObject("12px Gulim") + } + } + }, + "ListViewCellControl" : + { + "self" : + { + "enabled" : + { + "font" : nexacro.FontObject("12px Gulim") + } + } + } + } + }, + "listboxitem" : + { + "parent" : + { + "combolist" : + { + "parent" : + { + "cellcombo" : + { + "parent" : + { + "GridCellControl" : + { + "self" : + { + "mouseover" : + { + } + } + }, + "ListViewCellControl" : + { + "self" : + { + "mouseover" : + { + } + } + } + } + } + } + }, + "ListBox" : + { + "self" : + { + "enabled" : + { + "color" : nexacro.ColorObject("#555555"), + "padding" : nexacro.PaddingObject("2px 9px 3px 9px") + }, + "mouseover" : + { + }, + "selected" : + { + "color" : nexacro.ColorObject("#ffffff") + }, + "disabled" : + { + } + } + }, + "ListBoxControl" : + { + "self" : + { + "enabled" : + { + "color" : nexacro.ColorObject("#555555"), + "padding" : nexacro.PaddingObject("2px 9px 3px 9px") + }, + "mouseover" : + { + }, + "selected" : + { + "color" : nexacro.ColorObject("#ffffff") + }, + "disabled" : + { + } + } + } + } + }, + "celledit" : + { + "parent" : + { + "GridCellControl" : + { + "self" : + { + "enabled" : + { + "font" : nexacro.FontObject("12px Gulim"), + "border" : nexacro.BorderObject("1px solid #d5d5d5"), + "padding" : nexacro.PaddingObject("1px 9px 0px 9px") + }, + "mouseover" : + { + "border" : nexacro.BorderObject("1px solid #5a86cd") + }, + "focused" : + { + "border" : nexacro.BorderObject("1px solid #5a86cd") + }, + "disabled" : + { + "color" : nexacro.ColorObject("#999999") + } + } + }, + "ListViewCellControl" : + { + "self" : + { + "enabled" : + { + "font" : nexacro.FontObject("12px Gulim"), + "border" : nexacro.BorderObject("1px solid #d5d5d5"), + "padding" : nexacro.PaddingObject("1px 9px 0px 9px") + }, + "mouseover" : + { + "border" : nexacro.BorderObject("1px solid #5a86cd") + }, + "focused" : + { + "border" : nexacro.BorderObject("1px solid #5a86cd") + }, + "disabled" : + { + "color" : nexacro.ColorObject("#999999") + } + } + } + } + }, + "cellexpandbutton" : + { + "parent" : + { + "GridCellControl" : + { + "self" : + { + "enabled" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Grdexpand.png')") + } + } + }, + "ListViewCellControl" : + { + "self" : + { + "enabled" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Grdexpand.png')") + } + } + } + } + }, + "cellmaskedit" : + { + "parent" : + { + "GridCellControl" : + { + "self" : + { + "enabled" : + { + "font" : nexacro.FontObject("12px Gulim"), + "border" : nexacro.BorderObject("1px solid #d5d5d5"), + "padding" : nexacro.PaddingObject("1px 9px 0px 9px") + }, + "mouseover" : + { + "border" : nexacro.BorderObject("1px solid #5a86cd") + }, + "focused" : + { + "border" : nexacro.BorderObject("1px solid #5a86cd") + }, + "disabled" : + { + "color" : nexacro.ColorObject("#999999") + } + } + }, + "ListViewCellControl" : + { + "self" : + { + "enabled" : + { + "font" : nexacro.FontObject("12px Gulim"), + "border" : nexacro.BorderObject("1px solid #d5d5d5"), + "padding" : nexacro.PaddingObject("1px 9px 0px 9px") + }, + "mouseover" : + { + "border" : nexacro.BorderObject("1px solid #5a86cd") + }, + "focused" : + { + "border" : nexacro.BorderObject("1px solid #5a86cd") + }, + "disabled" : + { + "color" : nexacro.ColorObject("#999999") + } + } + } + } + }, + "cellprogressbar" : + { + "parent" : + { + "GridCellControl" : + { + "self" : + { + "enabled" : + { + "font" : nexacro.FontObject("12px Gulim") + } + } + }, + "ListViewCellControl" : + { + "self" : + { + "enabled" : + { + "font" : nexacro.FontObject("12px Gulim") + } + } + } + } + }, + "celltextarea" : + { + "parent" : + { + "GridCellControl" : + { + "self" : + { + "enabled" : + { + "font" : nexacro.FontObject("12px Gulim") + } + } + }, + "ListViewCellControl" : + { + "self" : + { + "enabled" : + { + "font" : nexacro.FontObject("12px Gulim") + } + } + } + } + }, + "treeitemtext" : + { + "parent" : + { + "celltreeitem" : + { + "parent" : + { + "GridCellControl" : + { + "self" : + { + "enabled" : + { + "font" : nexacro.FontObject("12px Gulim"), + "color" : nexacro.ColorObject("#666666") + }, + "disabled" : + { + "color" : nexacro.ColorObject("#999999") + } + } + } + } + } + } + }, + "treeitembutton" : + { + "parent" : + { + "celltreeitem" : + { + "parent" : + { + "GridCellControl" : + { + "self" : + { + "expand" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Treeexpand.png')") + }, + "collapse" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Treecollapse.png')") + } + } + } + } + } + } + }, + "treeitemimage" : + { + "parent" : + { + "celltreeitem" : + { + "parent" : + { + "GridCellControl" : + { + "self" : + { + "enabled" : + { + "icon" : nexacro.UrlObject("URL('theme://images/img_WF_Treeitem.png')") + }, + "expand" : + { + "icon" : nexacro.UrlObject("URL('theme://images/img_WF_Treeexpand.png')") + }, + "collapse" : + { + "icon" : nexacro.UrlObject("URL('theme://images/img_WF_Treecollapse.png')") + } + } + } + } + } + } + }, + "celltreeline" : + { + "parent" : + { + "GridCellControl" : + { + "self" : + { + "enabled" : + { + "border" : nexacro.BorderObject("1px dotted #909090") + } + } + } + } + }, + "groupboxcontents" : + { + "parent" : + { + "GroupBox" : + { + "self" : + { + "enabled" : + { + "border" : nexacro.BorderObject("1px solid #d6d4d5") + }, + "disabled" : + { + } + } + } + } + }, + "groupboxtitle" : + { + "parent" : + { + "GroupBox" : + { + "self" : + { + "enabled" : + { + "padding" : nexacro.PaddingObject("0px 4px 0px 4px") + }, + "disabled" : + { + "color" : nexacro.ColorObject("#999999") + } + } + } + } + }, + "ImageViewer" : + { + "self" : + { + "enabled" : + { + "border" : nexacro.BorderObject("1px solid #d5d5d5") + }, + "disabled" : + { + } + } + }, + "imagetext" : + { + "parent" : + { + "ImageViewer" : + { + "self" : + { + "disabled" : + { + "color" : nexacro.ColorObject("#999999") + } + } + } + } + }, + "ListBox" : + { + "self" : + { + "enabled" : + { + "border" : nexacro.BorderObject("1px solid #d5d5d5") + }, + "mouseover" : + { + "border" : nexacro.BorderObject("1px solid #5a86cd") + }, + "focused" : + { + "border" : nexacro.BorderObject("1px solid #5a86cd") + }, + "disabled" : + { + } + } + }, + "ListBoxControl" : + { + "self" : + { + "enabled" : + { + "border" : nexacro.BorderObject("1px solid #d5d5d5") + }, + "mouseover" : + { + "border" : nexacro.BorderObject("1px solid #5a86cd") + }, + "focused" : + { + "border" : nexacro.BorderObject("1px solid #5a86cd") + }, + "disabled" : + { + } + } + }, + "Menu" : + { + "self" : + { + "disabled" : + { + } + } + }, + "prevbutton" : + { + "parent" : + { + "Menu" : + { + "self" : + { + "enabled" : + { + "padding" : nexacro.PaddingObject("0px 5px 0px 15px"), + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Menuprev.png')") + }, + "mouseover" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Menuprev_O.png')") + }, + "pushed" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Menuprev_O.png')") + }, + "disabled" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Menuprev_D.png')") + } + } + }, + "menupopupmenu" : + { + "parent" : + { + "Menu" : + { + "self" : + { + "enabled" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Popmenuprev.png')") + }, + "mouseover" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Popmenuprev_O.png')") + }, + "disabled" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Popmenuprev_D.png')") + } + } + } + } + }, + "PopupMenu" : + { + "self" : + { + "enabled" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Popmenuprev2.png')") + }, + "mouseover" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Popmenuprev2_O.png')") + }, + "disabled" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Popmenuprev2_D.png')") + } + } + }, + "PopupMenuControl" : + { + "self" : + { + "enabled" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Popmenuprev2.png')") + }, + "mouseover" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Popmenuprev2_O.png')") + }, + "disabled" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Popmenuprev2_D.png')") + } + } + }, + "Tab" : + { + "self" : + { + "enabled" : + { + "padding" : nexacro.PaddingObject("0px 8px 10px 0px"), + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Tabprev.png')") + }, + "mouseover" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Tabprev_O.png')") + }, + "disabled" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Tabprev_D.png')") + } + } + }, + "head" : + { + "parent" : + { + "DatePickerControl" : + { + "self" : + { + "enabled" : + { + "padding" : nexacro.PaddingObject("0px 0px 0px 10px"), + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Calprev.png')") + }, + "mouseover" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Calprev_O.png')") + }, + "pushed" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Calprev_O.png')") + }, + "disabled" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Calprev.png')") + } + } + } + } + } + } + }, + "nextbutton" : + { + "parent" : + { + "Menu" : + { + "self" : + { + "enabled" : + { + "padding" : nexacro.PaddingObject("0px 15px 0px 5px"), + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Menunext.png')") + }, + "mouseover" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Menunext_O.png')") + }, + "pushed" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Menunext_O.png')") + }, + "disabled" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Menunext_D.png')") + } + } + }, + "menupopupmenu" : + { + "parent" : + { + "Menu" : + { + "self" : + { + "enabled" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Popmenunext.png')") + }, + "mouseover" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Popmenunext_O.png')") + }, + "disabled" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Popmenunext_D.png')") + } + } + } + } + }, + "PopupMenu" : + { + "self" : + { + "enabled" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Popmenunext2.png')") + }, + "mouseover" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Popmenunext2_O.png')") + }, + "disabled" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Popmenunext2_D.png')") + } + } + }, + "PopupMenuControl" : + { + "self" : + { + "enabled" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Popmenunext2.png')") + }, + "mouseover" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Popmenunext2_O.png')") + }, + "disabled" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Popmenunext2_D.png')") + } + } + }, + "Tab" : + { + "self" : + { + "enabled" : + { + "padding" : nexacro.PaddingObject("0px 0px 10px 8px"), + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Tabnext.png')") + }, + "mouseover" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Tabnext_O.png')") + }, + "disabled" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Tabnext_D.png')") + } + } + }, + "head" : + { + "parent" : + { + "DatePickerControl" : + { + "self" : + { + "enabled" : + { + "padding" : nexacro.PaddingObject("0px 10px 0px 0px"), + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Calnext.png')") + }, + "mouseover" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Calnext_O.png')") + }, + "pushed" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Calnext_O.png')") + }, + "disabled" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Calnext.png')") + } + } + } + } + } + } + }, + "menuitem" : + { + "parent" : + { + "Menu" : + { + "self" : + { + "enabled" : + { + "font" : nexacro.FontObject("bold 13px Gulim"), + "color" : nexacro.ColorObject("#ffffff"), + "padding" : nexacro.PaddingObject("0px 30px 0px 30px") + }, + "disabled" : + { + "color" : nexacro.ColorObject("#c7d4e2") + }, + "mouseover" : + { + }, + "selected" : + { + } + } + } + } + }, + "menupopupmenu" : + { + "parent" : + { + "Menu" : + { + "self" : + { + "enabled" : + { + "font" : nexacro.FontObject("12px Gulim"), + "color" : nexacro.ColorObject("#555555"), + "border" : nexacro.BorderObject("1px solid #034389") + } + } + } + } + }, + "popupmenuitem" : + { + "parent" : + { + "menupopupmenu" : + { + "parent" : + { + "Menu" : + { + "self" : + { + "enabled" : + { + "color" : nexacro.ColorObject("#c3e0ff"), + "border" : nexacro.BorderObject("0px none, 0px none, 1px solid #2065ae, 0px none"), + "padding" : nexacro.PaddingObject("3px 8px 3px 8px") + }, + "mouseover" : + { + "color" : nexacro.ColorObject("#ffffff") + }, + "focused" : + { + "color" : nexacro.ColorObject("#ffffff") + }, + "selected" : + { + "color" : nexacro.ColorObject("#ffffff") + }, + "disabled" : + { + "color" : nexacro.ColorObject("#2665af") + } + } + } + } + }, + "PopupMenu" : + { + "self" : + { + "enabled" : + { + "color" : nexacro.ColorObject("#555555"), + "padding" : nexacro.PaddingObject("3px 9px 3px 9px") + }, + "selected" : + { + "color" : nexacro.ColorObject("#ffffff") + }, + "mouseover" : + { + }, + "focused" : + { + }, + "disabled" : + { + "color" : nexacro.ColorObject("#999999") + } + } + }, + "PopupMenuControl" : + { + "self" : + { + "enabled" : + { + "color" : nexacro.ColorObject("#555555"), + "padding" : nexacro.PaddingObject("3px 9px 3px 9px") + }, + "selected" : + { + "color" : nexacro.ColorObject("#ffffff") + }, + "mouseover" : + { + }, + "focused" : + { + }, + "disabled" : + { + "color" : nexacro.ColorObject("#999999") + } + } + } + } + }, + "popupmenuitemcheckbox" : + { + "parent" : + { + "popupmenuitem" : + { + "parent" : + { + "menupopupmenu" : + { + "parent" : + { + "Menu" : + { + "self" : + { + "enabled" : + { + "padding" : nexacro.PaddingObject("0px 7px 0px 0px"), + "icon" : nexacro.UrlObject("URL('theme://images/chk_WF_Popupmenu_O.png')") + }, + "mouseover" : + { + "icon" : nexacro.UrlObject("URL('theme://images/chk_WF_Popupmenu_O.png')") + } + } + } + } + }, + "PopupMenu" : + { + "self" : + { + "mouseover" : + { + }, + "disabled" : + { + } + } + }, + "PopupMenuControl" : + { + "self" : + { + "mouseover" : + { + }, + "disabled" : + { + } + } + } + } + } + } + }, + "popupmenuitemtext" : + { + "parent" : + { + "popupmenuitem" : + { + "parent" : + { + "menupopupmenu" : + { + "parent" : + { + "Menu" : + { + "self" : + { + "enabled" : + { + "color" : nexacro.ColorObject("#c3e0ff"), + "padding" : nexacro.PaddingObject("0px 20px 0px 0px") + }, + "mouseover" : + { + "color" : nexacro.ColorObject("#ffffff") + }, + "disabled" : + { + "color" : nexacro.ColorObject("#2665af") + } + } + } + } + }, + "PopupMenu" : + { + "self" : + { + "enabled" : + { + "padding" : nexacro.PaddingObject("2px 10px 1px 4px") + } + } + }, + "PopupMenuControl" : + { + "self" : + { + "enabled" : + { + "padding" : nexacro.PaddingObject("2px 10px 1px 4px") + } + } + } + } + } + } + }, + "popupmenuitemhotkeytext" : + { + "parent" : + { + "popupmenuitem" : + { + "parent" : + { + "menupopupmenu" : + { + "parent" : + { + "Menu" : + { + "self" : + { + "enabled" : + { + "color" : nexacro.ColorObject("#6d95cc"), + "padding" : nexacro.PaddingObject("0px 7px 0px 0px") + }, + "mouseover" : + { + "color" : nexacro.ColorObject("#ffffff") + }, + "disabled" : + { + "color" : nexacro.ColorObject("#4577b9") + } + } + } + } + }, + "PopupMenu" : + { + "self" : + { + "enabled" : + { + "color" : nexacro.ColorObject("#aaaaaa"), + "padding" : nexacro.PaddingObject("0px 7px 0px 0px") + }, + "disabled" : + { + "color" : nexacro.ColorObject("#4577b9") + } + } + }, + "PopupMenuControl" : + { + "self" : + { + "enabled" : + { + "color" : nexacro.ColorObject("#aaaaaa"), + "padding" : nexacro.PaddingObject("0px 7px 0px 0px") + }, + "disabled" : + { + "color" : nexacro.ColorObject("#4577b9") + } + } + } + } + } + } + }, + "popupmenuitemexpandimage" : + { + "parent" : + { + "popupmenuitem" : + { + "parent" : + { + "menupopupmenu" : + { + "parent" : + { + "Menu" : + { + "self" : + { + "enabled" : + { + "padding" : nexacro.PaddingObject("0px 0px 2px 0px"), + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Popupexpand.png')") + } + } + } + } + }, + "PopupMenu" : + { + "self" : + { + "enabled" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Popupexpand2.png')") + } + } + }, + "PopupMenuControl" : + { + "self" : + { + "enabled" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Popupexpand2.png')") + } + } + } + } + } + } + }, + "Plugin" : + { + "self" : + { + "enabled" : + { + "border" : nexacro.BorderObject("1px solid #d5d5d5") + } + } + }, + "PluginControl" : + { + "self" : + { + "enabled" : + { + "border" : nexacro.BorderObject("1px solid #d5d5d5") + } + } + }, + "PopupMenu" : + { + "self" : + { + "enabled" : + { + "font" : nexacro.FontObject("12px Gulim"), + "color" : nexacro.ColorObject("#555555"), + "border" : nexacro.BorderObject("1px solid #b5b5b5") + } + } + }, + "PopupMenuControl" : + { + "self" : + { + "enabled" : + { + "font" : nexacro.FontObject("12px Gulim"), + "color" : nexacro.ColorObject("#555555"), + "border" : nexacro.BorderObject("1px solid #b5b5b5") + } + } + }, + "ProgressBar" : + { + "self" : + { + "enabled" : + { + "border" : nexacro.BorderObject("1px solid #aeaeae, 1px solid #d2d0d1, 1px solid #d2d0d1, 1px solid #d2d0d1") + } + } + }, + "ProgressBarControl" : + { + "self" : + { + "enabled" : + { + "border" : nexacro.BorderObject("1px solid #aeaeae, 1px solid #d2d0d1, 1px solid #d2d0d1, 1px solid #d2d0d1") + } + } + }, + "progressbaritem" : + { + "parent" : + { + "ProgressBar" : + { + "self" : + { + "disabled" : + { + } + } + }, + "ProgressBarControl" : + { + "self" : + { + "disabled" : + { + } + } + } + } + }, + "progressbartext" : + { + "parent" : + { + "ProgressBar" : + { + "self" : + { + "enabled" : + { + "color" : nexacro.ColorObject("#ffffff") + } + } + }, + "ProgressBarControl" : + { + "self" : + { + "enabled" : + { + "color" : nexacro.ColorObject("#ffffff") + } + } + } + } + }, + "radioitem" : + { + "parent" : + { + "Radio" : + { + "self" : + { + "enabled" : + { + "icon" : nexacro.UrlObject("URL('theme://images/rdo_WF_Radio.png')"), + "textPadding" : nexacro.PaddingObject("0px 0px 0px 5px") + }, + "selected" : + { + "icon" : nexacro.UrlObject("URL('theme://images/rdo_WF_Radio_S.png')") + }, + "mouseover" : + { + "icon" : nexacro.UrlObject("URL('theme://images/rdo_WF_Radio_O.png')") + }, + "disabled" : + { + "icon" : nexacro.UrlObject("URL('theme://images/rdo_WF_Radio_D.png')") + }, + "disabled_selected" : + { + "icon" : nexacro.UrlObject("URL('theme://images/rdo_WF_Radio_DS.png')") + } + } + } + } + }, + "Sketch" : + { + "self" : + { + "enabled" : + { + "border" : nexacro.BorderObject("1px solid #d5d5d5") + }, + "disabled" : + { + } + } + }, + "spinedit" : + { + "parent" : + { + "Spin" : + { + "self" : + { + "enabled" : + { + "padding" : nexacro.PaddingObject("0px 3px 0px 3px") + }, + "disabled" : + { + "padding" : nexacro.PaddingObject("1px 2px 0px 9px") + } + } + }, + "yearspin" : + { + "parent" : + { + "head" : + { + "parent" : + { + "DatePickerControl" : + { + "self" : + { + "enabled" : + { + "font" : nexacro.FontObject("bold 14px Tahoma"), + "color" : nexacro.ColorObject("#ffffff") + } + } + } + } + } + } + }, + "monthspin" : + { + "parent" : + { + "head" : + { + "parent" : + { + "DatePickerControl" : + { + "self" : + { + "enabled" : + { + "font" : nexacro.FontObject("bold 14px Tahoma"), + "color" : nexacro.ColorObject("#ffffff") + } + } + } + } + } + } + } + } + }, + "spinupbutton" : + { + "parent" : + { + "Spin" : + { + "self" : + { + "enabled" : + { + "padding" : nexacro.PaddingObject("1px 0px 0px 0px"), + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Spinup.png')") + }, + "mouseover" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Spinup_O.png')") + }, + "pushed" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Spinup_P.png')") + }, + "disabled" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Spinup_D.png')") + } + } + }, + "yearspin" : + { + "parent" : + { + "head" : + { + "parent" : + { + "DatePickerControl" : + { + "self" : + { + "enabled" : + { + "padding" : nexacro.PaddingObject("0px 10px 0px 5px"), + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Calspinup.png')") + }, + "mouseover" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Calspinup_O.png')") + }, + "pushed" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Calspinup_O.png')") + }, + "disabled" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Calspinup_D.png')") + } + } + } + } + } + } + }, + "monthspin" : + { + "parent" : + { + "head" : + { + "parent" : + { + "DatePickerControl" : + { + "self" : + { + "enabled" : + { + "padding" : nexacro.PaddingObject("0px 10px 0px 5px"), + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Calspinup.png')") + }, + "mouseover" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Calspinup_O.png')") + }, + "pushed" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Calspinup_O.png')") + }, + "disabled" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Calspinup_D.png')") + } + } + } + } + } + } + } + } + }, + "spindownbutton" : + { + "parent" : + { + "Spin" : + { + "self" : + { + "enabled" : + { + "padding" : nexacro.PaddingObject("0px 0px 2px 0px"), + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Spindown.png')") + }, + "mouseover" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Spindown_O.png')") + }, + "pushed" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Spindown_P.png')") + }, + "disabled" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Spindown_D.png')") + } + } + }, + "yearspin" : + { + "parent" : + { + "head" : + { + "parent" : + { + "DatePickerControl" : + { + "self" : + { + "enabled" : + { + "padding" : nexacro.PaddingObject("0px 10px 0px 5px"), + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Calspindown.png')") + }, + "mouseover" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Calspindown_O.png')") + }, + "pushed" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Calspindown_O.png')") + }, + "disabled" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Calspindown_D.png')") + } + } + } + } + } + } + }, + "monthspin" : + { + "parent" : + { + "head" : + { + "parent" : + { + "DatePickerControl" : + { + "self" : + { + "enabled" : + { + "padding" : nexacro.PaddingObject("0px 10px 0px 5px"), + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Calspindown.png')") + }, + "mouseover" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Calspindown_O.png')") + }, + "pushed" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Calspindown_O.png')") + }, + "disabled" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Calspindown_D.png')") + } + } + } + } + } + } + } + } + }, + "Static" : + { + "self" : + { + "disabled" : + { + "color" : nexacro.ColorObject("#999999") + } + } + }, + "StaticControl" : + { + "self" : + { + "disabled" : + { + "color" : nexacro.ColorObject("#999999") + } + } + }, + "WebBrowser" : + { + "self" : + { + "enabled" : + { + "border" : nexacro.BorderObject("1px solid #d5d5d5") + } + } + }, + "WebBrowserControl" : + { + "self" : + { + "enabled" : + { + "border" : nexacro.BorderObject("1px solid #d5d5d5") + } + } + }, + "tabpage" : + { + "parent" : + { + "Tab" : + { + "self" : + { + "enabled" : + { + "border" : nexacro.BorderObject("1px solid #cfcfcf, 0px none, 0px none, 0px none") + } + } + } + } + }, + "tabbuttonitem" : + { + "parent" : + { + "Tab" : + { + "self" : + { + "enabled" : + { + "color" : nexacro.ColorObject("#333333"), + "border" : nexacro.BorderObject("1px solid #c7c7c7"), + "padding" : nexacro.PaddingObject("6px 10px 6px 10px") + }, + "mouseover" : + { + "border" : nexacro.BorderObject("1px solid #b1b1b1") + }, + "focused" : + { + "color" : nexacro.ColorObject("#dee4ef") + }, + "selected" : + { + "color" : nexacro.ColorObject("#dee4ef"), + "border" : nexacro.BorderObject("1px solid #1055a1") + }, + "focused_selected" : + { + "color" : nexacro.ColorObject("#dee4ef"), + "border" : nexacro.BorderObject("1px solid #1055a1") + }, + "disabled" : + { + "color" : nexacro.ColorObject("#ababab") + }, + "disabled_selected" : + { + "border" : nexacro.BorderObject("1px solid #c7d4e2") + } + } + } + } + }, + "tabbuttonitemtext" : + { + "parent" : + { + "tabbuttonitem" : + { + "parent" : + { + "Tab" : + { + "self" : + { + "disabled" : + { + "color" : nexacro.ColorObject("#c8c8c8") + } + } + } + } + } + } + }, + "extrabutton" : + { + "parent" : + { + "tabbuttonitem" : + { + "parent" : + { + "Tab" : + { + "self" : + { + "enabled" : + { + "padding" : nexacro.PaddingObject("0px 0px 0px 20px"), + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Tabextra.png')") + }, + "selected" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Tabextra_S.png'") + } + } + } + } + } + } + }, + "head" : + { + "parent" : + { + "DatePickerControl" : + { + "self" : + { + "enabled" : + { + "padding" : nexacro.PaddingObject("5px 0px 0px 0px") + }, + "disabled" : + { + "color" : nexacro.ColorObject("#cdcdcd") + } + } + } + } + }, + "yearstatic" : + { + "parent" : + { + "head" : + { + "parent" : + { + "DatePickerControl" : + { + "self" : + { + "enabled" : + { + "font" : nexacro.FontObject("bold 14px Tahoma"), + "color" : nexacro.ColorObject("#ffffff"), + "padding" : nexacro.PaddingObject("0px 10px 0px 0px") + }, + "disabled" : + { + "color" : nexacro.ColorObject("#c7d4e2") + } + } + } + } + } + } + }, + "monthstatic" : + { + "parent" : + { + "head" : + { + "parent" : + { + "DatePickerControl" : + { + "self" : + { + "enabled" : + { + "font" : nexacro.FontObject("bold 14px Tahoma"), + "color" : nexacro.ColorObject("#ffffff"), + "padding" : nexacro.PaddingObject("0px 10px 0px 0px") + }, + "disabled" : + { + "color" : nexacro.ColorObject("#c7d4e2") + } + } + } + } + } + } + }, + "body" : + { + "parent" : + { + "DatePickerControl" : + { + "self" : + { + "enabled" : + { + "border" : nexacro.BorderObject("1px solid #125dae, 1px solid #697888, 1px solid #697888, 1px solid #697888") + }, + "disabled" : + { + "border" : nexacro.BorderObject("1px solid #98a6b5") + } + } + }, + "ListView" : + { + "self" : + { + "enabled" : + { + "border" : nexacro.BorderObject("0px none, 0px none, 1px solid #dbdee2, 0px none"), + "font" : nexacro.FontObject("12px Gulim") + }, + "readonly" : + { + "border" : nexacro.BorderObject("0px none, 0px none, 1px solid #dbdee2, 0px none"), + "font" : nexacro.FontObject("12px Gulim") + }, + "focused" : + { + "border" : nexacro.BorderObject("0px none, 0px none, 1px solid #dbdee2, 0px none"), + "font" : nexacro.FontObject("12px Gulim") + }, + "mouseover" : + { + "border" : nexacro.BorderObject("0px none, 0px none, 1px solid #dbdee2, 0px none"), + "font" : nexacro.FontObject("12px Gulim") + }, + "selected" : + { + }, + "disabled" : + { + "color" : nexacro.ColorObject("#999999") + } + } + } + } + }, + "weekband" : + { + "parent" : + { + "body" : + { + "parent" : + { + "DatePickerControl" : + { + "self" : + { + "disabled" : + { + } + } + } + } + } + } + }, + "weekitem" : + { + "parent" : + { + "body" : + { + "parent" : + { + "DatePickerControl" : + { + "self" : + { + "enabled" : + { + "color" : nexacro.ColorObject("#ffffff") + }, + "saturday" : + { + "color" : nexacro.ColorObject("#48afff") + }, + "sunday" : + { + "color" : nexacro.ColorObject("#ff7986") + }, + "disabled" : + { + "color" : nexacro.ColorObject("#c7d4e2") + } + } + } + } + } + } + }, + "dayitem" : + { + "parent" : + { + "body" : + { + "parent" : + { + "DatePickerControl" : + { + "self" : + { + "enabled" : + { + "color" : nexacro.ColorObject("#333333") + }, + "mouseover" : + { + "color" : nexacro.ColorObject("#ffffff") + }, + "focused" : + { + "color" : nexacro.ColorObject("#ffffff") + }, + "selected" : + { + "color" : nexacro.ColorObject("#ffffff") + }, + "today" : + { + "color" : nexacro.ColorObject("#ffffff") + }, + "saturday" : + { + "color" : nexacro.ColorObject("#269bee") + }, + "mouseover_saturday" : + { + "color" : nexacro.ColorObject("#ffffff") + }, + "sunday" : + { + "color" : nexacro.ColorObject("#ff4c5e") + }, + "mouseover_sunday" : + { + "color" : nexacro.ColorObject("#ffffff") + }, + "trailingday" : + { + "color" : nexacro.ColorObject("#989898") + }, + "mouseover_trailingday" : + { + "color" : nexacro.ColorObject("#ffffff") + }, + "disabled" : + { + "color" : nexacro.ColorObject("#cdcdcd") + }, + "disabled_selected" : + { + } + } + } + } + } + } + }, + "VScrollBarControl" : + { + "self" : + { + "enabled" : + { + "border" : nexacro.BorderObject("1px solid #b1b1b1"), + "padding" : nexacro.PaddingObject("2px 2px 2px 2px") + } + } + }, + "HScrollBarControl" : + { + "self" : + { + "enabled" : + { + "border" : nexacro.BorderObject("1px solid #b1b1b1"), + "padding" : nexacro.PaddingObject("2px 2px 2px 2px") + } + } + }, + "incbutton" : + { + "parent" : + { + "VScrollBarControl" : + { + "self" : + { + "enabled" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Vinc.png')") + }, + "mouseover" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Vinc_O.png')") + }, + "disabled" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Vinc_D.png')") + } + } + }, + "HScrollBarControl" : + { + "self" : + { + "enabled" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Hinc.png')") + }, + "mouseover" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Hinc_O.png')") + }, + "disabled" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Hinc_D.png')") + } + } + } + } + }, + "decbutton" : + { + "parent" : + { + "VScrollBarControl" : + { + "self" : + { + "enabled" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Vdec.png')") + }, + "mouseover" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Vdec_O.png')") + }, + "disabled" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Vdec_D.png')") + } + } + }, + "HScrollBarControl" : + { + "self" : + { + "enabled" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Hdec.png')") + }, + "mouseover" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Hdec_O.png')") + }, + "disabled" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Hdec_D.png')") + } + } + } + } + }, + "trackbar" : + { + "parent" : + { + "VScrollBarControl" : + { + "self" : + { + "enabled" : + { + "border" : nexacro.BorderObject("1px solid #c8c8c8") + }, + "pushed" : + { + "border" : nexacro.BorderObject("1px solid #888888") + }, + "focused" : + { + "border" : nexacro.BorderObject("1px solid #888888") + }, + "selected" : + { + "border" : nexacro.BorderObject("1px solid #888888") + }, + "mouseover" : + { + "border" : nexacro.BorderObject("1px solid #a8a8a8") + }, + "disabled" : + { + "border" : nexacro.BorderObject("1px solid #d8d8d8") + } + } + }, + "HScrollBarControl" : + { + "self" : + { + "enabled" : + { + "border" : nexacro.BorderObject("1px solid #c8c8c8") + }, + "pushed" : + { + "border" : nexacro.BorderObject("1px solid #888888") + }, + "focused" : + { + "border" : nexacro.BorderObject("1px solid #888888") + }, + "selected" : + { + "border" : nexacro.BorderObject("1px solid #888888") + }, + "mouseover" : + { + "border" : nexacro.BorderObject("1px solid #a8a8a8") + }, + "disabled" : + { + "border" : nexacro.BorderObject("1px solid #d8d8d8") + } + } + }, + "VScrollIndicatorControl" : + { + "self" : + { + "enabled" : + { + "border" : nexacro.BorderObject("2px solid transparent") + }, + "pushed" : + { + }, + "mouseover" : + { + } + } + }, + "HScrollIndicatorControl" : + { + "self" : + { + "enabled" : + { + "border" : nexacro.BorderObject("2px solid transparent") + }, + "pushed" : + { + }, + "mouseover" : + { + } + } + } + } + }, + "progressbar" : + { + "parent" : + { + "StatusBarControl" : + { + "self" : + { + "enabled" : + { + "border" : nexacro.BorderObject("1px solid #afaeae, 1px solid #d2d0d0, 1px solid #d2d0d0, 1px solid #d2d0d0") + } + } + } + } + }, + "resizegrip" : + { + "parent" : + { + "StatusBarControl" : + { + "self" : + { + "enabled" : + { + "icon" : nexacro.UrlObject("URL(\"theme://images/img_grip.png\")") + } + } + } + } + }, + "TitleBarControl" : + { + "self" : + { + "enabled" : + { + "font" : nexacro.FontObject("bold 12px Gulim"), + "color" : nexacro.ColorObject("#ffffff"), + "padding" : nexacro.PaddingObject("0px 0px 0px 10px") + } + } + }, + "minbutton" : + { + "parent" : + { + "TitleBarControl" : + { + "self" : + { + "enabled" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_TF_Min.png')") + }, + "mouseover" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_TF_Min_O.png')") + }, + "disabled" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_TF_Min_D.png')") + } + } + } + } + }, + "normalbutton" : + { + "parent" : + { + "TitleBarControl" : + { + "self" : + { + "enabled" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_TF_Normal.png')") + }, + "mouseover" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_TF_Normal_O.png')") + }, + "disabled" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_TF_Normal_D.png')") + } + } + } + } + }, + "maxbutton" : + { + "parent" : + { + "TitleBarControl" : + { + "self" : + { + "enabled" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_TF_Max.png')") + }, + "mouseover" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_TF_Max_O.png')") + }, + "disabled" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_TF_Max_D.png')") + } + } + } + } + }, + "closebutton" : + { + "parent" : + { + "TitleBarControl" : + { + "self" : + { + "enabled" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_TF_Close.png')") + }, + "mouseover" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_TF_Close_O.png')") + }, + "disabled" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_TF_Close_D.png')") + } + } + } + } + }, + "StepControl" : + { + "self" : + { + "enabled" : + { + "padding" : nexacro.PaddingObject("0px 0px 10px 0px") + } + } + }, + "stepitem" : + { + "parent" : + { + "StepControl" : + { + "self" : + { + "enabled" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Stepitem.png')") + }, + "mouseover" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Stepitem_S.png')") + }, + "pushed" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Stepitem_S.png')") + }, + "selected" : + { + "icon" : nexacro.UrlObject("URL('theme://images/btn_WF_Stepitem_S.png')") + } + } + } + } + }, + "ListView" : + { + "self" : + { + "enabled" : + { + "border" : nexacro.BorderObject("1px solid #d5d5d5"), + "color" : nexacro.ColorObject("#666666") + }, + "readonly" : + { + "border" : nexacro.BorderObject("1px solid #d5d5d5"), + "color" : nexacro.ColorObject("#666666") + }, + "mouseover" : + { + "border" : nexacro.BorderObject("1px solid #5a86cd") + }, + "focused" : + { + "border" : nexacro.BorderObject("1px solid #5a86cd") + }, + "disabled" : + { + } + } + }, + "detail" : + { + "parent" : + { + "ListView" : + { + "self" : + { + "readonly" : + { + "border" : nexacro.BorderObject("0px none, 0px none, 1px solid #dbdee2, 0px none"), + "font" : nexacro.FontObject("12px Gulim") + }, + "focused" : + { + "border" : nexacro.BorderObject("0px none, 0px none, 1px solid #dbdee2, 0px none"), + "font" : nexacro.FontObject("12px Gulim") + }, + "mouseover" : + { + "border" : nexacro.BorderObject("0px none, 0px none, 1px solid #dbdee2, 0px none"), + "font" : nexacro.FontObject("12px Gulim") + }, + "enabled" : + { + "border" : nexacro.BorderObject("0px none, 0px none, 1px solid #dbdee2, 0px none"), + "font" : nexacro.FontObject("12px Gulim") + }, + "selected" : + { + }, + "disabled" : + { + "color" : nexacro.ColorObject("#999999") + } + } + } + } + }, + "expandbar" : + { + "parent" : + { + "body" : + { + "parent" : + { + "ListView" : + { + "self" : + { + "enabled" : + { + "icon" : nexacro.UrlObject("URL('theme://images/cmb_WF_Drop.png')"), + "border" : nexacro.BorderObject("1px solid #c2c2c2") + }, + "mouseover" : + { + "border" : nexacro.BorderObject("1px solid #a0a0a0") + }, + "focused" : + { + "border" : nexacro.BorderObject("1px solid #a0a0a0") + }, + "pushed" : + { + }, + "selected" : + { + }, + "disabled" : + { + "color" : nexacro.ColorObject("#bbbbbb"), + "border" : nexacro.BorderObject("1px solid #d9d9d9") + } + } + } + } + } + } + } + }, + { + "includeStatusMap" : true + } + ); + + var imgcache = nexacro._getImageCacheMaps(); + imgcache[nexacro._getImageLocation("theme://images/titlebar_icon_nexacro17.ico")] = { width:16, height:16 }; + imgcache[nexacro._getImageLocation("theme://images/btn_WF_Calendar.png")] = { width:12, height:12 }; + imgcache[nexacro._getImageLocation("theme://images/btn_WF_Calendar_D.png")] = { width:12, height:12 }; + imgcache[nexacro._getImageLocation("theme://images/btn_WF_Spinup.png")] = { width:5, height:3 }; + imgcache[nexacro._getImageLocation("theme://images/btn_WF_Spinup_O.png")] = { width:5, height:3 }; + imgcache[nexacro._getImageLocation("theme://images/btn_WF_Spinup_P.png")] = { width:5, height:3 }; + imgcache[nexacro._getImageLocation("theme://images/btn_WF_Spinup_D.png")] = { width:5, height:3 }; + imgcache[nexacro._getImageLocation("theme://images/btn_WF_Spindown.png")] = { width:5, height:3 }; + imgcache[nexacro._getImageLocation("theme://images/btn_WF_Spindown_O.png")] = { width:5, height:3 }; + imgcache[nexacro._getImageLocation("theme://images/btn_WF_Spindown_P.png")] = { width:5, height:3 }; + imgcache[nexacro._getImageLocation("theme://images/btn_WF_Spindown_D.png")] = { width:5, height:3 }; + imgcache[nexacro._getImageLocation("theme://images/chk_WF_Box.png")] = { width:13, height:13 }; + imgcache[nexacro._getImageLocation("theme://images/chk_WF_Box_O.png")] = { width:13, height:13 }; + imgcache[nexacro._getImageLocation("theme://images/chk_WF_Box_D.png")] = { width:13, height:13 }; + imgcache[nexacro._getImageLocation("theme://images/chk_WF_Box_S.png")] = { width:13, height:13 }; + imgcache[nexacro._getImageLocation("theme://images/chk_WF_Box_DS.png")] = { width:13, height:13 }; + imgcache[nexacro._getImageLocation("theme://images/cmb_WF_Drop.png")] = { width:9, height:6 }; + imgcache[nexacro._getImageLocation("theme://images/cmb_WF_Drop_O.png")] = { width:9, height:6 }; + imgcache[nexacro._getImageLocation("theme://images/cmb_WF_Drop_P.png")] = { width:9, height:6 }; + imgcache[nexacro._getImageLocation("theme://images/btn_WF_Grdexpand.png")] = { width:13, height:13 }; + imgcache[nexacro._getImageLocation("theme://images/btn_WF_Treeexpand.png")] = { width:9, height:9 }; + imgcache[nexacro._getImageLocation("theme://images/btn_WF_Treecollapse.png")] = { width:9, height:9 }; + imgcache[nexacro._getImageLocation("theme://images/img_WF_Treeitem.png")] = { width:13, height:13 }; + imgcache[nexacro._getImageLocation("theme://images/img_WF_Treeexpand.png")] = { width:14, height:9 }; + imgcache[nexacro._getImageLocation("theme://images/img_WF_Treecollapse.png")] = { width:14, height:11 }; + imgcache[nexacro._getImageLocation("theme://images/btn_WF_Menuprev.png")] = { width:5, height:9 }; + imgcache[nexacro._getImageLocation("theme://images/btn_WF_Menuprev_O.png")] = { width:5, height:9 }; + imgcache[nexacro._getImageLocation("theme://images/btn_WF_Menuprev_D.png")] = { width:5, height:9 }; + imgcache[nexacro._getImageLocation("theme://images/btn_WF_Menunext.png")] = { width:5, height:9 }; + imgcache[nexacro._getImageLocation("theme://images/btn_WF_Menunext_O.png")] = { width:5, height:9 }; + imgcache[nexacro._getImageLocation("theme://images/btn_WF_Menunext_D.png")] = { width:5, height:9 }; + imgcache[nexacro._getImageLocation("theme://images/img_WF_Menu_O.png")] = { width:19, height:11 }; + imgcache[nexacro._getImageLocation("theme://images/btn_WF_Popmenuprev.png")] = { width:11, height:6 }; + imgcache[nexacro._getImageLocation("theme://images/btn_WF_Popmenuprev_O.png")] = { width:11, height:6 }; + imgcache[nexacro._getImageLocation("theme://images/btn_WF_Popmenuprev_D.png")] = { width:11, height:6 }; + imgcache[nexacro._getImageLocation("theme://images/btn_WF_Popmenunext.png")] = { width:11, height:6 }; + imgcache[nexacro._getImageLocation("theme://images/btn_WF_Popmenunext_O.png")] = { width:11, height:6 }; + imgcache[nexacro._getImageLocation("theme://images/btn_WF_Popmenunext_D.png")] = { width:11, height:6 }; + imgcache[nexacro._getImageLocation("theme://images/chk_WF_Popupmenu_O.png")] = { width:13, height:13 }; + imgcache[nexacro._getImageLocation("theme://images/btn_WF_Popupexpand.png")] = { width:3, height:5 }; + imgcache[nexacro._getImageLocation("theme://images/btn_WF_Popmenuprev2.png")] = { width:11, height:6 }; + imgcache[nexacro._getImageLocation("theme://images/btn_WF_Popmenuprev2_O.png")] = { width:11, height:6 }; + imgcache[nexacro._getImageLocation("theme://images/btn_WF_Popmenuprev2_D.png")] = { width:11, height:6 }; + imgcache[nexacro._getImageLocation("theme://images/btn_WF_Popmenunext2.png")] = { width:11, height:6 }; + imgcache[nexacro._getImageLocation("theme://images/btn_WF_Popmenunext2_O.png")] = { width:11, height:6 }; + imgcache[nexacro._getImageLocation("theme://images/btn_WF_Popmenunext2_D.png")] = { width:11, height:6 }; + imgcache[nexacro._getImageLocation("theme://images/chk_WF_Box_F.png")] = { width:13, height:13 }; + imgcache[nexacro._getImageLocation("theme://images/btn_WF_Popupexpand2.png")] = { width:4, height:7 }; + imgcache[nexacro._getImageLocation("theme://images/rdo_WF_Radio.png")] = { width:14, height:14 }; + imgcache[nexacro._getImageLocation("theme://images/rdo_WF_Radio_S.png")] = { width:14, height:14 }; + imgcache[nexacro._getImageLocation("theme://images/rdo_WF_Radio_O.png")] = { width:14, height:14 }; + imgcache[nexacro._getImageLocation("theme://images/rdo_WF_Radio_D.png")] = { width:14, height:14 }; + imgcache[nexacro._getImageLocation("theme://images/rdo_WF_Radio_DS.png")] = { width:14, height:14 }; + imgcache[nexacro._getImageLocation("theme://images/btn_WF_Tabextra.png")] = { width:9, height:9 }; + imgcache[nexacro._getImageLocation("theme://images/btn_WF_Tabprev.png")] = { width:6, height:11 }; + imgcache[nexacro._getImageLocation("theme://images/btn_WF_Tabprev_O.png")] = { width:6, height:11 }; + imgcache[nexacro._getImageLocation("theme://images/btn_WF_Tabprev_D.png")] = { width:6, height:11 }; + imgcache[nexacro._getImageLocation("theme://images/btn_WF_Tabnext.png")] = { width:6, height:11 }; + imgcache[nexacro._getImageLocation("theme://images/btn_WF_Tabnext_O.png")] = { width:6, height:11 }; + imgcache[nexacro._getImageLocation("theme://images/btn_WF_Tabnext_D.png")] = { width:6, height:11 }; + imgcache[nexacro._getImageLocation("theme://images/btn_WF_Calprev.png")] = { width:6, height:9 }; + imgcache[nexacro._getImageLocation("theme://images/btn_WF_Calprev_O.png")] = { width:6, height:9 }; + imgcache[nexacro._getImageLocation("theme://images/btn_WF_Calnext.png")] = { width:6, height:9 }; + imgcache[nexacro._getImageLocation("theme://images/btn_WF_Calnext_O.png")] = { width:6, height:9 }; + imgcache[nexacro._getImageLocation("theme://images/btn_WF_Calspinup.png")] = { width:5, height:3 }; + imgcache[nexacro._getImageLocation("theme://images/btn_WF_Calspinup_O.png")] = { width:5, height:3 }; + imgcache[nexacro._getImageLocation("theme://images/btn_WF_Calspinup_D.png")] = { width:5, height:3 }; + imgcache[nexacro._getImageLocation("theme://images/btn_WF_Calspindown.png")] = { width:5, height:3 }; + imgcache[nexacro._getImageLocation("theme://images/btn_WF_Calspindown_O.png")] = { width:5, height:3 }; + imgcache[nexacro._getImageLocation("theme://images/btn_WF_Calspindown_D.png")] = { width:5, height:3 }; + imgcache[nexacro._getImageLocation("theme://images/btn_WF_Vinc.png")] = { width:5, height:3 }; + imgcache[nexacro._getImageLocation("theme://images/btn_WF_Vinc_O.png")] = { width:5, height:3 }; + imgcache[nexacro._getImageLocation("theme://images/btn_WF_Vinc_D.png")] = { width:5, height:3 }; + imgcache[nexacro._getImageLocation("theme://images/btn_WF_Vdec.png")] = { width:5, height:3 }; + imgcache[nexacro._getImageLocation("theme://images/btn_WF_Vdec_O.png")] = { width:5, height:3 }; + imgcache[nexacro._getImageLocation("theme://images/btn_WF_Vdec_D.png")] = { width:5, height:3 }; + imgcache[nexacro._getImageLocation("theme://images/btn_WF_Hinc.png")] = { width:3, height:5 }; + imgcache[nexacro._getImageLocation("theme://images/btn_WF_Hinc_O.png")] = { width:3, height:5 }; + imgcache[nexacro._getImageLocation("theme://images/btn_WF_Hinc_D.png")] = { width:3, height:5 }; + imgcache[nexacro._getImageLocation("theme://images/btn_WF_Hdec.png")] = { width:3, height:5 }; + imgcache[nexacro._getImageLocation("theme://images/btn_WF_Hdec_O.png")] = { width:3, height:5 }; + imgcache[nexacro._getImageLocation("theme://images/btn_WF_Hdec_D.png")] = { width:3, height:5 }; + imgcache[nexacro._getImageLocation("theme://images/img_grip.png")] = { width:11, height:11 }; + imgcache[nexacro._getImageLocation("theme://images/img_TF_TitleIcon.png")] = { width:16, height:16 }; + imgcache[nexacro._getImageLocation("theme://images/btn_TF_Min.png")] = { width:30, height:30 }; + imgcache[nexacro._getImageLocation("theme://images/btn_TF_Min_O.png")] = { width:30, height:30 }; + imgcache[nexacro._getImageLocation("theme://images/btn_TF_Min_D.png")] = { width:30, height:30 }; + imgcache[nexacro._getImageLocation("theme://images/btn_TF_Normal.png")] = { width:30, height:30 }; + imgcache[nexacro._getImageLocation("theme://images/btn_TF_Normal_O.png")] = { width:30, height:30 }; + imgcache[nexacro._getImageLocation("theme://images/btn_TF_Normal_D.png")] = { width:30, height:30 }; + imgcache[nexacro._getImageLocation("theme://images/btn_TF_Max.png")] = { width:30, height:30 }; + imgcache[nexacro._getImageLocation("theme://images/btn_TF_Max_O.png")] = { width:30, height:30 }; + imgcache[nexacro._getImageLocation("theme://images/btn_TF_Max_D.png")] = { width:30, height:30 }; + imgcache[nexacro._getImageLocation("theme://images/btn_TF_Close.png")] = { width:30, height:30 }; + imgcache[nexacro._getImageLocation("theme://images/btn_TF_Close_O.png")] = { width:30, height:30 }; + imgcache[nexacro._getImageLocation("theme://images/btn_TF_Close_D.png")] = { width:30, height:30 }; + imgcache[nexacro._getImageLocation("theme://images/btn_WF_Stepitem.png")] = { width:13, height:13 }; + imgcache[nexacro._getImageLocation("theme://images/btn_WF_Stepitem_S.png")] = { width:13, height:13 }; + imgcache[nexacro._getImageLocation("theme://images/btn_WF_Tabextra_S.png")] = { width:8, height:8 }; + imgcache[nexacro._getImageLocation("theme://images/chk_WF_Popupmenu.png")] = { width:13, height:13 }; + imgcache[nexacro._getImageLocation("theme://images/img_WF_Grdimg.png")] = { width:12, height:14 }; + imgcache[nexacro._getImageLocation("theme://images/img_WF_Htrackbar.png")] = { width:8, height:5 }; + imgcache[nexacro._getImageLocation("theme://images/img_WF_Htrackbar_D.png")] = { width:8, height:5 }; + imgcache[nexacro._getImageLocation("theme://images/img_WF_Menuimage.png")] = { width:210, height:50 }; + imgcache[nexacro._getImageLocation("theme://images/img_WF_Menuitem2.png")] = { width:10, height:10 }; + imgcache[nexacro._getImageLocation("theme://images/img_WF_Nexacro.png")] = { width:108, height:20 }; + imgcache[nexacro._getImageLocation("theme://images/img_WF_Popupcheck.png")] = { width:7, height:7 }; + imgcache[nexacro._getImageLocation("theme://images/img_WF_Popupcheck2.png")] = { width:7, height:7 }; + imgcache[nexacro._getImageLocation("theme://images/img_WF_Vtrackbar.png")] = { width:5, height:8 }; + imgcache[nexacro._getImageLocation("theme://images/img_WF_Vtrackbar_D.png")] = { width:5, height:8 }; + imgcache[nexacro._getImageLocation("theme://images/mnu_WF_PopItemImg.png")] = { width:8, height:7 }; + }; +} +)(); diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/theme_chrome.css b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/theme_chrome.css new file mode 100644 index 0000000..b0be076 --- /dev/null +++ b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/theme_chrome.css @@ -0,0 +1,2027 @@ + +html, body +{ + position:absolute; + width:100%; + height:100%; + font:12pt Verdana; + + -moz-user-select:none; + -webkit-user-select:none; + -ms-user-select:none; +} + +div +{ + position:absolute; + box-sizing:border-box; + overflow:hidden; + background-origin:padding-box; + background-repeat:no-repeat; + white-space : pre; + -moz-user-select:-moz-none; + -webkit-user-select:none; + -webkit-touch-callout:none; + -webkit-appearance:none; + -webkit-tap-highlight-color:rgba(0,0,0,0); + outline:none; +} + +table +{ + position:absolute; + box-sizing:border-box; + overflow:hidden; +} + +input +{ + position:absolute; + box-sizing:border-box; + overflow:hidden; +} + +img +{ + position:absolute; + box-sizing:border-box; +} + +textarea::-webkit-scrollbar { display: none; } + + +.nexacontainer +{ + position:absolute; + left:0px; + top:0px; + width:100%; + height:100%; +} +.nexacontainer.withvscroll +{ + right:14px; +} +.nexacontainer.withhscroll +{ + bottom:14px; +} +.nexacontainer.withbothscroll +{ + right:14px; + bottom:14px; +} + +.nexalefttop +{ + left:0px; + top:0px; + background-repeat:no-repeat; + background-position:left top; + font-size:1px; +} +.nexaleftbottom +{ + left:0px; + bottom:0px; + background-repeat:no-repeat; + background-position:left bottom; + font-size:1px; +} +.nexarightbottom +{ + right:0px; + bottom:0px; + background-repeat:no-repeat; + background-position:right bottom; + font-size:1px; +} +.nexarighttop +{ + right:0px; + top:0px; + background-repeat:no-repeat; + background-position:right top; +} +.nexaedge +{ + width:100%; + height:100%; +} +.nexamodaloverlay +{ + width:100%; + height:100%; +} +.nexainnercontainer +{ + +} + +.nexatransform +{ + +} + +.nexacontentsbox +{ + position:relative; + display:table-cell; + background-position:left center; + background-repeat:no-repeat; + vertical-align:middle; +} +.nexatextitem +{ + position:relative; + vertical-align:middle; + white-space:inherit; + word-wrap:inherit; + word-break:inherit; + text-decoration:inherit; +} +.nexaiconitem +{ + position:relative; + vertical-align:middle; + background-position:center center; + background-repeat:no-repeat; +} + +.nexainput +{ + font:inherit; + color:inherit; + cursor:inherit; + letter-spacing:inherit; + word-spacing:inherit; + border:none; + outline:none; + background:transparent; + padding : 0px; +} + +.nexainput:-webkit-autofill +{ + animation-name: nexainput_autofill; +} + +.nexainput:not(:-webkit-autofill) +{ + animation-name: nexainput_notautofill; +} + +@keyframes nexainput_autofill { } + +@keyframes nexainput_notautofill { } + +.nexatextarea +{ + font:inherit; + color:inherit; + cursor:inherit; + line-height : inherit; + letter-spacing:inherit; + word-spacing:inherit; + white-space:pre; + word-wrap:normal; + border:none; + outline:none; + resize:none; + background:transparent; + padding : 0px; + box-sizing:border-box; +} + +.nexaleftalign +{ + text-align:left; +} + +.nexarightalign +{ + text-align:right; +} + +.nexacenteralign +{ + text-align:center; +} + +.nexamap div * +{ + overflow:visible; +} + +.ProgressBar,.ProgressBarControl +{ + +} + +.celltreeline +{ + border : 1px dotted #999999; +} + +.Edit, .MaskEdit, .TextArea, .EditControl, .MaskEditControl, .TextAreaControl +{ + cursor:text; +} +.Button .nexacontentsbox, .ButtonControl .nexacontentsbox +{ + text-align:center; + background-position:center center; +} + +.FileDownload .nexacontentsbox, .FileDownloadControl .nexacontentsbox +{ + text-align:center; + background-position:center center; +} + +.IconTextControl .nexacontentsbox, .IconControl .nexacontentsbox +{ + text-align:center; + background-position:center center; +} + +.DatePickerDayItemControl .nexacontentsbox, .DatePickerWeekItemControl .nexacontentsbox, .TitleBarButtonControl .nexacontentsbox +{ + text-align:center; + background-position:center center; +} + +.MainFrame, .VScrollBarControl, .HScrollBarControl +{ + cursor:default; +} + +.Form +{ + font : 12px Gulim; + color : #555555; + background : #ffffff; + border : 0px none; +} +.Button +{ + background : #eaeaea; + background : linear-gradient(to top,#eaeaea,#ffffff); + border : 1px solid #c2c2c2; +} +.FileDownload +{ + background : #eaeaea; + background : linear-gradient(to top,#eaeaea,#ffffff); + border : 1px solid #c2c2c2; +} +.ButtonControl +{ + background : transparent; + border : 0px none; +} +.FileUpload .fileuploaditem .fileuploaditembutton +{ + background : #eaeaea; + background : linear-gradient(to top,#eaeaea,#ffffff); + border : 1px solid #c2c2c2; +} +.Calendar +{ + background : #ffffff; + border : 1px solid #d5d5d5; +} +.CalendarControl +{ + background : #ffffff; + border : 1px solid #d5d5d5; +} +.Combo +{ + background : #ffffff; + border : 1px solid #d5d5d5; +} +.ComboControl +{ + background : #ffffff; + border : 1px solid #d5d5d5; +} +.ListBoxControl.popupCombocombolist.dummy +{ + font : 12px Gulim; + color : #555555; + background : #ffffff; + border : 1px solid #b1b1b1; +} +.ListBoxControl.popupComboControlcombolist.dummy +{ + font : 12px Gulim; + color : #555555; + background : #ffffff; + border : 1px solid #b1b1b1; +} +.Edit +{ + background : #ffffff; + border : 1px solid #d5d5d5; +} +.Edit .nexainput +{ + padding : 1px 9px 0px 9px; +} +.FileUpload .fileuploaditem .fileuploaditemedit +{ + background : #ffffff; + border : 1px solid #d5d5d5; +} +.FileUpload .fileuploaditem .fileuploaditemedit .nexainput +{ + padding : 1px 9px 0px 9px; +} +.EditControl +{ + background : transparent; + border : 0px none; +} +.EditControl .nexainput +{ + padding : 1px 9px 0px 9px; +} +.Grid +{ + background : #ffffff; + border-top : 2px solid #125dae; + border-right : 1px solid #b7b1b2; + border-bottom : 1px solid #b7b1b2; + border-left : 1px solid #b7b1b2; +} +.Grid .head .row .cell +{ + font : bold 12px Gulim; + color : #2f2f2f; + background : #eff0f0; + background : linear-gradient(to top, #eff0f0, #f9fafa); + border : 1px solid #cacaca; +} +.Grid .head .row .cell > .nexacontentsbox +{ + text-align : center; + background-position-x : center; +} +.Grid .body .row .cell +{ + color : #666666; + border : 1px solid #dbdee2; +} +.Grid .body .row .cell .subcell +{ + color : #666666; + border : 1px solid #dbdee2; +} +.Grid .body .selection +{ + border : 2px solid #125dae; +} +.Grid .summary +{ + border-top : 1px solid #c8c1c2; + border-right : 0px none; + border-bottom : 0px none; + border-left : 0px none; +} +.Grid .summary .row .cell +{ + font : bold 12px Gulim; + color : #333333; + background : #fdfbe5; + border : 1px solid #c8c1c2; +} +.Grid .summary .row .cell > .nexacontentsbox +{ + text-align : center; + background-position-x : center; +} +.Grid .hscrollbar +{ + border-top : 1px solid #b1b1b1; + border-right : 0px none; + border-bottom : 0px none; + border-left : 0px none; +} +.Grid .vscrollbar +{ + border-top : 0px none; + border-right : 0px none; + border-bottom : 0px none; + border-left : 1px solid #b1b1b1; +} +.GridCellControl .cellbutton +{ + font : 12px Gulim; + color : #555555; + background : #eaeaea; + background : linear-gradient(to top,#eaeaea,#ffffff); + border : 1px solid #c2c2c2; +} +.GridCellControl .cellcalendar +{ + font : 12px Gulim; +} +.GridCellControl .cellcheckbox +{ + font : 12px Gulim; +} +.GridCellControl .cellcombo +{ + font : 12px Gulim; +} +.ListBoxControl.popupGridCellControlcellcombocombolist.dummy.dummy +{ + font : 12px Gulim; + color : #555555; +} +.GridCellControl .celledit +{ + font : 12px Gulim; + background : #ffffff; + border : 1px solid #d5d5d5; +} +.GridCellControl .celledit .nexainput +{ + padding : 1px 9px 0px 9px; +} +.GridCellControl .cellmaskedit +{ + font : 12px Gulim; + background : #ffffff; + border : 1px solid #d5d5d5; +} +.GridCellControl .cellmaskedit .nexainput +{ + padding : 1px 9px 0px 9px; +} +.GridCellControl .cellprogressbar +{ + font : 12px Gulim; +} +.GridCellControl .celltextarea +{ + font : 12px Gulim; +} +.GridCellControl .celltreeitem .treeitemtext +{ + font : 12px Gulim; + color : #666666; +} +.GridCellControl .celltreeline +{ + border : 1px dotted #909090; +} +.GroupBox .groupboxcontents +{ + background : #ffffff; + border : 1px solid #d6d4d5; +} +.GroupBox .groupboxtitle +{ + background : #ffffff; +} +.ImageViewer +{ + background : #ffffff; + border : 1px solid #d5d5d5; +} +.ImageViewer .imagetext .nexacontentsbox +{ + text-align : center; + background-position-x : center; +} +.ListBox +{ + background : #ffffff; + border : 1px solid #d5d5d5; +} +.ListBoxControl +{ + background : #ffffff; + border : 1px solid #d5d5d5; +} +.ListBox .listboxitem +{ + color : #555555; +} +.ListBoxControl .listboxitem +{ + color : #555555; +} +.MaskEdit +{ + background : #ffffff; + border : 1px solid #d5d5d5; +} +.MaskEdit .nexainput +{ + padding : 1px 9px 0px 9px; +} +.MaskEditControl +{ + background : transparent; + border : 0px none; +} +.MaskEditControl .nexainput +{ + padding : 1px 9px 0px 9px; +} +.Menu +{ + background : #1059a8; + background : linear-gradient(to top, #1059a8, #125dae); +} +.Menu .menuitem +{ + font : bold 13px Gulim; + color : #ffffff; +} +.PopupMenuControl.popupMenumenupopupmenu.dummy +{ + font : 12px Gulim; + color : #555555; + background : #0753a5; + border : 1px solid #034389; +} +.PopupMenuControl.popupMenumenupopupmenu.dummy .popupmenuitem +{ + color : #c3e0ff; + border-top : 0px none; + border-right : 0px none; + border-bottom : 1px solid #2065ae; + border-left : 0px none; +} +.PopupMenuControl.popupMenumenupopupmenu.dummy .popupmenuitem .popupmenuitemtext +{ + color : #c3e0ff; +} +.PopupMenuControl.popupMenumenupopupmenu.dummy .popupmenuitem .popupmenuitemhotkeytext +{ + color : #6d95cc; +} +.PopupMenuControl.popupMenumenupopupmenu.dummy .popupmenuitem .popupmenuitemhotkeytext .nexacontentsbox +{ + text-align : right; + background-position-x : right; +} +.Plugin +{ + border : 1px solid #d5d5d5; +} +.PluginControl +{ + border : 1px solid #d5d5d5; +} +.PopupMenu +{ + font : 12px Gulim; + color : #555555; + background : #ffffff; + border : 1px solid #b5b5b5; +} +.PopupMenuControl +{ + font : 12px Gulim; + color : #555555; + background : #ffffff; + border : 1px solid #b5b5b5; +} +.PopupMenu .popupmenuitem +{ + color : #555555; +} +.PopupMenuControl .popupmenuitem +{ + color : #555555; +} +.PopupMenu .popupmenuitem .popupmenuitemcheckbox +{ + background : URL('./images/chk_WF_Box_F.png') no-repeat left center; +} +.PopupMenuControl .popupmenuitem .popupmenuitemcheckbox +{ + background : URL('./images/chk_WF_Box_F.png') no-repeat left center; +} +.PopupMenu .popupmenuitem .popupmenuitemhotkeytext +{ + color : #aaaaaa; +} +.PopupMenu .popupmenuitem .popupmenuitemhotkeytext .nexacontentsbox +{ + text-align : right; + background-position-x : right; +} +.PopupMenuControl .popupmenuitem .popupmenuitemhotkeytext +{ + color : #aaaaaa; +} +.PopupMenuControl .popupmenuitem .popupmenuitemhotkeytext .nexacontentsbox +{ + text-align : right; + background-position-x : right; +} +.ProgressBar +{ + background : #f0f0f0; + background : linear-gradient(to top, #f0f0f0, #e7e7e7); + border-top : 1px solid #aeaeae; + border-right : 1px solid #d2d0d1; + border-bottom : 1px solid #d2d0d1; + border-left : 1px solid #d2d0d1; +} +.ProgressBarControl +{ + background : #f0f0f0; + background : linear-gradient(to top, #f0f0f0, #e7e7e7); + border-top : 1px solid #aeaeae; + border-right : 1px solid #d2d0d1; + border-bottom : 1px solid #d2d0d1; + border-left : 1px solid #d2d0d1; +} +.ProgressBar .progressbaritem +{ + background : #125dae; +} +.ProgressBarControl .progressbaritem +{ + background : #125dae; +} +.ProgressBar .progressbartext +{ + color : #ffffff; +} +.ProgressBar .progressbartext .nexacontentsbox +{ + text-align : center; + background-position-x : center; +} +.ProgressBarControl .progressbartext +{ + color : #ffffff; +} +.ProgressBarControl .progressbartext .nexacontentsbox +{ + text-align : center; + background-position-x : center; +} +.Sketch +{ + background : #ffffff; + border : 1px solid #d5d5d5; +} +.Spin +{ + background : #ffffff; + border : 1px solid #d5d5d5; +} +.Spin .spinedit .nexainput +{ + padding : 0px 3px 0px 3px; + text-align : right; +} +.Spin .spinedit .nexacontentsbox +{ + text-align : right; + background-position-x : right; +} +.TextArea +{ + background : #ffffff; + border : 1px solid #d5d5d5; +} +.TextArea .nexatextarea +{ + padding : 9px 9px 9px 9px; +} +.TextAreaControl +{ + background : #ffffff; + border : 1px solid #d5d5d5; +} +.TextAreaControl .nexatextarea +{ + padding : 9px 9px 9px 9px; +} +.WebBrowser +{ + border : 1px solid #d5d5d5; +} +.WebBrowserControl +{ + border : 1px solid #d5d5d5; +} +.Tab .tabpageTab +{ + border-top : 1px solid #cfcfcf; + border-right : 0px none; + border-bottom : 0px none; + border-left : 0px none; +} +.Tab .tabbuttonitemTab +{ + color : #333333; + background : #fcfcfc; + background : linear-gradient(to top, #fcfcfc, #fafafa); + border : 1px solid #c7c7c7; +} +.DatePickerControl +{ + background : #ffffff; +} +.DatePickerControl .head +{ + background : #125dae; +} +.DatePickerControl .head .yearstatic +{ + font : bold 14px Tahoma; + color : #ffffff; +} +.DatePickerControl .head .monthstatic +{ + font : bold 14px Tahoma; + color : #ffffff; +} +.DatePickerControl .head .yearspin .spinedit +{ + font : bold 14px Tahoma; + color : #ffffff; + background : #0042a0; +} +.DatePickerControl .head .monthspin .spinedit +{ + font : bold 14px Tahoma; + color : #ffffff; + background : #0042a0; +} +.DatePickerControl .body +{ + border-top : 1px solid #125dae; + border-right : 1px solid #697888; + border-bottom : 1px solid #697888; + border-left : 1px solid #697888; +} +.DatePickerControl .body .weekband +{ + background : #125dae; +} +.DatePickerControl .body .weekitem +{ + color : #ffffff; +} +.DatePickerControl .body .dayitem +{ + color : #333333; +} +.VScrollBarControl +{ + background : #ffffff; + background : linear-gradient(to left,#ffffff,#f7f7f7); + border : 1px solid #b1b1b1; +} +.HScrollBarControl +{ + background : #ffffff; + background : linear-gradient(to top,#ffffff,#f7f7f7); + border : 1px solid #b1b1b1; +} +.VScrollBarControl .trackbar +{ + background : #dddddd; + border : 1px solid #c8c8c8; +} +.HScrollBarControl .trackbar +{ + background : #dddddd; + border : 1px solid #c8c8c8; +} +.VScrollIndicatorControl +{ + background : #f2f2f2; +} +.HScrollIndicatorControl +{ + background : #f2f2f2; +} +.VScrollIndicatorControl .trackbar +{ + background : #cccccc; + border : 2px solid transparent; +} +.HScrollIndicatorControl .trackbar +{ + background : #cccccc; + border : 2px solid transparent; +} +.StatusBarControl +{ + background : #e7e7e7; +} +.StatusBarControl .progressbar +{ + background : #eaeaea; + border-top : 1px solid #afaeae; + border-right : 1px solid #d2d0d0; + border-bottom : 1px solid #d2d0d0; + border-left : 1px solid #d2d0d0; +} +.StatusBarControl .progressbar .progressbaritem +{ + background : #4ca0e2; +} +.StatusBarControl .resizegrip .nexacontentsbox +{ + vertical-align : bottom; + background-position-y : bottom; +} +.TitleBarControl +{ + font : bold 12px Gulim; + color : #ffffff; + background : #003284; +} +.ListView +{ + border : 1px solid #d5d5d5; + background : #ebecee; + color : #666666; +} +.ListView .body +{ + border-top : 0px none; + border-right : 0px none; + border-bottom : 1px solid #dbdee2; + border-left : 0px none; + background : #ffffff; + font : 12px Gulim; +} +.ListView .detail +{ + border-top : 0px none; + border-right : 0px none; + border-bottom : 1px solid #dbdee2; + border-left : 0px none; + background : #f9f9f9; + font : 12px Gulim; +} +.ListViewBandControl.popupListViewdetail +{ + border-top : 0px none; + border-right : 0px none; + border-bottom : 1px solid #dbdee2; + border-left : 0px none; + background : #f9f9f9; + font : 12px Gulim; +} +.ListView .body .cell +{ + border : 1px solid #dbdee2; +} +.ListView .detail .cell +{ + border : 1px solid #dbdee2; +} +.ListViewBandControl.popupListViewdetail .cell +{ + border : 1px solid #dbdee2; +} +.ListViewCellControl .cellbutton +{ + font : 12px Gulim; + color : #555555; + background : #eaeaea; + background : linear-gradient(to top,#eaeaea,#ffffff); + border : 1px solid #c2c2c2; +} +.ListViewCellControl .cellcalendar +{ + font : 12px Gulim; +} +.ListViewCellControl .cellcheckbox +{ + font : 12px Gulim; +} +.ListViewCellControl .cellcombo +{ + font : 12px Gulim; +} +.ListBoxControl.popupListViewCellControlcellcombocombolist.dummy.dummy +{ + font : 12px Gulim; + color : #555555; +} +.ListViewCellControl .celledit +{ + font : 12px Gulim; + background : #ffffff; + border : 1px solid #d5d5d5; +} +.ListViewCellControl .celledit .nexainput +{ + padding : 1px 9px 0px 9px; +} +.ListViewCellControl .cellmaskedit +{ + font : 12px Gulim; + background : #ffffff; + border : 1px solid #d5d5d5; +} +.ListViewCellControl .cellmaskedit .nexainput +{ + padding : 1px 9px 0px 9px; +} +.ListViewCellControl .cellprogressbar +{ + font : 12px Gulim; +} +.ListViewCellControl .celltextarea +{ + font : 12px Gulim; +} +.ListView .body .expandbar +{ + background : #eaeaea; + background : linear-gradient(to top,#eaeaea,#ffffff); + border : 1px solid #c2c2c2; +} +#nexacontainer .Button[status=mouseover] +{ + background : #e7e7e7; + background : linear-gradient(to top,#e7e7e7,#fefefe); + border : 1px solid #a0a0a0; +} +#nexacontainer .Button[status=focused] +{ + background : #e7e7e7; + background : linear-gradient(to top,#e7e7e7,#fefefe); + border : 1px solid #a0a0a0; +} +#nexacontainer .FileDownload[status=mouseover] +{ + background : #e7e7e7; + background : linear-gradient(to top,#e7e7e7,#fefefe); + border : 1px solid #a0a0a0; +} +#nexacontainer .FileDownload[status=focused] +{ + background : #e7e7e7; + background : linear-gradient(to top,#e7e7e7,#fefefe); + border : 1px solid #a0a0a0; +} +#nexacontainer .FileUpload .fileuploaditem .fileuploaditembutton[status=mouseover] +{ + background : #e7e7e7; + background : linear-gradient(to top,#e7e7e7,#fefefe); + border : 1px solid #a0a0a0; +} +#nexacontainer .FileUpload .fileuploaditem .fileuploaditembutton[status=focused] +{ + background : #e7e7e7; + background : linear-gradient(to top,#e7e7e7,#fefefe); + border : 1px solid #a0a0a0; +} +#nexacontainer .Calendar[status=mouseover] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .CalendarControl[status=mouseover] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .Calendar[status=focused] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .CalendarControl[status=focused] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .Calendar[status=readonly] +{ + background : #efefef; +} +#nexacontainer .CalendarControl[status=readonly] +{ + background : #efefef; +} +#nexacontainer .Combo[status=mouseover] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .Combo[status=focused] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .ComboControl[status=mouseover] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .ComboControl[status=focused] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .Combo[status=readonly] +{ + background : #efefef; +} +#nexacontainer .ComboControl[status=readonly] +{ + background : #efefef; +} +#nexacontainer .Edit[status=mouseover] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .Edit[status=focused] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .FileUpload .fileuploaditem .fileuploaditemedit[status=mouseover] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .FileUpload .fileuploaditem .fileuploaditemedit[status=focused] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .Edit[status=readonly] +{ + background : #efefef; +} +#nexacontainer .Grid .body .row .cell[status=mouseover] +{ + background : #f6f6f6; +} +#nexacontainer .Grid .body .row .cell .subcell[status=mouseover] +{ + background : #f6f6f6; +} +#nexacontainer .GridCellControl .cellbutton[status=mouseover] +{ + background : #e7e7e7; + background : linear-gradient(to top,#e7e7e7,#fefefe); + border : 1px solid #a0a0a0; +} +#nexacontainer .GridCellControl .cellbutton[status=focused] +{ + background : #e7e7e7; + background : linear-gradient(to top,#e7e7e7,#fefefe); + border : 1px solid #a0a0a0; +} +#nexacontainer .ListBoxControl.popupGridCellControlcellcombocombolist.dummy.dummy .listboxitem[status=mouseover] +{ + background : #e8e9ed; +} +#nexacontainer .GridCellControl .celledit[status=mouseover] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .GridCellControl .celledit[status=focused] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .GridCellControl .cellmaskedit[status=mouseover] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .GridCellControl .cellmaskedit[status=focused] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .ListBox[status=mouseover] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .ListBox[status=focused] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .ListBoxControl[status=mouseover] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .ListBoxControl[status=focused] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .ListBox .listboxitem[status=mouseover] +{ + background : #e7e9ed; +} +#nexacontainer .ListBoxControl .listboxitem[status=mouseover] +{ + background : #e7e9ed; +} +#nexacontainer .MaskEdit[status=mouseover] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .MaskEdit[status=focused] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .MaskEdit[status=readonly] +{ + background : #efefef; +} +#nexacontainer .Menu .menuitem[status=mouseover] +{ + background : URL('./images/img_WF_Menu_O.png') no-repeat center top; +} +#nexacontainer .PopupMenuControl.popupMenumenupopupmenu.dummy .popupmenuitem[status=mouseover] +{ + color : #ffffff; + background : transparent; +} +#nexacontainer .PopupMenuControl.popupMenumenupopupmenu.dummy .popupmenuitem[status=focused] +{ + color : #ffffff; + background : transparent; +} +#nexacontainer .PopupMenuControl.popupMenumenupopupmenu.dummy .popupmenuitem .popupmenuitemtext[status=mouseover] +{ + color : #ffffff; +} +#nexacontainer .PopupMenuControl.popupMenumenupopupmenu.dummy .popupmenuitem .popupmenuitemhotkeytext[status=mouseover] +{ + color : #ffffff; +} +#nexacontainer .PopupMenu .popupmenuitem[status=mouseover] +{ + background : #e7e9ed; +} +#nexacontainer .PopupMenu .popupmenuitem[status=focused] +{ + background : #e7e9ed; +} +#nexacontainer .PopupMenuControl .popupmenuitem[status=mouseover] +{ + background : #e7e9ed; +} +#nexacontainer .PopupMenuControl .popupmenuitem[status=focused] +{ + background : #e7e9ed; +} +#nexacontainer .PopupMenu .popupmenuitem .popupmenuitemcheckbox[status=mouseover] +{ + background : URL('./images/chk_WF_Box_F.png') no-repeat left center; +} +#nexacontainer .PopupMenuControl .popupmenuitem .popupmenuitemcheckbox[status=mouseover] +{ + background : URL('./images/chk_WF_Box_F.png') no-repeat left center; +} +#nexacontainer .Spin[status=mouseover] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .Spin[status=focused] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .Spin[status=readonly] +{ + background : #efefef; +} +#nexacontainer .TextArea[status=mouseover] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .TextArea[status=focused] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .TextAreaControl[status=mouseover] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .TextAreaControl[status=focused] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .TextArea[status=readonly] +{ + background : #efefef; + border : 1px solid #d5d5d5; +} +#nexacontainer .TextAreaControl[status=readonly] +{ + background : #efefef; + border : 1px solid #d5d5d5; +} +#nexacontainer .Tab .tabbuttonitemTab[status=mouseover] +{ + border : 1px solid #b1b1b1; + background : #dddcdc; + background : linear-gradient(to top, #dddcdc, #fefefe); +} +#nexacontainer .Tab .tabbuttonitemTab[status=focused] +{ + color : #dee4ef; +} +#nexacontainer .DatePickerControl .body .dayitem[status=mouseover] +{ + color : #ffffff; + background : #8da3c7; +} +#nexacontainer .DatePickerControl .body .dayitem[status=focused] +{ + color : #ffffff; + background : #125dae; +} +#nexacontainer .VScrollBarControl .trackbar[status=focused] +{ + background : #999999; + border : 1px solid #888888; +} +#nexacontainer .HScrollBarControl .trackbar[status=focused] +{ + background : #999999; + border : 1px solid #888888; +} +#nexacontainer .VScrollBarControl .trackbar[status=mouseover] +{ + background : #bbbbbb; + border : 1px solid #a8a8a8; +} +#nexacontainer .HScrollBarControl .trackbar[status=mouseover] +{ + background : #bbbbbb; + border : 1px solid #a8a8a8; +} +#nexacontainer .VScrollIndicatorControl .trackbar[status=mouseover] +{ + background : #999999; +} +#nexacontainer .HScrollIndicatorControl .trackbar[status=mouseover] +{ + background : #999999; +} +#nexacontainer .ListView[status=readonly] +{ + border : 1px solid #d5d5d5; + background : #ebecee; + color : #666666; +} +#nexacontainer .ListView[status=mouseover] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .ListView[status=focused] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .ListView .body[status=readonly] +{ + border-top : 0px none; + border-right : 0px none; + border-bottom : 1px solid #dbdee2; + border-left : 0px none; + background : #ffffff; + font : 12px Gulim; +} +#nexacontainer .ListView .detail[status=readonly] +{ + border-top : 0px none; + border-right : 0px none; + border-bottom : 1px solid #dbdee2; + border-left : 0px none; + background : #ffffff; + font : 12px Gulim; +} +#nexacontainer .ListViewBandControl.popupListViewdetail[status=readonly] +{ + border-top : 0px none; + border-right : 0px none; + border-bottom : 1px solid #dbdee2; + border-left : 0px none; + background : #ffffff; + font : 12px Gulim; +} +#nexacontainer .ListView .body[status=focused] +{ + border-top : 0px none; + border-right : 0px none; + border-bottom : 1px solid #dbdee2; + border-left : 0px none; + background : #ffffff; + font : 12px Gulim; +} +#nexacontainer .ListView .detail[status=focused] +{ + border-top : 0px none; + border-right : 0px none; + border-bottom : 1px solid #dbdee2; + border-left : 0px none; + background : #ffffff; + font : 12px Gulim; +} +#nexacontainer .ListViewBandControl.popupListViewdetail[status=focused] +{ + border-top : 0px none; + border-right : 0px none; + border-bottom : 1px solid #dbdee2; + border-left : 0px none; + background : #ffffff; + font : 12px Gulim; +} +#nexacontainer .ListView .body[status=mouseover] +{ + border-top : 0px none; + border-right : 0px none; + border-bottom : 1px solid #dbdee2; + border-left : 0px none; + background : #ffffff; + font : 12px Gulim; +} +#nexacontainer .ListView .detail[status=mouseover] +{ + border-top : 0px none; + border-right : 0px none; + border-bottom : 1px solid #dbdee2; + border-left : 0px none; + background : #ffffff; + font : 12px Gulim; +} +#nexacontainer .ListViewBandControl.popupListViewdetail[status=mouseover] +{ + border-top : 0px none; + border-right : 0px none; + border-bottom : 1px solid #dbdee2; + border-left : 0px none; + background : #ffffff; + font : 12px Gulim; +} +#nexacontainer .ListView .body .cell[status=readonly] +{ + border : 1px solid #dbdee2; +} +#nexacontainer .ListView .detail .cell[status=readonly] +{ + border : 1px solid #dbdee2; +} +#nexacontainer .ListViewBandControl.popupListViewdetail .cell[status=readonly] +{ + border : 1px solid #dbdee2; +} +#nexacontainer .ListView .body .cell[status=focused] +{ + border : 1px solid #dbdee2; +} +#nexacontainer .ListView .detail .cell[status=focused] +{ + border : 1px solid #dbdee2; +} +#nexacontainer .ListViewBandControl.popupListViewdetail .cell[status=focused] +{ + border : 1px solid #dbdee2; +} +#nexacontainer .ListView .body .cell[status=mouseover] +{ + border : 1px solid #c4c9cf; +} +#nexacontainer .ListView .detail .cell[status=mouseover] +{ + border : 1px solid #c4c9cf; +} +#nexacontainer .ListViewBandControl.popupListViewdetail .cell[status=mouseover] +{ + border : 1px solid #c4c9cf; +} +#nexacontainer .ListViewCellControl .cellbutton[status=mouseover] +{ + background : #e7e7e7; + background : linear-gradient(to top,#e7e7e7,#fefefe); + border : 1px solid #a0a0a0; +} +#nexacontainer .ListViewCellControl .cellbutton[status=focused] +{ + background : #e7e7e7; + background : linear-gradient(to top,#e7e7e7,#fefefe); + border : 1px solid #a0a0a0; +} +#nexacontainer .ListBoxControl.popupListViewCellControlcellcombocombolist.dummy.dummy .listboxitem[status=mouseover] +{ + background : #e8e9ed; +} +#nexacontainer .ListViewCellControl .celledit[status=mouseover] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .ListViewCellControl .celledit[status=focused] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .ListViewCellControl .cellmaskedit[status=mouseover] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .ListViewCellControl .cellmaskedit[status=focused] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .ListView .body .expandbar[status=mouseover] +{ + background : #e7e7e7; + background : linear-gradient(to top,#e7e7e7,#fefefe); + border : 1px solid #a0a0a0; +} +#nexacontainer .ListView .body .expandbar[status=focused] +{ + background : #e7e7e7; + background : linear-gradient(to top,#e7e7e7,#fefefe); + border : 1px solid #a0a0a0; +} +#nexacontainer .Form[userstatus=contents] +{ + background : transparent; +} +#nexacontainer .Button[userstatus=pushed] +{ + background : #fefefe; + background : linear-gradient(to top,#fefefe,#e9e9e9); +} +#nexacontainer .Button[userstatus=selected] +{ + background : #fefefe; + background : linear-gradient(to top,#fefefe,#e9e9e9); +} +#nexacontainer .FileDownload[userstatus=pushed] +{ + background : #fefefe; + background : linear-gradient(to top,#fefefe,#e9e9e9); +} +#nexacontainer .FileUpload .fileuploaditem .fileuploaditembutton[userstatus=pushed] +{ + background : #fefefe; + background : linear-gradient(to top,#fefefe,#e9e9e9); +} +#nexacontainer .FileUpload .fileuploaditem .fileuploaditembutton[userstatus=selected] +{ + background : #fefefe; + background : linear-gradient(to top,#fefefe,#e9e9e9); +} +#nexacontainer .Edit[userstatus=nulltext] +{ + color : #999999; +} +#nexacontainer .EditControl[userstatus=nulltext] +{ + color : #999999; +} +#nexacontainer .MaskEdit[userstatus=nulltext] +{ + color : #999999; +} +#nexacontainer .MaskEditControl[userstatus=nulltext] +{ + color : #999999; +} +#nexacontainer .TextArea[userstatus=nulltext] +{ + color : #999999; +} +#nexacontainer .TextAreaControl[userstatus=nulltext] +{ + color : #999999; +} +#nexacontainer .Calendar[userstatus=invalidtext] +{ + color : #999999; +} +#nexacontainer .CalendarControl[userstatus=invalidtext] +{ + color : #999999; +} +#nexacontainer .MaskEdit[userstatus=invalidtext] +{ + color : #999999; +} +#nexacontainer .MaskEditControl[userstatus=invalidtext] +{ + color : #999999; +} +#nexacontainer .Spin[userstatus=invalidtext] +{ + color : #999999; +} +#nexacontainer .SpinControl[userstatus=invalidtext] +{ + color : #999999; +} +#nexacontainer .Grid .body .row .cell[userstatus=selected] +{ + background : #f2f9ff; +} +#nexacontainer .Grid .body .row .cell .subcell[userstatus=selected] +{ + background : #f2f9ff; +} +#nexacontainer .Grid .body .row .cell .subcell[userstatus=blinked] +{ + background : #125dae; + color : #ffffff; +} +#nexacontainer .GridCellControl .cellbutton[userstatus=pushed] +{ + background : #fefefe; + background : linear-gradient(to top,#fefefe,#e9e9e9); +} +#nexacontainer .GridCellControl .cellbutton[userstatus=selected] +{ + background : #fefefe; + background : linear-gradient(to top,#fefefe,#e9e9e9); +} +#nexacontainer .Grid .body .row .cell[userstatus=blinked] +{ + background : #125dae; + color : #ffffff; +} +#nexacontainer .ListBox .listboxitem[userstatus=selected] +{ + color : #ffffff; + background : #125dae; +} +#nexacontainer .ListBoxControl .listboxitem[userstatus=selected] +{ + color : #ffffff; + background : #125dae; +} +#nexacontainer .Menu .menuitem[userstatus=selected] +{ + background : URL('./images/img_WF_Menu_O.png') no-repeat center top; +} +#nexacontainer .PopupMenuControl.popupMenumenupopupmenu.dummy .popupmenuitem[userstatus=selected] +{ + color : #ffffff; + background : transparent; +} +#nexacontainer .PopupMenu .popupmenuitem[userstatus=selected] +{ + color : #ffffff; + background : #125dae; +} +#nexacontainer .PopupMenuControl .popupmenuitem[userstatus=selected] +{ + color : #ffffff; + background : #125dae; +} +#nexacontainer .Tab .tabbuttonitemTab[userstatus=selected] +{ + color : #dee4ef; + background : #1055a1; + border : 1px solid #1055a1; +} +#nexacontainer .DatePickerControl .body .weekitem[userstatus=saturday] +{ + color : #48afff; +} +#nexacontainer .DatePickerControl .body .weekitem[userstatus=sunday] +{ + color : #ff7986; +} +#nexacontainer .DatePickerControl .body .dayitem[userstatus=selected] +{ + color : #ffffff; + background : #125dae; +} +#nexacontainer .DatePickerControl .body .dayitem[userstatus=today] +{ + color : #ffffff; + background : #e7595c; +} +#nexacontainer .DatePickerControl .body .dayitem[userstatus=saturday] +{ + color : #269bee; +} +#nexacontainer .DatePickerControl .body .dayitem[userstatus=sunday] +{ + color : #ff4c5e; +} +#nexacontainer .DatePickerControl .body .dayitem[userstatus=trailingday] +{ + color : #989898; +} +#nexacontainer .VScrollBarControl .trackbar[userstatus=pushed] +{ + background : #999999; + border : 1px solid #888888; +} +#nexacontainer .VScrollBarControl .trackbar[userstatus=selected] +{ + background : #999999; + border : 1px solid #888888; +} +#nexacontainer .HScrollBarControl .trackbar[userstatus=pushed] +{ + background : #999999; + border : 1px solid #888888; +} +#nexacontainer .HScrollBarControl .trackbar[userstatus=selected] +{ + background : #999999; + border : 1px solid #888888; +} +#nexacontainer .VScrollIndicatorControl .trackbar[userstatus=pushed] +{ + background : #606060; +} +#nexacontainer .HScrollIndicatorControl .trackbar[userstatus=pushed] +{ + background : #606060; +} +#nexacontainer .ListView .body[userstatus=selected] +{ + background : #f2f9ff; +} +#nexacontainer .ListView .detail[userstatus=selected] +{ + background : #ebf3f9; +} +#nexacontainer .ListViewBandControl.popupListViewdetail[userstatus=selected] +{ + background : #ebf3f9; +} +#nexacontainer .ListViewCellControl .cellbutton[userstatus=pushed] +{ + background : #fefefe; + background : linear-gradient(to top,#fefefe,#e9e9e9); +} +#nexacontainer .ListView .body .expandbar[userstatus=pushed] +{ + background : #fefefe; + background : linear-gradient(to top,#fefefe,#e9e9e9); +} +#nexacontainer .ListView .body .expandbar[userstatus=selected] +{ + background : #fefefe; + background : linear-gradient(to top,#fefefe,#e9e9e9); +} +#nexacontainer .Form[status=disabled] +{ + color : #999999; +} +#nexacontainer .FileUpload .fileuploaditem[status=disabled] +{ + color : #999999; +} +#nexacontainer .Button[status=disabled] +{ + color : #bbbbbb; + background : #f5f5f5; + border : 1px solid #d9d9d9; +} +#nexacontainer .FileDownload[status=disabled] +{ + color : #bbbbbb; + background : #f5f5f5; + border : 1px solid #d9d9d9; +} +#nexacontainer .FileUpload .fileuploaditem .fileuploaditembutton[status=disabled] +{ + color : #bbbbbb; + background : #f5f5f5; + border : 1px solid #d9d9d9; +} +#nexacontainer .Calendar[status=disabled] +{ + color : #999999; + background : #efefef; +} +#nexacontainer .CalendarControl[status=disabled] +{ + color : #999999; + background : #efefef; +} +#nexacontainer .CheckBox[status=disabled] +{ + color : #999999; +} +#nexacontainer .CheckBoxControl[status=disabled] +{ + color : #999999; +} +#nexacontainer .Combo[status=disabled] +{ + color : #999999; + background : #efefef; +} +#nexacontainer .ComboControl[status=disabled] +{ + color : #999999; + background : #efefef; +} +#nexacontainer .Combo .dropbutton[status=disabled] +{ + opacity : 0.50; +} +#nexacontainer .ComboControl .dropbutton[status=disabled] +{ + opacity : 0.50; +} +#nexacontainer .Edit[status=disabled] +{ + color : #999999; + background : #efefef; +} +#nexacontainer .FileUpload .fileuploaditem .fileuploaditemedit[status=disabled] +{ + color : #999999; + background : #efefef; +} +#nexacontainer .Grid .head .row .cell[status=disabled] +{ + color : #999999; +} +#nexacontainer .Grid .body .row .cell[status=disabled] +{ + color : #999999; +} +#nexacontainer .Grid .body .row .cell .subcell[status=disabled] +{ + color : #999999; +} +#nexacontainer .GridCellControl .cellbutton[status=disabled] +{ + color : #bbbbbb; + background : #f5f5f5; + border : 1px solid #d9d9d9; +} +#nexacontainer .GridCellControl .celledit[status=disabled] +{ + color : #999999; + background : #efefef; +} +#nexacontainer .GridCellControl .cellmaskedit[status=disabled] +{ + color : #999999; + background : #efefef; +} +#nexacontainer .GridCellControl .celltreeitem .treeitemtext[status=disabled] +{ + color : #999999; +} +#nexacontainer .GroupBox .groupboxcontents[status=disabled] +{ + background : #efefef; +} +#nexacontainer .GroupBox .groupboxtitle[status=disabled] +{ + color : #999999; + background : #efefef; +} +#nexacontainer .ImageViewer[status=disabled] +{ + background : #f2f2f2; +} +#nexacontainer .ImageViewer .imagetext[status=disabled] +{ + color : #999999; +} +#nexacontainer .ListBox[status=disabled] +{ + background : #efefef; +} +#nexacontainer .ListBoxControl[status=disabled] +{ + background : #efefef; +} +#nexacontainer .ListBox .listboxitem[status=disabled] +{ + opacity : 0.50; +} +#nexacontainer .ListBoxControl .listboxitem[status=disabled] +{ + opacity : 0.50; +} +#nexacontainer .MaskEdit[status=disabled] +{ + color : #999999; + background : #f2f2f2; +} +#nexacontainer .Menu[status=disabled] +{ + background : #94a9bf; +} +#nexacontainer .Menu .menuitem[status=disabled] +{ + color : #c7d4e2; +} +#nexacontainer .PopupMenuControl.popupMenumenupopupmenu.dummy .popupmenuitem[status=disabled] +{ + color : #2665af; +} +#nexacontainer .PopupMenuControl.popupMenumenupopupmenu.dummy .popupmenuitem .popupmenuitemtext[status=disabled] +{ + color : #2665af; +} +#nexacontainer .PopupMenuControl.popupMenumenupopupmenu.dummy .popupmenuitem .popupmenuitemhotkeytext[status=disabled] +{ + color : #4577b9; +} +#nexacontainer .PopupMenu .popupmenuitem[status=disabled] +{ + color : #999999; +} +#nexacontainer .PopupMenuControl .popupmenuitem[status=disabled] +{ + color : #999999; +} +#nexacontainer .PopupMenu .popupmenuitem .popupmenuitemcheckbox[status=disabled] +{ + background : URL('./images/chk_WF_Box_D.png') no-repeat left center; +} +#nexacontainer .PopupMenuControl .popupmenuitem .popupmenuitemcheckbox[status=disabled] +{ + background : URL('./images/chk_WF_Box_D.png') no-repeat left center; +} +#nexacontainer .PopupMenu .popupmenuitem .popupmenuitemhotkeytext[status=disabled] +{ + color : #4577b9; +} +#nexacontainer .PopupMenuControl .popupmenuitem .popupmenuitemhotkeytext[status=disabled] +{ + color : #4577b9; +} +#nexacontainer .ProgressBar .progressbaritem[status=disabled] +{ + background : #b5b5b5; +} +#nexacontainer .ProgressBarControl .progressbaritem[status=disabled] +{ + background : #b5b5b5; +} +#nexacontainer .Sketch[status=disabled] +{ + background : #efefef; +} +#nexacontainer .Spin[status=disabled] +{ + color : #999999; + background : #efefef; +} +#nexacontainer .Spin .spinedit[status=disabled] .nexainput +{ + padding : 1px 2px 0px 9px; +} +#nexacontainer .Static[status=disabled] +{ + color : #999999; +} +#nexacontainer .StaticControl[status=disabled] +{ + color : #999999; +} +#nexacontainer .TextArea[status=disabled] +{ + color : #999999; + background : #efefef; +} +#nexacontainer .TextAreaControl[status=disabled] +{ + color : #999999; + background : #efefef; +} +#nexacontainer .Tab .tabbuttonitemTab[status=disabled] +{ + color : #ababab; + background : #e7e7e7; +} +#nexacontainer .Tab .tabbuttonitemTab .tabbuttonitemtext[status=disabled] +{ + color : #c8c8c8; +} +#nexacontainer .DatePickerControl .head[status=disabled] +{ + background : #94a9bf; + color : #cdcdcd; +} +#nexacontainer .DatePickerControl .head .yearstatic[status=disabled] +{ + color : #c7d4e2; +} +#nexacontainer .DatePickerControl .head .monthstatic[status=disabled] +{ + color : #c7d4e2; +} +#nexacontainer .DatePickerControl .body[status=disabled] +{ + border : 1px solid #98a6b5; +} +#nexacontainer .DatePickerControl .body .weekband[status=disabled] +{ + background : #94a9bf; +} +#nexacontainer .DatePickerControl .body .weekitem[status=disabled] +{ + color : #c7d4e2; + background : #94a9bf; +} +#nexacontainer .DatePickerControl .body .dayitem[status=disabled] +{ + color : #cdcdcd; +} +#nexacontainer .VScrollBarControl .trackbar[status=disabled] +{ + background : #eeeeee; + border : 1px solid #d8d8d8; +} +#nexacontainer .HScrollBarControl .trackbar[status=disabled] +{ + background : #eeeeee; + border : 1px solid #d8d8d8; +} +#nexacontainer .ListView[status=disabled] +{ + background : #666666; +} +#nexacontainer .ListView .body[status=disabled] +{ + color : #999999; +} +#nexacontainer .ListView .detail[status=disabled] +{ + color : #999999; +} +#nexacontainer .ListViewBandControl.popupListViewdetail[status=disabled] +{ + color : #999999; +} +#nexacontainer .ListView .body .cell[status=disabled] +{ + border : 1px solid #dbdee2; +} +#nexacontainer .ListView .detail .cell[status=disabled] +{ + border : 1px solid #dbdee2; +} +#nexacontainer .ListViewBandControl.popupListViewdetail .cell[status=disabled] +{ + border : 1px solid #dbdee2; +} +#nexacontainer .ListViewCellControl .cellbutton[status=disabled] +{ + color : #bbbbbb; + background : #f5f5f5; + border : 1px solid #d9d9d9; +} +#nexacontainer .ListViewCellControl .celledit[status=disabled] +{ + color : #999999; + background : #efefef; +} +#nexacontainer .ListViewCellControl .cellmaskedit[status=disabled] +{ + color : #999999; + background : #efefef; +} +#nexacontainer .ListView .body .expandbar[status=disabled] +{ + color : #bbbbbb; + background : #f5f5f5; + border : 1px solid #d9d9d9; +} +#nexacontainer .CheckBox[status=disabled][userstatus=selected] +{ + color : #999999; +} +#nexacontainer .CheckBoxControl[status=disabled][userstatus=selected] +{ + color : #999999; +} +#nexacontainer .Grid .body .row .cell[status=disabled][userstatus=selected] +{ + background : #f0f0f0; +} +#nexacontainer .Tab .tabbuttonitemTab[status=focused][userstatus=selected] +{ + color : #dee4ef; + background : #1055a1; + border : 1px solid #1055a1; +} +#nexacontainer .Tab .tabbuttonitemTab[status=disabled][userstatus=selected] +{ + border : 1px solid #c7d4e2; + background : #94a9bf; +} +#nexacontainer .DatePickerControl .body .dayitem[status=mouseover][userstatus=saturday] +{ + color : #ffffff; +} +#nexacontainer .DatePickerControl .body .dayitem[status=mouseover][userstatus=sunday] +{ + color : #ffffff; +} +#nexacontainer .DatePickerControl .body .dayitem[status=mouseover][userstatus=trailingday] +{ + color : #ffffff; +} +#nexacontainer .DatePickerControl .body .dayitem[status=disabled][userstatus=selected] +{ + background : #f0f0f0; +} diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/theme_ie10.css b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/theme_ie10.css new file mode 100644 index 0000000..cd488db --- /dev/null +++ b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/theme_ie10.css @@ -0,0 +1,2021 @@ + +@media screen and (-ms-high-contrast: active) +{ +.nexacontentsbox {-ms-high-contrast-adjust:none; } +} + +html, body +{ + position:absolute; + width:100%; + height:100%; + font:12pt Verdana; + -moz-user-select:none; + -webkit-user-select:none; + -ms-user-select:none; +} + +div +{ + position:absolute; + box-sizing:border-box; + overflow:hidden; + background-origin:padding-box; + background-repeat:no-repeat; + white-space : pre; + -moz-user-select:-moz-none; + -webkit-user-select:none; + -webkit-touch-callout:none; + -webkit-appearance:none; + -webkit-tap-highlight-color:rgba(0,0,0,0); + outline:none; +} + +table +{ + position:absolute; + box-sizing:border-box; + overflow:hidden; +} + +input +{ + position:absolute; + box-sizing:border-box; + overflow:hidden; +} + +img +{ + position:absolute; + box-sizing:border-box; +} + +input::-ms-clear,input::-ms-reveal +{ + display: none; +} + + + +.nexacontainer +{ + position:absolute; + left:0px; + top:0px; + width:100%; + height:100%; +} +.nexacontainer.withvscroll +{ + right:14px; +} +.nexacontainer.withhscroll +{ + bottom:14px; +} +.nexacontainer.withbothscroll +{ + right:14px; + bottom:14px; +} + +.nexalefttop +{ + left:0px; + top:0px; + background-repeat:no-repeat; + background-position:left top; + font-size:1px; +} +.nexaleftbottom +{ + left:0px; + bottom:0px; + background-repeat:no-repeat; + background-position:left bottom; + font-size:1px; +} +.nexarightbottom +{ + right:0px; + bottom:0px; + background-repeat:no-repeat; + background-position:right bottom; + font-size:1px; +} +.nexarighttop +{ + right:0px; + top:0px; + background-repeat:no-repeat; + background-position:right top; +} +.nexaedge +{ + width:100%; + height:100%; +} +.nexamodaloverlay +{ + width:100%; + height:100%; +} +.nexainnercontainer +{ + transform : translate3d(0px, 0px, 0); +} + +.nexatransform +{ + transform : translate3d(0px, 0px, 0); +} + +.nexacontentsbox +{ + position:relative; + display:table-cell; + background-position:left center; + background-repeat:no-repeat; + vertical-align:middle; +} +.nexatextitem +{ + position:relative; + vertical-align:middle; + white-space:inherit; + word-wrap:inherit; + word-break:inherit; + text-decoration:inherit; +} +.nexaiconitem +{ + position:relative; + vertical-align:middle; + background-position:center center; + background-repeat:no-repeat; +} + +.nexainput +{ + font:inherit; + color:inherit; + cursor:inherit; + letter-spacing:inherit; + word-spacing:inherit; + border:none; + outline:none; + background:transparent; + padding : 0px; +} + +.nexatextarea +{ + font:inherit; + color:inherit; + cursor:inherit; + line-height : inherit; + letter-spacing:inherit; + word-spacing:inherit; + white-space:pre; + word-wrap:normal; + border:none; + outline:none; + resize:none; + background:transparent; + padding : 0px; +} + +.nexaleftalign +{ + text-align:left; +} + +.nexarightalign +{ + text-align:right; +} + +.nexacenteralign +{ + text-align:center; +} + +.nexamap div * +{ + overflow:visible; +} + +.nexanativescroll +{ + overflow:scroll; + -ms-overflow-style:none; +} + +.celltreeline +{ + border : 1px dotted #999999; +} + +.Edit, .MaskEdit, .TextArea, .EditControl, .MaskEditControl, .TextAreaControl +{ + cursor:text; +} +.Button .nexacontentsbox, .ButtonControl .nexacontentsbox +{ + text-align:center; + background-position:center center; +} + +.FileDownload .nexacontentsbox, .FileDownloadControl .nexacontentsbox +{ + text-align:center; + background-position:center center; +} + +.IconTextControl .nexacontentsbox, .IconControl .nexacontentsbox +{ + text-align:center; + background-position:center center; +} + +.DatePickerDayItemControl .nexacontentsbox, .DatePickerWeekItemControl .nexacontentsbox, .TitleBarButtonControl .nexacontentsbox +{ + text-align:center; + background-position:center center; +} + +.MainFrame, .VScrollBarControl, .HScrollBarControl +{ + cursor:default; +} + +.Form +{ + font : 12px Gulim; + color : #555555; + background : #ffffff; + border : 0px none; +} +.Button +{ + background : #eaeaea; + background : linear-gradient(to top,#eaeaea,#ffffff); + border : 1px solid #c2c2c2; +} +.FileDownload +{ + background : #eaeaea; + background : linear-gradient(to top,#eaeaea,#ffffff); + border : 1px solid #c2c2c2; +} +.ButtonControl +{ + background : transparent; + border : 0px none; +} +.FileUpload .fileuploaditem .fileuploaditembutton +{ + background : #eaeaea; + background : linear-gradient(to top,#eaeaea,#ffffff); + border : 1px solid #c2c2c2; +} +.Calendar +{ + background : #ffffff; + border : 1px solid #d5d5d5; +} +.CalendarControl +{ + background : #ffffff; + border : 1px solid #d5d5d5; +} +.Combo +{ + background : #ffffff; + border : 1px solid #d5d5d5; +} +.ComboControl +{ + background : #ffffff; + border : 1px solid #d5d5d5; +} +.ListBoxControl.popupCombocombolist.dummy +{ + font : 12px Gulim; + color : #555555; + background : #ffffff; + border : 1px solid #b1b1b1; +} +.ListBoxControl.popupComboControlcombolist.dummy +{ + font : 12px Gulim; + color : #555555; + background : #ffffff; + border : 1px solid #b1b1b1; +} +.Edit +{ + background : #ffffff; + border : 1px solid #d5d5d5; +} +.Edit .nexainput +{ + padding : 1px 9px 0px 9px; +} +.FileUpload .fileuploaditem .fileuploaditemedit +{ + background : #ffffff; + border : 1px solid #d5d5d5; +} +.FileUpload .fileuploaditem .fileuploaditemedit .nexainput +{ + padding : 1px 9px 0px 9px; +} +.EditControl +{ + background : transparent; + border : 0px none; +} +.EditControl .nexainput +{ + padding : 1px 9px 0px 9px; +} +.Grid +{ + background : #ffffff; + border-top : 2px solid #125dae; + border-right : 1px solid #b7b1b2; + border-bottom : 1px solid #b7b1b2; + border-left : 1px solid #b7b1b2; +} +.Grid .head .row .cell +{ + font : bold 12px Gulim; + color : #2f2f2f; + background : #eff0f0; + background : linear-gradient(to top, #eff0f0, #f9fafa); + border : 1px solid #cacaca; +} +.Grid .head .row .cell > .nexacontentsbox +{ + text-align : center; + background-position-x : center; +} +.Grid .body .row .cell +{ + color : #666666; + border : 1px solid #dbdee2; +} +.Grid .body .row .cell .subcell +{ + color : #666666; + border : 1px solid #dbdee2; +} +.Grid .body .selection +{ + border : 2px solid #125dae; +} +.Grid .summary +{ + border-top : 1px solid #c8c1c2; + border-right : 0px none; + border-bottom : 0px none; + border-left : 0px none; +} +.Grid .summary .row .cell +{ + font : bold 12px Gulim; + color : #333333; + background : #fdfbe5; + border : 1px solid #c8c1c2; +} +.Grid .summary .row .cell > .nexacontentsbox +{ + text-align : center; + background-position-x : center; +} +.Grid .hscrollbar +{ + border-top : 1px solid #b1b1b1; + border-right : 0px none; + border-bottom : 0px none; + border-left : 0px none; +} +.Grid .vscrollbar +{ + border-top : 0px none; + border-right : 0px none; + border-bottom : 0px none; + border-left : 1px solid #b1b1b1; +} +.GridCellControl .cellbutton +{ + font : 12px Gulim; + color : #555555; + background : #eaeaea; + background : linear-gradient(to top,#eaeaea,#ffffff); + border : 1px solid #c2c2c2; +} +.GridCellControl .cellcalendar +{ + font : 12px Gulim; +} +.GridCellControl .cellcheckbox +{ + font : 12px Gulim; +} +.GridCellControl .cellcombo +{ + font : 12px Gulim; +} +.ListBoxControl.popupGridCellControlcellcombocombolist.dummy.dummy +{ + font : 12px Gulim; + color : #555555; +} +.GridCellControl .celledit +{ + font : 12px Gulim; + background : #ffffff; + border : 1px solid #d5d5d5; +} +.GridCellControl .celledit .nexainput +{ + padding : 1px 9px 0px 9px; +} +.GridCellControl .cellmaskedit +{ + font : 12px Gulim; + background : #ffffff; + border : 1px solid #d5d5d5; +} +.GridCellControl .cellmaskedit .nexainput +{ + padding : 1px 9px 0px 9px; +} +.GridCellControl .cellprogressbar +{ + font : 12px Gulim; +} +.GridCellControl .celltextarea +{ + font : 12px Gulim; +} +.GridCellControl .celltreeitem .treeitemtext +{ + font : 12px Gulim; + color : #666666; +} +.GridCellControl .celltreeline +{ + border : 1px dotted #909090; +} +.GroupBox .groupboxcontents +{ + background : #ffffff; + border : 1px solid #d6d4d5; +} +.GroupBox .groupboxtitle +{ + background : #ffffff; +} +.ImageViewer +{ + background : #ffffff; + border : 1px solid #d5d5d5; +} +.ImageViewer .imagetext .nexacontentsbox +{ + text-align : center; + background-position-x : center; +} +.ListBox +{ + background : #ffffff; + border : 1px solid #d5d5d5; +} +.ListBoxControl +{ + background : #ffffff; + border : 1px solid #d5d5d5; +} +.ListBox .listboxitem +{ + color : #555555; +} +.ListBoxControl .listboxitem +{ + color : #555555; +} +.MaskEdit +{ + background : #ffffff; + border : 1px solid #d5d5d5; +} +.MaskEdit .nexainput +{ + padding : 1px 9px 0px 9px; +} +.MaskEditControl +{ + background : transparent; + border : 0px none; +} +.MaskEditControl .nexainput +{ + padding : 1px 9px 0px 9px; +} +.Menu +{ + background : #1059a8; + background : linear-gradient(to top, #1059a8, #125dae); +} +.Menu .menuitem +{ + font : bold 13px Gulim; + color : #ffffff; +} +.PopupMenuControl.popupMenumenupopupmenu.dummy +{ + font : 12px Gulim; + color : #555555; + background : #0753a5; + border : 1px solid #034389; +} +.PopupMenuControl.popupMenumenupopupmenu.dummy .popupmenuitem +{ + color : #c3e0ff; + border-top : 0px none; + border-right : 0px none; + border-bottom : 1px solid #2065ae; + border-left : 0px none; +} +.PopupMenuControl.popupMenumenupopupmenu.dummy .popupmenuitem .popupmenuitemtext +{ + color : #c3e0ff; +} +.PopupMenuControl.popupMenumenupopupmenu.dummy .popupmenuitem .popupmenuitemhotkeytext +{ + color : #6d95cc; +} +.PopupMenuControl.popupMenumenupopupmenu.dummy .popupmenuitem .popupmenuitemhotkeytext .nexacontentsbox +{ + text-align : right; + background-position-x : right; +} +.Plugin +{ + border : 1px solid #d5d5d5; +} +.PluginControl +{ + border : 1px solid #d5d5d5; +} +.PopupMenu +{ + font : 12px Gulim; + color : #555555; + background : #ffffff; + border : 1px solid #b5b5b5; +} +.PopupMenuControl +{ + font : 12px Gulim; + color : #555555; + background : #ffffff; + border : 1px solid #b5b5b5; +} +.PopupMenu .popupmenuitem +{ + color : #555555; +} +.PopupMenuControl .popupmenuitem +{ + color : #555555; +} +.PopupMenu .popupmenuitem .popupmenuitemcheckbox +{ + background : URL('./images/chk_WF_Box_F.png') no-repeat left center; +} +.PopupMenuControl .popupmenuitem .popupmenuitemcheckbox +{ + background : URL('./images/chk_WF_Box_F.png') no-repeat left center; +} +.PopupMenu .popupmenuitem .popupmenuitemhotkeytext +{ + color : #aaaaaa; +} +.PopupMenu .popupmenuitem .popupmenuitemhotkeytext .nexacontentsbox +{ + text-align : right; + background-position-x : right; +} +.PopupMenuControl .popupmenuitem .popupmenuitemhotkeytext +{ + color : #aaaaaa; +} +.PopupMenuControl .popupmenuitem .popupmenuitemhotkeytext .nexacontentsbox +{ + text-align : right; + background-position-x : right; +} +.ProgressBar +{ + background : #f0f0f0; + background : linear-gradient(to top, #f0f0f0, #e7e7e7); + border-top : 1px solid #aeaeae; + border-right : 1px solid #d2d0d1; + border-bottom : 1px solid #d2d0d1; + border-left : 1px solid #d2d0d1; +} +.ProgressBarControl +{ + background : #f0f0f0; + background : linear-gradient(to top, #f0f0f0, #e7e7e7); + border-top : 1px solid #aeaeae; + border-right : 1px solid #d2d0d1; + border-bottom : 1px solid #d2d0d1; + border-left : 1px solid #d2d0d1; +} +.ProgressBar .progressbaritem +{ + background : #125dae; +} +.ProgressBarControl .progressbaritem +{ + background : #125dae; +} +.ProgressBar .progressbartext +{ + color : #ffffff; +} +.ProgressBar .progressbartext .nexacontentsbox +{ + text-align : center; + background-position-x : center; +} +.ProgressBarControl .progressbartext +{ + color : #ffffff; +} +.ProgressBarControl .progressbartext .nexacontentsbox +{ + text-align : center; + background-position-x : center; +} +.Sketch +{ + background : #ffffff; + border : 1px solid #d5d5d5; +} +.Spin +{ + background : #ffffff; + border : 1px solid #d5d5d5; +} +.Spin .spinedit .nexainput +{ + padding : 0px 3px 0px 3px; + text-align : right; +} +.Spin .spinedit .nexacontentsbox +{ + text-align : right; + background-position-x : right; +} +.TextArea +{ + background : #ffffff; + border : 1px solid #d5d5d5; +} +.TextArea .nexatextarea +{ + padding : 9px 9px 9px 9px; +} +.TextAreaControl +{ + background : #ffffff; + border : 1px solid #d5d5d5; +} +.TextAreaControl .nexatextarea +{ + padding : 9px 9px 9px 9px; +} +.WebBrowser +{ + border : 1px solid #d5d5d5; +} +.WebBrowserControl +{ + border : 1px solid #d5d5d5; +} +.Tab .tabpageTab +{ + border-top : 1px solid #cfcfcf; + border-right : 0px none; + border-bottom : 0px none; + border-left : 0px none; +} +.Tab .tabbuttonitemTab +{ + color : #333333; + background : #fcfcfc; + background : linear-gradient(to top, #fcfcfc, #fafafa); + border : 1px solid #c7c7c7; +} +.DatePickerControl +{ + background : #ffffff; +} +.DatePickerControl .head +{ + background : #125dae; +} +.DatePickerControl .head .yearstatic +{ + font : bold 14px Tahoma; + color : #ffffff; +} +.DatePickerControl .head .monthstatic +{ + font : bold 14px Tahoma; + color : #ffffff; +} +.DatePickerControl .head .yearspin .spinedit +{ + font : bold 14px Tahoma; + color : #ffffff; + background : #0042a0; +} +.DatePickerControl .head .monthspin .spinedit +{ + font : bold 14px Tahoma; + color : #ffffff; + background : #0042a0; +} +.DatePickerControl .body +{ + border-top : 1px solid #125dae; + border-right : 1px solid #697888; + border-bottom : 1px solid #697888; + border-left : 1px solid #697888; +} +.DatePickerControl .body .weekband +{ + background : #125dae; +} +.DatePickerControl .body .weekitem +{ + color : #ffffff; +} +.DatePickerControl .body .dayitem +{ + color : #333333; +} +.VScrollBarControl +{ + background : #ffffff; + background : linear-gradient(to left,#ffffff,#f7f7f7); + border : 1px solid #b1b1b1; +} +.HScrollBarControl +{ + background : #ffffff; + background : linear-gradient(to top,#ffffff,#f7f7f7); + border : 1px solid #b1b1b1; +} +.VScrollBarControl .trackbar +{ + background : #dddddd; + border : 1px solid #c8c8c8; +} +.HScrollBarControl .trackbar +{ + background : #dddddd; + border : 1px solid #c8c8c8; +} +.VScrollIndicatorControl +{ + background : #f2f2f2; +} +.HScrollIndicatorControl +{ + background : #f2f2f2; +} +.VScrollIndicatorControl .trackbar +{ + background : #cccccc; + border : 2px solid transparent; +} +.HScrollIndicatorControl .trackbar +{ + background : #cccccc; + border : 2px solid transparent; +} +.StatusBarControl +{ + background : #e7e7e7; +} +.StatusBarControl .progressbar +{ + background : #eaeaea; + border-top : 1px solid #afaeae; + border-right : 1px solid #d2d0d0; + border-bottom : 1px solid #d2d0d0; + border-left : 1px solid #d2d0d0; +} +.StatusBarControl .progressbar .progressbaritem +{ + background : #4ca0e2; +} +.StatusBarControl .resizegrip .nexacontentsbox +{ + vertical-align : bottom; + background-position-y : bottom; +} +.TitleBarControl +{ + font : bold 12px Gulim; + color : #ffffff; + background : #003284; +} +.ListView +{ + border : 1px solid #d5d5d5; + background : #ebecee; + color : #666666; +} +.ListView .body +{ + border-top : 0px none; + border-right : 0px none; + border-bottom : 1px solid #dbdee2; + border-left : 0px none; + background : #ffffff; + font : 12px Gulim; +} +.ListView .detail +{ + border-top : 0px none; + border-right : 0px none; + border-bottom : 1px solid #dbdee2; + border-left : 0px none; + background : #f9f9f9; + font : 12px Gulim; +} +.ListViewBandControl.popupListViewdetail +{ + border-top : 0px none; + border-right : 0px none; + border-bottom : 1px solid #dbdee2; + border-left : 0px none; + background : #f9f9f9; + font : 12px Gulim; +} +.ListView .body .cell +{ + border : 1px solid #dbdee2; +} +.ListView .detail .cell +{ + border : 1px solid #dbdee2; +} +.ListViewBandControl.popupListViewdetail .cell +{ + border : 1px solid #dbdee2; +} +.ListViewCellControl .cellbutton +{ + font : 12px Gulim; + color : #555555; + background : #eaeaea; + background : linear-gradient(to top,#eaeaea,#ffffff); + border : 1px solid #c2c2c2; +} +.ListViewCellControl .cellcalendar +{ + font : 12px Gulim; +} +.ListViewCellControl .cellcheckbox +{ + font : 12px Gulim; +} +.ListViewCellControl .cellcombo +{ + font : 12px Gulim; +} +.ListBoxControl.popupListViewCellControlcellcombocombolist.dummy.dummy +{ + font : 12px Gulim; + color : #555555; +} +.ListViewCellControl .celledit +{ + font : 12px Gulim; + background : #ffffff; + border : 1px solid #d5d5d5; +} +.ListViewCellControl .celledit .nexainput +{ + padding : 1px 9px 0px 9px; +} +.ListViewCellControl .cellmaskedit +{ + font : 12px Gulim; + background : #ffffff; + border : 1px solid #d5d5d5; +} +.ListViewCellControl .cellmaskedit .nexainput +{ + padding : 1px 9px 0px 9px; +} +.ListViewCellControl .cellprogressbar +{ + font : 12px Gulim; +} +.ListViewCellControl .celltextarea +{ + font : 12px Gulim; +} +.ListView .body .expandbar +{ + background : #eaeaea; + background : linear-gradient(to top,#eaeaea,#ffffff); + border : 1px solid #c2c2c2; +} +#nexacontainer .Button[status=mouseover] +{ + background : #e7e7e7; + background : linear-gradient(to top,#e7e7e7,#fefefe); + border : 1px solid #a0a0a0; +} +#nexacontainer .Button[status=focused] +{ + background : #e7e7e7; + background : linear-gradient(to top,#e7e7e7,#fefefe); + border : 1px solid #a0a0a0; +} +#nexacontainer .FileDownload[status=mouseover] +{ + background : #e7e7e7; + background : linear-gradient(to top,#e7e7e7,#fefefe); + border : 1px solid #a0a0a0; +} +#nexacontainer .FileDownload[status=focused] +{ + background : #e7e7e7; + background : linear-gradient(to top,#e7e7e7,#fefefe); + border : 1px solid #a0a0a0; +} +#nexacontainer .FileUpload .fileuploaditem .fileuploaditembutton[status=mouseover] +{ + background : #e7e7e7; + background : linear-gradient(to top,#e7e7e7,#fefefe); + border : 1px solid #a0a0a0; +} +#nexacontainer .FileUpload .fileuploaditem .fileuploaditembutton[status=focused] +{ + background : #e7e7e7; + background : linear-gradient(to top,#e7e7e7,#fefefe); + border : 1px solid #a0a0a0; +} +#nexacontainer .Calendar[status=mouseover] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .CalendarControl[status=mouseover] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .Calendar[status=focused] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .CalendarControl[status=focused] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .Calendar[status=readonly] +{ + background : #efefef; +} +#nexacontainer .CalendarControl[status=readonly] +{ + background : #efefef; +} +#nexacontainer .Combo[status=mouseover] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .Combo[status=focused] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .ComboControl[status=mouseover] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .ComboControl[status=focused] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .Combo[status=readonly] +{ + background : #efefef; +} +#nexacontainer .ComboControl[status=readonly] +{ + background : #efefef; +} +#nexacontainer .Edit[status=mouseover] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .Edit[status=focused] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .FileUpload .fileuploaditem .fileuploaditemedit[status=mouseover] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .FileUpload .fileuploaditem .fileuploaditemedit[status=focused] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .Edit[status=readonly] +{ + background : #efefef; +} +#nexacontainer .Grid .body .row .cell[status=mouseover] +{ + background : #f6f6f6; +} +#nexacontainer .Grid .body .row .cell .subcell[status=mouseover] +{ + background : #f6f6f6; +} +#nexacontainer .GridCellControl .cellbutton[status=mouseover] +{ + background : #e7e7e7; + background : linear-gradient(to top,#e7e7e7,#fefefe); + border : 1px solid #a0a0a0; +} +#nexacontainer .GridCellControl .cellbutton[status=focused] +{ + background : #e7e7e7; + background : linear-gradient(to top,#e7e7e7,#fefefe); + border : 1px solid #a0a0a0; +} +#nexacontainer .ListBoxControl.popupGridCellControlcellcombocombolist.dummy.dummy .listboxitem[status=mouseover] +{ + background : #e8e9ed; +} +#nexacontainer .GridCellControl .celledit[status=mouseover] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .GridCellControl .celledit[status=focused] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .GridCellControl .cellmaskedit[status=mouseover] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .GridCellControl .cellmaskedit[status=focused] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .ListBox[status=mouseover] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .ListBox[status=focused] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .ListBoxControl[status=mouseover] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .ListBoxControl[status=focused] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .ListBox .listboxitem[status=mouseover] +{ + background : #e7e9ed; +} +#nexacontainer .ListBoxControl .listboxitem[status=mouseover] +{ + background : #e7e9ed; +} +#nexacontainer .MaskEdit[status=mouseover] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .MaskEdit[status=focused] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .MaskEdit[status=readonly] +{ + background : #efefef; +} +#nexacontainer .Menu .menuitem[status=mouseover] +{ + background : URL('./images/img_WF_Menu_O.png') no-repeat center top; +} +#nexacontainer .PopupMenuControl.popupMenumenupopupmenu.dummy .popupmenuitem[status=mouseover] +{ + color : #ffffff; + background : transparent; +} +#nexacontainer .PopupMenuControl.popupMenumenupopupmenu.dummy .popupmenuitem[status=focused] +{ + color : #ffffff; + background : transparent; +} +#nexacontainer .PopupMenuControl.popupMenumenupopupmenu.dummy .popupmenuitem .popupmenuitemtext[status=mouseover] +{ + color : #ffffff; +} +#nexacontainer .PopupMenuControl.popupMenumenupopupmenu.dummy .popupmenuitem .popupmenuitemhotkeytext[status=mouseover] +{ + color : #ffffff; +} +#nexacontainer .PopupMenu .popupmenuitem[status=mouseover] +{ + background : #e7e9ed; +} +#nexacontainer .PopupMenu .popupmenuitem[status=focused] +{ + background : #e7e9ed; +} +#nexacontainer .PopupMenuControl .popupmenuitem[status=mouseover] +{ + background : #e7e9ed; +} +#nexacontainer .PopupMenuControl .popupmenuitem[status=focused] +{ + background : #e7e9ed; +} +#nexacontainer .PopupMenu .popupmenuitem .popupmenuitemcheckbox[status=mouseover] +{ + background : URL('./images/chk_WF_Box_F.png') no-repeat left center; +} +#nexacontainer .PopupMenuControl .popupmenuitem .popupmenuitemcheckbox[status=mouseover] +{ + background : URL('./images/chk_WF_Box_F.png') no-repeat left center; +} +#nexacontainer .Spin[status=mouseover] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .Spin[status=focused] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .Spin[status=readonly] +{ + background : #efefef; +} +#nexacontainer .TextArea[status=mouseover] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .TextArea[status=focused] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .TextAreaControl[status=mouseover] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .TextAreaControl[status=focused] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .TextArea[status=readonly] +{ + background : #efefef; + border : 1px solid #d5d5d5; +} +#nexacontainer .TextAreaControl[status=readonly] +{ + background : #efefef; + border : 1px solid #d5d5d5; +} +#nexacontainer .Tab .tabbuttonitemTab[status=mouseover] +{ + border : 1px solid #b1b1b1; + background : #dddcdc; + background : linear-gradient(to top, #dddcdc, #fefefe); +} +#nexacontainer .Tab .tabbuttonitemTab[status=focused] +{ + color : #dee4ef; +} +#nexacontainer .DatePickerControl .body .dayitem[status=mouseover] +{ + color : #ffffff; + background : #8da3c7; +} +#nexacontainer .DatePickerControl .body .dayitem[status=focused] +{ + color : #ffffff; + background : #125dae; +} +#nexacontainer .VScrollBarControl .trackbar[status=focused] +{ + background : #999999; + border : 1px solid #888888; +} +#nexacontainer .HScrollBarControl .trackbar[status=focused] +{ + background : #999999; + border : 1px solid #888888; +} +#nexacontainer .VScrollBarControl .trackbar[status=mouseover] +{ + background : #bbbbbb; + border : 1px solid #a8a8a8; +} +#nexacontainer .HScrollBarControl .trackbar[status=mouseover] +{ + background : #bbbbbb; + border : 1px solid #a8a8a8; +} +#nexacontainer .VScrollIndicatorControl .trackbar[status=mouseover] +{ + background : #999999; +} +#nexacontainer .HScrollIndicatorControl .trackbar[status=mouseover] +{ + background : #999999; +} +#nexacontainer .ListView[status=readonly] +{ + border : 1px solid #d5d5d5; + background : #ebecee; + color : #666666; +} +#nexacontainer .ListView[status=mouseover] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .ListView[status=focused] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .ListView .body[status=readonly] +{ + border-top : 0px none; + border-right : 0px none; + border-bottom : 1px solid #dbdee2; + border-left : 0px none; + background : #ffffff; + font : 12px Gulim; +} +#nexacontainer .ListView .detail[status=readonly] +{ + border-top : 0px none; + border-right : 0px none; + border-bottom : 1px solid #dbdee2; + border-left : 0px none; + background : #ffffff; + font : 12px Gulim; +} +#nexacontainer .ListViewBandControl.popupListViewdetail[status=readonly] +{ + border-top : 0px none; + border-right : 0px none; + border-bottom : 1px solid #dbdee2; + border-left : 0px none; + background : #ffffff; + font : 12px Gulim; +} +#nexacontainer .ListView .body[status=focused] +{ + border-top : 0px none; + border-right : 0px none; + border-bottom : 1px solid #dbdee2; + border-left : 0px none; + background : #ffffff; + font : 12px Gulim; +} +#nexacontainer .ListView .detail[status=focused] +{ + border-top : 0px none; + border-right : 0px none; + border-bottom : 1px solid #dbdee2; + border-left : 0px none; + background : #ffffff; + font : 12px Gulim; +} +#nexacontainer .ListViewBandControl.popupListViewdetail[status=focused] +{ + border-top : 0px none; + border-right : 0px none; + border-bottom : 1px solid #dbdee2; + border-left : 0px none; + background : #ffffff; + font : 12px Gulim; +} +#nexacontainer .ListView .body[status=mouseover] +{ + border-top : 0px none; + border-right : 0px none; + border-bottom : 1px solid #dbdee2; + border-left : 0px none; + background : #ffffff; + font : 12px Gulim; +} +#nexacontainer .ListView .detail[status=mouseover] +{ + border-top : 0px none; + border-right : 0px none; + border-bottom : 1px solid #dbdee2; + border-left : 0px none; + background : #ffffff; + font : 12px Gulim; +} +#nexacontainer .ListViewBandControl.popupListViewdetail[status=mouseover] +{ + border-top : 0px none; + border-right : 0px none; + border-bottom : 1px solid #dbdee2; + border-left : 0px none; + background : #ffffff; + font : 12px Gulim; +} +#nexacontainer .ListView .body .cell[status=readonly] +{ + border : 1px solid #dbdee2; +} +#nexacontainer .ListView .detail .cell[status=readonly] +{ + border : 1px solid #dbdee2; +} +#nexacontainer .ListViewBandControl.popupListViewdetail .cell[status=readonly] +{ + border : 1px solid #dbdee2; +} +#nexacontainer .ListView .body .cell[status=focused] +{ + border : 1px solid #dbdee2; +} +#nexacontainer .ListView .detail .cell[status=focused] +{ + border : 1px solid #dbdee2; +} +#nexacontainer .ListViewBandControl.popupListViewdetail .cell[status=focused] +{ + border : 1px solid #dbdee2; +} +#nexacontainer .ListView .body .cell[status=mouseover] +{ + border : 1px solid #c4c9cf; +} +#nexacontainer .ListView .detail .cell[status=mouseover] +{ + border : 1px solid #c4c9cf; +} +#nexacontainer .ListViewBandControl.popupListViewdetail .cell[status=mouseover] +{ + border : 1px solid #c4c9cf; +} +#nexacontainer .ListViewCellControl .cellbutton[status=mouseover] +{ + background : #e7e7e7; + background : linear-gradient(to top,#e7e7e7,#fefefe); + border : 1px solid #a0a0a0; +} +#nexacontainer .ListViewCellControl .cellbutton[status=focused] +{ + background : #e7e7e7; + background : linear-gradient(to top,#e7e7e7,#fefefe); + border : 1px solid #a0a0a0; +} +#nexacontainer .ListBoxControl.popupListViewCellControlcellcombocombolist.dummy.dummy .listboxitem[status=mouseover] +{ + background : #e8e9ed; +} +#nexacontainer .ListViewCellControl .celledit[status=mouseover] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .ListViewCellControl .celledit[status=focused] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .ListViewCellControl .cellmaskedit[status=mouseover] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .ListViewCellControl .cellmaskedit[status=focused] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .ListView .body .expandbar[status=mouseover] +{ + background : #e7e7e7; + background : linear-gradient(to top,#e7e7e7,#fefefe); + border : 1px solid #a0a0a0; +} +#nexacontainer .ListView .body .expandbar[status=focused] +{ + background : #e7e7e7; + background : linear-gradient(to top,#e7e7e7,#fefefe); + border : 1px solid #a0a0a0; +} +#nexacontainer .Form[userstatus=contents] +{ + background : transparent; +} +#nexacontainer .Button[userstatus=pushed] +{ + background : #fefefe; + background : linear-gradient(to top,#fefefe,#e9e9e9); +} +#nexacontainer .Button[userstatus=selected] +{ + background : #fefefe; + background : linear-gradient(to top,#fefefe,#e9e9e9); +} +#nexacontainer .FileDownload[userstatus=pushed] +{ + background : #fefefe; + background : linear-gradient(to top,#fefefe,#e9e9e9); +} +#nexacontainer .FileUpload .fileuploaditem .fileuploaditembutton[userstatus=pushed] +{ + background : #fefefe; + background : linear-gradient(to top,#fefefe,#e9e9e9); +} +#nexacontainer .FileUpload .fileuploaditem .fileuploaditembutton[userstatus=selected] +{ + background : #fefefe; + background : linear-gradient(to top,#fefefe,#e9e9e9); +} +#nexacontainer .Edit[userstatus=nulltext] +{ + color : #999999; +} +#nexacontainer .EditControl[userstatus=nulltext] +{ + color : #999999; +} +#nexacontainer .MaskEdit[userstatus=nulltext] +{ + color : #999999; +} +#nexacontainer .MaskEditControl[userstatus=nulltext] +{ + color : #999999; +} +#nexacontainer .TextArea[userstatus=nulltext] +{ + color : #999999; +} +#nexacontainer .TextAreaControl[userstatus=nulltext] +{ + color : #999999; +} +#nexacontainer .Calendar[userstatus=invalidtext] +{ + color : #999999; +} +#nexacontainer .CalendarControl[userstatus=invalidtext] +{ + color : #999999; +} +#nexacontainer .MaskEdit[userstatus=invalidtext] +{ + color : #999999; +} +#nexacontainer .MaskEditControl[userstatus=invalidtext] +{ + color : #999999; +} +#nexacontainer .Spin[userstatus=invalidtext] +{ + color : #999999; +} +#nexacontainer .SpinControl[userstatus=invalidtext] +{ + color : #999999; +} +#nexacontainer .Grid .body .row .cell[userstatus=selected] +{ + background : #f2f9ff; +} +#nexacontainer .Grid .body .row .cell .subcell[userstatus=selected] +{ + background : #f2f9ff; +} +#nexacontainer .Grid .body .row .cell .subcell[userstatus=blinked] +{ + background : #125dae; + color : #ffffff; +} +#nexacontainer .GridCellControl .cellbutton[userstatus=pushed] +{ + background : #fefefe; + background : linear-gradient(to top,#fefefe,#e9e9e9); +} +#nexacontainer .GridCellControl .cellbutton[userstatus=selected] +{ + background : #fefefe; + background : linear-gradient(to top,#fefefe,#e9e9e9); +} +#nexacontainer .Grid .body .row .cell[userstatus=blinked] +{ + background : #125dae; + color : #ffffff; +} +#nexacontainer .ListBox .listboxitem[userstatus=selected] +{ + color : #ffffff; + background : #125dae; +} +#nexacontainer .ListBoxControl .listboxitem[userstatus=selected] +{ + color : #ffffff; + background : #125dae; +} +#nexacontainer .Menu .menuitem[userstatus=selected] +{ + background : URL('./images/img_WF_Menu_O.png') no-repeat center top; +} +#nexacontainer .PopupMenuControl.popupMenumenupopupmenu.dummy .popupmenuitem[userstatus=selected] +{ + color : #ffffff; + background : transparent; +} +#nexacontainer .PopupMenu .popupmenuitem[userstatus=selected] +{ + color : #ffffff; + background : #125dae; +} +#nexacontainer .PopupMenuControl .popupmenuitem[userstatus=selected] +{ + color : #ffffff; + background : #125dae; +} +#nexacontainer .Tab .tabbuttonitemTab[userstatus=selected] +{ + color : #dee4ef; + background : #1055a1; + border : 1px solid #1055a1; +} +#nexacontainer .DatePickerControl .body .weekitem[userstatus=saturday] +{ + color : #48afff; +} +#nexacontainer .DatePickerControl .body .weekitem[userstatus=sunday] +{ + color : #ff7986; +} +#nexacontainer .DatePickerControl .body .dayitem[userstatus=selected] +{ + color : #ffffff; + background : #125dae; +} +#nexacontainer .DatePickerControl .body .dayitem[userstatus=today] +{ + color : #ffffff; + background : #e7595c; +} +#nexacontainer .DatePickerControl .body .dayitem[userstatus=saturday] +{ + color : #269bee; +} +#nexacontainer .DatePickerControl .body .dayitem[userstatus=sunday] +{ + color : #ff4c5e; +} +#nexacontainer .DatePickerControl .body .dayitem[userstatus=trailingday] +{ + color : #989898; +} +#nexacontainer .VScrollBarControl .trackbar[userstatus=pushed] +{ + background : #999999; + border : 1px solid #888888; +} +#nexacontainer .VScrollBarControl .trackbar[userstatus=selected] +{ + background : #999999; + border : 1px solid #888888; +} +#nexacontainer .HScrollBarControl .trackbar[userstatus=pushed] +{ + background : #999999; + border : 1px solid #888888; +} +#nexacontainer .HScrollBarControl .trackbar[userstatus=selected] +{ + background : #999999; + border : 1px solid #888888; +} +#nexacontainer .VScrollIndicatorControl .trackbar[userstatus=pushed] +{ + background : #606060; +} +#nexacontainer .HScrollIndicatorControl .trackbar[userstatus=pushed] +{ + background : #606060; +} +#nexacontainer .ListView .body[userstatus=selected] +{ + background : #f2f9ff; +} +#nexacontainer .ListView .detail[userstatus=selected] +{ + background : #ebf3f9; +} +#nexacontainer .ListViewBandControl.popupListViewdetail[userstatus=selected] +{ + background : #ebf3f9; +} +#nexacontainer .ListViewCellControl .cellbutton[userstatus=pushed] +{ + background : #fefefe; + background : linear-gradient(to top,#fefefe,#e9e9e9); +} +#nexacontainer .ListView .body .expandbar[userstatus=pushed] +{ + background : #fefefe; + background : linear-gradient(to top,#fefefe,#e9e9e9); +} +#nexacontainer .ListView .body .expandbar[userstatus=selected] +{ + background : #fefefe; + background : linear-gradient(to top,#fefefe,#e9e9e9); +} +#nexacontainer .Form[status=disabled] +{ + color : #999999; +} +#nexacontainer .FileUpload .fileuploaditem[status=disabled] +{ + color : #999999; +} +#nexacontainer .Button[status=disabled] +{ + color : #bbbbbb; + background : #f5f5f5; + border : 1px solid #d9d9d9; +} +#nexacontainer .FileDownload[status=disabled] +{ + color : #bbbbbb; + background : #f5f5f5; + border : 1px solid #d9d9d9; +} +#nexacontainer .FileUpload .fileuploaditem .fileuploaditembutton[status=disabled] +{ + color : #bbbbbb; + background : #f5f5f5; + border : 1px solid #d9d9d9; +} +#nexacontainer .Calendar[status=disabled] +{ + color : #999999; + background : #efefef; +} +#nexacontainer .CalendarControl[status=disabled] +{ + color : #999999; + background : #efefef; +} +#nexacontainer .CheckBox[status=disabled] +{ + color : #999999; +} +#nexacontainer .CheckBoxControl[status=disabled] +{ + color : #999999; +} +#nexacontainer .Combo[status=disabled] +{ + color : #999999; + background : #efefef; +} +#nexacontainer .ComboControl[status=disabled] +{ + color : #999999; + background : #efefef; +} +#nexacontainer .Combo .dropbutton[status=disabled] +{ + opacity : 0.50; +} +#nexacontainer .ComboControl .dropbutton[status=disabled] +{ + opacity : 0.50; +} +#nexacontainer .Edit[status=disabled] +{ + color : #999999; + background : #efefef; +} +#nexacontainer .FileUpload .fileuploaditem .fileuploaditemedit[status=disabled] +{ + color : #999999; + background : #efefef; +} +#nexacontainer .Grid .head .row .cell[status=disabled] +{ + color : #999999; +} +#nexacontainer .Grid .body .row .cell[status=disabled] +{ + color : #999999; +} +#nexacontainer .Grid .body .row .cell .subcell[status=disabled] +{ + color : #999999; +} +#nexacontainer .GridCellControl .cellbutton[status=disabled] +{ + color : #bbbbbb; + background : #f5f5f5; + border : 1px solid #d9d9d9; +} +#nexacontainer .GridCellControl .celledit[status=disabled] +{ + color : #999999; + background : #efefef; +} +#nexacontainer .GridCellControl .cellmaskedit[status=disabled] +{ + color : #999999; + background : #efefef; +} +#nexacontainer .GridCellControl .celltreeitem .treeitemtext[status=disabled] +{ + color : #999999; +} +#nexacontainer .GroupBox .groupboxcontents[status=disabled] +{ + background : #efefef; +} +#nexacontainer .GroupBox .groupboxtitle[status=disabled] +{ + color : #999999; + background : #efefef; +} +#nexacontainer .ImageViewer[status=disabled] +{ + background : #f2f2f2; +} +#nexacontainer .ImageViewer .imagetext[status=disabled] +{ + color : #999999; +} +#nexacontainer .ListBox[status=disabled] +{ + background : #efefef; +} +#nexacontainer .ListBoxControl[status=disabled] +{ + background : #efefef; +} +#nexacontainer .ListBox .listboxitem[status=disabled] +{ + opacity : 0.50; +} +#nexacontainer .ListBoxControl .listboxitem[status=disabled] +{ + opacity : 0.50; +} +#nexacontainer .MaskEdit[status=disabled] +{ + color : #999999; + background : #f2f2f2; +} +#nexacontainer .Menu[status=disabled] +{ + background : #94a9bf; +} +#nexacontainer .Menu .menuitem[status=disabled] +{ + color : #c7d4e2; +} +#nexacontainer .PopupMenuControl.popupMenumenupopupmenu.dummy .popupmenuitem[status=disabled] +{ + color : #2665af; +} +#nexacontainer .PopupMenuControl.popupMenumenupopupmenu.dummy .popupmenuitem .popupmenuitemtext[status=disabled] +{ + color : #2665af; +} +#nexacontainer .PopupMenuControl.popupMenumenupopupmenu.dummy .popupmenuitem .popupmenuitemhotkeytext[status=disabled] +{ + color : #4577b9; +} +#nexacontainer .PopupMenu .popupmenuitem[status=disabled] +{ + color : #999999; +} +#nexacontainer .PopupMenuControl .popupmenuitem[status=disabled] +{ + color : #999999; +} +#nexacontainer .PopupMenu .popupmenuitem .popupmenuitemcheckbox[status=disabled] +{ + background : URL('./images/chk_WF_Box_D.png') no-repeat left center; +} +#nexacontainer .PopupMenuControl .popupmenuitem .popupmenuitemcheckbox[status=disabled] +{ + background : URL('./images/chk_WF_Box_D.png') no-repeat left center; +} +#nexacontainer .PopupMenu .popupmenuitem .popupmenuitemhotkeytext[status=disabled] +{ + color : #4577b9; +} +#nexacontainer .PopupMenuControl .popupmenuitem .popupmenuitemhotkeytext[status=disabled] +{ + color : #4577b9; +} +#nexacontainer .ProgressBar .progressbaritem[status=disabled] +{ + background : #b5b5b5; +} +#nexacontainer .ProgressBarControl .progressbaritem[status=disabled] +{ + background : #b5b5b5; +} +#nexacontainer .Sketch[status=disabled] +{ + background : #efefef; +} +#nexacontainer .Spin[status=disabled] +{ + color : #999999; + background : #efefef; +} +#nexacontainer .Spin .spinedit[status=disabled] .nexainput +{ + padding : 1px 2px 0px 9px; +} +#nexacontainer .Static[status=disabled] +{ + color : #999999; +} +#nexacontainer .StaticControl[status=disabled] +{ + color : #999999; +} +#nexacontainer .TextArea[status=disabled] +{ + color : #999999; + background : #efefef; +} +#nexacontainer .TextAreaControl[status=disabled] +{ + color : #999999; + background : #efefef; +} +#nexacontainer .Tab .tabbuttonitemTab[status=disabled] +{ + color : #ababab; + background : #e7e7e7; +} +#nexacontainer .Tab .tabbuttonitemTab .tabbuttonitemtext[status=disabled] +{ + color : #c8c8c8; +} +#nexacontainer .DatePickerControl .head[status=disabled] +{ + background : #94a9bf; + color : #cdcdcd; +} +#nexacontainer .DatePickerControl .head .yearstatic[status=disabled] +{ + color : #c7d4e2; +} +#nexacontainer .DatePickerControl .head .monthstatic[status=disabled] +{ + color : #c7d4e2; +} +#nexacontainer .DatePickerControl .body[status=disabled] +{ + border : 1px solid #98a6b5; +} +#nexacontainer .DatePickerControl .body .weekband[status=disabled] +{ + background : #94a9bf; +} +#nexacontainer .DatePickerControl .body .weekitem[status=disabled] +{ + color : #c7d4e2; + background : #94a9bf; +} +#nexacontainer .DatePickerControl .body .dayitem[status=disabled] +{ + color : #cdcdcd; +} +#nexacontainer .VScrollBarControl .trackbar[status=disabled] +{ + background : #eeeeee; + border : 1px solid #d8d8d8; +} +#nexacontainer .HScrollBarControl .trackbar[status=disabled] +{ + background : #eeeeee; + border : 1px solid #d8d8d8; +} +#nexacontainer .ListView[status=disabled] +{ + background : #666666; +} +#nexacontainer .ListView .body[status=disabled] +{ + color : #999999; +} +#nexacontainer .ListView .detail[status=disabled] +{ + color : #999999; +} +#nexacontainer .ListViewBandControl.popupListViewdetail[status=disabled] +{ + color : #999999; +} +#nexacontainer .ListView .body .cell[status=disabled] +{ + border : 1px solid #dbdee2; +} +#nexacontainer .ListView .detail .cell[status=disabled] +{ + border : 1px solid #dbdee2; +} +#nexacontainer .ListViewBandControl.popupListViewdetail .cell[status=disabled] +{ + border : 1px solid #dbdee2; +} +#nexacontainer .ListViewCellControl .cellbutton[status=disabled] +{ + color : #bbbbbb; + background : #f5f5f5; + border : 1px solid #d9d9d9; +} +#nexacontainer .ListViewCellControl .celledit[status=disabled] +{ + color : #999999; + background : #efefef; +} +#nexacontainer .ListViewCellControl .cellmaskedit[status=disabled] +{ + color : #999999; + background : #efefef; +} +#nexacontainer .ListView .body .expandbar[status=disabled] +{ + color : #bbbbbb; + background : #f5f5f5; + border : 1px solid #d9d9d9; +} +#nexacontainer .CheckBox[status=disabled][userstatus=selected] +{ + color : #999999; +} +#nexacontainer .CheckBoxControl[status=disabled][userstatus=selected] +{ + color : #999999; +} +#nexacontainer .Grid .body .row .cell[status=disabled][userstatus=selected] +{ + background : #f0f0f0; +} +#nexacontainer .Tab .tabbuttonitemTab[status=focused][userstatus=selected] +{ + color : #dee4ef; + background : #1055a1; + border : 1px solid #1055a1; +} +#nexacontainer .Tab .tabbuttonitemTab[status=disabled][userstatus=selected] +{ + border : 1px solid #c7d4e2; + background : #94a9bf; +} +#nexacontainer .DatePickerControl .body .dayitem[status=mouseover][userstatus=saturday] +{ + color : #ffffff; +} +#nexacontainer .DatePickerControl .body .dayitem[status=mouseover][userstatus=sunday] +{ + color : #ffffff; +} +#nexacontainer .DatePickerControl .body .dayitem[status=mouseover][userstatus=trailingday] +{ + color : #ffffff; +} +#nexacontainer .DatePickerControl .body .dayitem[status=disabled][userstatus=selected] +{ + background : #f0f0f0; +} diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/theme_ie11.css b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/theme_ie11.css new file mode 100644 index 0000000..b9d1a5b --- /dev/null +++ b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/theme_ie11.css @@ -0,0 +1,2021 @@ + +@media screen and (min-width:0\0) and (-ms-high-contrast: active) +{ +.nexacontentsbox {-ms-high-contrast-adjust:none; } +} + +html, body +{ + position:absolute; + width:100%; + height:100%; + font:12pt Verdana; +} + +div +{ + position:absolute; + box-sizing:border-box; + overflow:hidden; + background-origin:padding-box; + background-repeat:no-repeat; + white-space : pre; + -ms-user-select:none; + -moz-user-select:-moz-none; + -webkit-user-select:none; + -webkit-touch-callout:none; + -webkit-appearance:none; + -webkit-tap-highlight-color:rgba(0,0,0,0); + outline:none; +} + +table +{ + position:absolute; + box-sizing:border-box; + overflow:hidden; +} + +input +{ + position:absolute; + box-sizing:border-box; + overflow:hidden; +} + +img +{ + position:absolute; + box-sizing:border-box; +} + +input::-ms-clear,input::-ms-reveal +{ + display: none; +} + + +.nexacontainer +{ + position:absolute; + left:0px; + top:0px; + width:100%; + height:100%; +} +.nexacontainer.withvscroll +{ + right:14px; +} +.nexacontainer.withhscroll +{ + bottom:14px; +} +.nexacontainer.withbothscroll +{ + right:14px; + bottom:14px; +} + +.nexalefttop +{ + left:0px; + top:0px; + background-repeat:no-repeat; + background-position:left top; + font-size:1px; +} +.nexaleftbottom +{ + left:0px; + bottom:0px; + background-repeat:no-repeat; + background-position:left bottom; + font-size:1px; +} +.nexarightbottom +{ + right:0px; + bottom:0px; + background-repeat:no-repeat; + background-position:right bottom; + font-size:1px; +} +.nexarighttop +{ + right:0px; + top:0px; + background-repeat:no-repeat; + background-position:right top; +} +.nexaedge +{ + width:100%; + height:100%; +} +.nexamodaloverlay +{ + width:100%; + height:100%; +} +.nexainnercontainer +{ + transform : translate3d(0px, 0px, 0); +} + +.nexatransform +{ + transform : translate3d(0px, 0px, 0); +} + +.nexacontentsbox +{ + position:relative; + display:table-cell; + background-position:left center; + background-repeat:no-repeat; + vertical-align:middle; + pointer-events:none; +} +.nexatextitem +{ + position:relative; + vertical-align:middle; + white-space:inherit; + word-wrap:inherit; + word-break:inherit; + text-decoration:inherit; +} +.nexaiconitem +{ + position:relative; + vertical-align:middle; + background-position:center center; + background-repeat:no-repeat; +} + +.nexainput +{ + font:inherit; + color:inherit; + cursor:inherit; + letter-spacing:inherit; + word-spacing:inherit; + border:none; + outline:none; + background:transparent; + padding : 0px; +} + +.nexatextarea +{ + font:inherit; + color:inherit; + cursor:inherit; + line-height : inherit; + letter-spacing:inherit; + word-spacing:inherit; + white-space:pre; + word-wrap:normal; + border:none; + outline:none; + resize:none; + background:transparent; + padding : 0px; + box-sizing:border-box; +} + +.nexaleftalign +{ + text-align:left; +} + +.nexarightalign +{ + text-align:right; +} + +.nexacenteralign +{ + text-align:center; +} + +.nexamap div * +{ + overflow:visible; +} + +.nexanativescroll +{ + overflow:scroll; + -ms-overflow-style:none; + color:black; +} + +.celltreeline +{ + border : 1px dotted #999999; +} + +.Edit, .MaskEdit, .TextArea, .EditControl, .MaskEditControl, .TextAreaControl +{ + cursor:text; +} +.Button .nexacontentsbox, .ButtonControl .nexacontentsbox +{ + text-align:center; + background-position:center center; +} + +.FileDownload .nexacontentsbox, .FileDownloadControl .nexacontentsbox +{ + text-align:center; + background-position:center center; +} + +.IconTextControl .nexacontentsbox, .IconControl .nexacontentsbox +{ + text-align:center; + background-position:center center; +} + +.DatePickerDayItemControl .nexacontentsbox, .DatePickerWeekItemControl .nexacontentsbox, .TitleBarButtonControl .nexacontentsbox +{ + text-align:center; + background-position:center center; +} + +.MainFrame, .VScrollBarControl, .HScrollBarControl +{ + cursor:default; +} + +.Form +{ + font : 12px Gulim; + color : #555555; + background : #ffffff; + border : 0px none; +} +.Button +{ + background : #eaeaea; + background : linear-gradient(to top,#eaeaea,#ffffff); + border : 1px solid #c2c2c2; +} +.FileDownload +{ + background : #eaeaea; + background : linear-gradient(to top,#eaeaea,#ffffff); + border : 1px solid #c2c2c2; +} +.ButtonControl +{ + background : transparent; + border : 0px none; +} +.FileUpload .fileuploaditem .fileuploaditembutton +{ + background : #eaeaea; + background : linear-gradient(to top,#eaeaea,#ffffff); + border : 1px solid #c2c2c2; +} +.Calendar +{ + background : #ffffff; + border : 1px solid #d5d5d5; +} +.CalendarControl +{ + background : #ffffff; + border : 1px solid #d5d5d5; +} +.Combo +{ + background : #ffffff; + border : 1px solid #d5d5d5; +} +.ComboControl +{ + background : #ffffff; + border : 1px solid #d5d5d5; +} +.ListBoxControl.popupCombocombolist.dummy +{ + font : 12px Gulim; + color : #555555; + background : #ffffff; + border : 1px solid #b1b1b1; +} +.ListBoxControl.popupComboControlcombolist.dummy +{ + font : 12px Gulim; + color : #555555; + background : #ffffff; + border : 1px solid #b1b1b1; +} +.Edit +{ + background : #ffffff; + border : 1px solid #d5d5d5; +} +.Edit .nexainput +{ + padding : 1px 9px 0px 9px; +} +.FileUpload .fileuploaditem .fileuploaditemedit +{ + background : #ffffff; + border : 1px solid #d5d5d5; +} +.FileUpload .fileuploaditem .fileuploaditemedit .nexainput +{ + padding : 1px 9px 0px 9px; +} +.EditControl +{ + background : transparent; + border : 0px none; +} +.EditControl .nexainput +{ + padding : 1px 9px 0px 9px; +} +.Grid +{ + background : #ffffff; + border-top : 2px solid #125dae; + border-right : 1px solid #b7b1b2; + border-bottom : 1px solid #b7b1b2; + border-left : 1px solid #b7b1b2; +} +.Grid .head .row .cell +{ + font : bold 12px Gulim; + color : #2f2f2f; + background : #eff0f0; + background : linear-gradient(to top, #eff0f0, #f9fafa); + border : 1px solid #cacaca; +} +.Grid .head .row .cell > .nexacontentsbox +{ + text-align : center; + background-position-x : center; +} +.Grid .body .row .cell +{ + color : #666666; + border : 1px solid #dbdee2; +} +.Grid .body .row .cell .subcell +{ + color : #666666; + border : 1px solid #dbdee2; +} +.Grid .body .selection +{ + border : 2px solid #125dae; +} +.Grid .summary +{ + border-top : 1px solid #c8c1c2; + border-right : 0px none; + border-bottom : 0px none; + border-left : 0px none; +} +.Grid .summary .row .cell +{ + font : bold 12px Gulim; + color : #333333; + background : #fdfbe5; + border : 1px solid #c8c1c2; +} +.Grid .summary .row .cell > .nexacontentsbox +{ + text-align : center; + background-position-x : center; +} +.Grid .hscrollbar +{ + border-top : 1px solid #b1b1b1; + border-right : 0px none; + border-bottom : 0px none; + border-left : 0px none; +} +.Grid .vscrollbar +{ + border-top : 0px none; + border-right : 0px none; + border-bottom : 0px none; + border-left : 1px solid #b1b1b1; +} +.GridCellControl .cellbutton +{ + font : 12px Gulim; + color : #555555; + background : #eaeaea; + background : linear-gradient(to top,#eaeaea,#ffffff); + border : 1px solid #c2c2c2; +} +.GridCellControl .cellcalendar +{ + font : 12px Gulim; +} +.GridCellControl .cellcheckbox +{ + font : 12px Gulim; +} +.GridCellControl .cellcombo +{ + font : 12px Gulim; +} +.ListBoxControl.popupGridCellControlcellcombocombolist.dummy.dummy +{ + font : 12px Gulim; + color : #555555; +} +.GridCellControl .celledit +{ + font : 12px Gulim; + background : #ffffff; + border : 1px solid #d5d5d5; +} +.GridCellControl .celledit .nexainput +{ + padding : 1px 9px 0px 9px; +} +.GridCellControl .cellmaskedit +{ + font : 12px Gulim; + background : #ffffff; + border : 1px solid #d5d5d5; +} +.GridCellControl .cellmaskedit .nexainput +{ + padding : 1px 9px 0px 9px; +} +.GridCellControl .cellprogressbar +{ + font : 12px Gulim; +} +.GridCellControl .celltextarea +{ + font : 12px Gulim; +} +.GridCellControl .celltreeitem .treeitemtext +{ + font : 12px Gulim; + color : #666666; +} +.GridCellControl .celltreeline +{ + border : 1px dotted #909090; +} +.GroupBox .groupboxcontents +{ + background : #ffffff; + border : 1px solid #d6d4d5; +} +.GroupBox .groupboxtitle +{ + background : #ffffff; +} +.ImageViewer +{ + background : #ffffff; + border : 1px solid #d5d5d5; +} +.ImageViewer .imagetext .nexacontentsbox +{ + text-align : center; + background-position-x : center; +} +.ListBox +{ + background : #ffffff; + border : 1px solid #d5d5d5; +} +.ListBoxControl +{ + background : #ffffff; + border : 1px solid #d5d5d5; +} +.ListBox .listboxitem +{ + color : #555555; +} +.ListBoxControl .listboxitem +{ + color : #555555; +} +.MaskEdit +{ + background : #ffffff; + border : 1px solid #d5d5d5; +} +.MaskEdit .nexainput +{ + padding : 1px 9px 0px 9px; +} +.MaskEditControl +{ + background : transparent; + border : 0px none; +} +.MaskEditControl .nexainput +{ + padding : 1px 9px 0px 9px; +} +.Menu +{ + background : #1059a8; + background : linear-gradient(to top, #1059a8, #125dae); +} +.Menu .menuitem +{ + font : bold 13px Gulim; + color : #ffffff; +} +.PopupMenuControl.popupMenumenupopupmenu.dummy +{ + font : 12px Gulim; + color : #555555; + background : #0753a5; + border : 1px solid #034389; +} +.PopupMenuControl.popupMenumenupopupmenu.dummy .popupmenuitem +{ + color : #c3e0ff; + border-top : 0px none; + border-right : 0px none; + border-bottom : 1px solid #2065ae; + border-left : 0px none; +} +.PopupMenuControl.popupMenumenupopupmenu.dummy .popupmenuitem .popupmenuitemtext +{ + color : #c3e0ff; +} +.PopupMenuControl.popupMenumenupopupmenu.dummy .popupmenuitem .popupmenuitemhotkeytext +{ + color : #6d95cc; +} +.PopupMenuControl.popupMenumenupopupmenu.dummy .popupmenuitem .popupmenuitemhotkeytext .nexacontentsbox +{ + text-align : right; + background-position-x : right; +} +.Plugin +{ + border : 1px solid #d5d5d5; +} +.PluginControl +{ + border : 1px solid #d5d5d5; +} +.PopupMenu +{ + font : 12px Gulim; + color : #555555; + background : #ffffff; + border : 1px solid #b5b5b5; +} +.PopupMenuControl +{ + font : 12px Gulim; + color : #555555; + background : #ffffff; + border : 1px solid #b5b5b5; +} +.PopupMenu .popupmenuitem +{ + color : #555555; +} +.PopupMenuControl .popupmenuitem +{ + color : #555555; +} +.PopupMenu .popupmenuitem .popupmenuitemcheckbox +{ + background : URL('./images/chk_WF_Box_F.png') no-repeat left center; +} +.PopupMenuControl .popupmenuitem .popupmenuitemcheckbox +{ + background : URL('./images/chk_WF_Box_F.png') no-repeat left center; +} +.PopupMenu .popupmenuitem .popupmenuitemhotkeytext +{ + color : #aaaaaa; +} +.PopupMenu .popupmenuitem .popupmenuitemhotkeytext .nexacontentsbox +{ + text-align : right; + background-position-x : right; +} +.PopupMenuControl .popupmenuitem .popupmenuitemhotkeytext +{ + color : #aaaaaa; +} +.PopupMenuControl .popupmenuitem .popupmenuitemhotkeytext .nexacontentsbox +{ + text-align : right; + background-position-x : right; +} +.ProgressBar +{ + background : #f0f0f0; + background : linear-gradient(to top, #f0f0f0, #e7e7e7); + border-top : 1px solid #aeaeae; + border-right : 1px solid #d2d0d1; + border-bottom : 1px solid #d2d0d1; + border-left : 1px solid #d2d0d1; +} +.ProgressBarControl +{ + background : #f0f0f0; + background : linear-gradient(to top, #f0f0f0, #e7e7e7); + border-top : 1px solid #aeaeae; + border-right : 1px solid #d2d0d1; + border-bottom : 1px solid #d2d0d1; + border-left : 1px solid #d2d0d1; +} +.ProgressBar .progressbaritem +{ + background : #125dae; +} +.ProgressBarControl .progressbaritem +{ + background : #125dae; +} +.ProgressBar .progressbartext +{ + color : #ffffff; +} +.ProgressBar .progressbartext .nexacontentsbox +{ + text-align : center; + background-position-x : center; +} +.ProgressBarControl .progressbartext +{ + color : #ffffff; +} +.ProgressBarControl .progressbartext .nexacontentsbox +{ + text-align : center; + background-position-x : center; +} +.Sketch +{ + background : #ffffff; + border : 1px solid #d5d5d5; +} +.Spin +{ + background : #ffffff; + border : 1px solid #d5d5d5; +} +.Spin .spinedit .nexainput +{ + padding : 0px 3px 0px 3px; + text-align : right; +} +.Spin .spinedit .nexacontentsbox +{ + text-align : right; + background-position-x : right; +} +.TextArea +{ + background : #ffffff; + border : 1px solid #d5d5d5; +} +.TextArea .nexatextarea +{ + padding : 9px 9px 9px 9px; +} +.TextAreaControl +{ + background : #ffffff; + border : 1px solid #d5d5d5; +} +.TextAreaControl .nexatextarea +{ + padding : 9px 9px 9px 9px; +} +.WebBrowser +{ + border : 1px solid #d5d5d5; +} +.WebBrowserControl +{ + border : 1px solid #d5d5d5; +} +.Tab .tabpageTab +{ + border-top : 1px solid #cfcfcf; + border-right : 0px none; + border-bottom : 0px none; + border-left : 0px none; +} +.Tab .tabbuttonitemTab +{ + color : #333333; + background : #fcfcfc; + background : linear-gradient(to top, #fcfcfc, #fafafa); + border : 1px solid #c7c7c7; +} +.DatePickerControl +{ + background : #ffffff; +} +.DatePickerControl .head +{ + background : #125dae; +} +.DatePickerControl .head .yearstatic +{ + font : bold 14px Tahoma; + color : #ffffff; +} +.DatePickerControl .head .monthstatic +{ + font : bold 14px Tahoma; + color : #ffffff; +} +.DatePickerControl .head .yearspin .spinedit +{ + font : bold 14px Tahoma; + color : #ffffff; + background : #0042a0; +} +.DatePickerControl .head .monthspin .spinedit +{ + font : bold 14px Tahoma; + color : #ffffff; + background : #0042a0; +} +.DatePickerControl .body +{ + border-top : 1px solid #125dae; + border-right : 1px solid #697888; + border-bottom : 1px solid #697888; + border-left : 1px solid #697888; +} +.DatePickerControl .body .weekband +{ + background : #125dae; +} +.DatePickerControl .body .weekitem +{ + color : #ffffff; +} +.DatePickerControl .body .dayitem +{ + color : #333333; +} +.VScrollBarControl +{ + background : #ffffff; + background : linear-gradient(to left,#ffffff,#f7f7f7); + border : 1px solid #b1b1b1; +} +.HScrollBarControl +{ + background : #ffffff; + background : linear-gradient(to top,#ffffff,#f7f7f7); + border : 1px solid #b1b1b1; +} +.VScrollBarControl .trackbar +{ + background : #dddddd; + border : 1px solid #c8c8c8; +} +.HScrollBarControl .trackbar +{ + background : #dddddd; + border : 1px solid #c8c8c8; +} +.VScrollIndicatorControl +{ + background : #f2f2f2; +} +.HScrollIndicatorControl +{ + background : #f2f2f2; +} +.VScrollIndicatorControl .trackbar +{ + background : #cccccc; + border : 2px solid transparent; +} +.HScrollIndicatorControl .trackbar +{ + background : #cccccc; + border : 2px solid transparent; +} +.StatusBarControl +{ + background : #e7e7e7; +} +.StatusBarControl .progressbar +{ + background : #eaeaea; + border-top : 1px solid #afaeae; + border-right : 1px solid #d2d0d0; + border-bottom : 1px solid #d2d0d0; + border-left : 1px solid #d2d0d0; +} +.StatusBarControl .progressbar .progressbaritem +{ + background : #4ca0e2; +} +.StatusBarControl .resizegrip .nexacontentsbox +{ + vertical-align : bottom; + background-position-y : bottom; +} +.TitleBarControl +{ + font : bold 12px Gulim; + color : #ffffff; + background : #003284; +} +.ListView +{ + border : 1px solid #d5d5d5; + background : #ebecee; + color : #666666; +} +.ListView .body +{ + border-top : 0px none; + border-right : 0px none; + border-bottom : 1px solid #dbdee2; + border-left : 0px none; + background : #ffffff; + font : 12px Gulim; +} +.ListView .detail +{ + border-top : 0px none; + border-right : 0px none; + border-bottom : 1px solid #dbdee2; + border-left : 0px none; + background : #f9f9f9; + font : 12px Gulim; +} +.ListViewBandControl.popupListViewdetail +{ + border-top : 0px none; + border-right : 0px none; + border-bottom : 1px solid #dbdee2; + border-left : 0px none; + background : #f9f9f9; + font : 12px Gulim; +} +.ListView .body .cell +{ + border : 1px solid #dbdee2; +} +.ListView .detail .cell +{ + border : 1px solid #dbdee2; +} +.ListViewBandControl.popupListViewdetail .cell +{ + border : 1px solid #dbdee2; +} +.ListViewCellControl .cellbutton +{ + font : 12px Gulim; + color : #555555; + background : #eaeaea; + background : linear-gradient(to top,#eaeaea,#ffffff); + border : 1px solid #c2c2c2; +} +.ListViewCellControl .cellcalendar +{ + font : 12px Gulim; +} +.ListViewCellControl .cellcheckbox +{ + font : 12px Gulim; +} +.ListViewCellControl .cellcombo +{ + font : 12px Gulim; +} +.ListBoxControl.popupListViewCellControlcellcombocombolist.dummy.dummy +{ + font : 12px Gulim; + color : #555555; +} +.ListViewCellControl .celledit +{ + font : 12px Gulim; + background : #ffffff; + border : 1px solid #d5d5d5; +} +.ListViewCellControl .celledit .nexainput +{ + padding : 1px 9px 0px 9px; +} +.ListViewCellControl .cellmaskedit +{ + font : 12px Gulim; + background : #ffffff; + border : 1px solid #d5d5d5; +} +.ListViewCellControl .cellmaskedit .nexainput +{ + padding : 1px 9px 0px 9px; +} +.ListViewCellControl .cellprogressbar +{ + font : 12px Gulim; +} +.ListViewCellControl .celltextarea +{ + font : 12px Gulim; +} +.ListView .body .expandbar +{ + background : #eaeaea; + background : linear-gradient(to top,#eaeaea,#ffffff); + border : 1px solid #c2c2c2; +} +#nexacontainer .Button[status=mouseover] +{ + background : #e7e7e7; + background : linear-gradient(to top,#e7e7e7,#fefefe); + border : 1px solid #a0a0a0; +} +#nexacontainer .Button[status=focused] +{ + background : #e7e7e7; + background : linear-gradient(to top,#e7e7e7,#fefefe); + border : 1px solid #a0a0a0; +} +#nexacontainer .FileDownload[status=mouseover] +{ + background : #e7e7e7; + background : linear-gradient(to top,#e7e7e7,#fefefe); + border : 1px solid #a0a0a0; +} +#nexacontainer .FileDownload[status=focused] +{ + background : #e7e7e7; + background : linear-gradient(to top,#e7e7e7,#fefefe); + border : 1px solid #a0a0a0; +} +#nexacontainer .FileUpload .fileuploaditem .fileuploaditembutton[status=mouseover] +{ + background : #e7e7e7; + background : linear-gradient(to top,#e7e7e7,#fefefe); + border : 1px solid #a0a0a0; +} +#nexacontainer .FileUpload .fileuploaditem .fileuploaditembutton[status=focused] +{ + background : #e7e7e7; + background : linear-gradient(to top,#e7e7e7,#fefefe); + border : 1px solid #a0a0a0; +} +#nexacontainer .Calendar[status=mouseover] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .CalendarControl[status=mouseover] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .Calendar[status=focused] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .CalendarControl[status=focused] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .Calendar[status=readonly] +{ + background : #efefef; +} +#nexacontainer .CalendarControl[status=readonly] +{ + background : #efefef; +} +#nexacontainer .Combo[status=mouseover] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .Combo[status=focused] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .ComboControl[status=mouseover] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .ComboControl[status=focused] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .Combo[status=readonly] +{ + background : #efefef; +} +#nexacontainer .ComboControl[status=readonly] +{ + background : #efefef; +} +#nexacontainer .Edit[status=mouseover] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .Edit[status=focused] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .FileUpload .fileuploaditem .fileuploaditemedit[status=mouseover] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .FileUpload .fileuploaditem .fileuploaditemedit[status=focused] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .Edit[status=readonly] +{ + background : #efefef; +} +#nexacontainer .Grid .body .row .cell[status=mouseover] +{ + background : #f6f6f6; +} +#nexacontainer .Grid .body .row .cell .subcell[status=mouseover] +{ + background : #f6f6f6; +} +#nexacontainer .GridCellControl .cellbutton[status=mouseover] +{ + background : #e7e7e7; + background : linear-gradient(to top,#e7e7e7,#fefefe); + border : 1px solid #a0a0a0; +} +#nexacontainer .GridCellControl .cellbutton[status=focused] +{ + background : #e7e7e7; + background : linear-gradient(to top,#e7e7e7,#fefefe); + border : 1px solid #a0a0a0; +} +#nexacontainer .ListBoxControl.popupGridCellControlcellcombocombolist.dummy.dummy .listboxitem[status=mouseover] +{ + background : #e8e9ed; +} +#nexacontainer .GridCellControl .celledit[status=mouseover] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .GridCellControl .celledit[status=focused] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .GridCellControl .cellmaskedit[status=mouseover] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .GridCellControl .cellmaskedit[status=focused] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .ListBox[status=mouseover] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .ListBox[status=focused] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .ListBoxControl[status=mouseover] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .ListBoxControl[status=focused] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .ListBox .listboxitem[status=mouseover] +{ + background : #e7e9ed; +} +#nexacontainer .ListBoxControl .listboxitem[status=mouseover] +{ + background : #e7e9ed; +} +#nexacontainer .MaskEdit[status=mouseover] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .MaskEdit[status=focused] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .MaskEdit[status=readonly] +{ + background : #efefef; +} +#nexacontainer .Menu .menuitem[status=mouseover] +{ + background : URL('./images/img_WF_Menu_O.png') no-repeat center top; +} +#nexacontainer .PopupMenuControl.popupMenumenupopupmenu.dummy .popupmenuitem[status=mouseover] +{ + color : #ffffff; + background : transparent; +} +#nexacontainer .PopupMenuControl.popupMenumenupopupmenu.dummy .popupmenuitem[status=focused] +{ + color : #ffffff; + background : transparent; +} +#nexacontainer .PopupMenuControl.popupMenumenupopupmenu.dummy .popupmenuitem .popupmenuitemtext[status=mouseover] +{ + color : #ffffff; +} +#nexacontainer .PopupMenuControl.popupMenumenupopupmenu.dummy .popupmenuitem .popupmenuitemhotkeytext[status=mouseover] +{ + color : #ffffff; +} +#nexacontainer .PopupMenu .popupmenuitem[status=mouseover] +{ + background : #e7e9ed; +} +#nexacontainer .PopupMenu .popupmenuitem[status=focused] +{ + background : #e7e9ed; +} +#nexacontainer .PopupMenuControl .popupmenuitem[status=mouseover] +{ + background : #e7e9ed; +} +#nexacontainer .PopupMenuControl .popupmenuitem[status=focused] +{ + background : #e7e9ed; +} +#nexacontainer .PopupMenu .popupmenuitem .popupmenuitemcheckbox[status=mouseover] +{ + background : URL('./images/chk_WF_Box_F.png') no-repeat left center; +} +#nexacontainer .PopupMenuControl .popupmenuitem .popupmenuitemcheckbox[status=mouseover] +{ + background : URL('./images/chk_WF_Box_F.png') no-repeat left center; +} +#nexacontainer .Spin[status=mouseover] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .Spin[status=focused] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .Spin[status=readonly] +{ + background : #efefef; +} +#nexacontainer .TextArea[status=mouseover] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .TextArea[status=focused] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .TextAreaControl[status=mouseover] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .TextAreaControl[status=focused] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .TextArea[status=readonly] +{ + background : #efefef; + border : 1px solid #d5d5d5; +} +#nexacontainer .TextAreaControl[status=readonly] +{ + background : #efefef; + border : 1px solid #d5d5d5; +} +#nexacontainer .Tab .tabbuttonitemTab[status=mouseover] +{ + border : 1px solid #b1b1b1; + background : #dddcdc; + background : linear-gradient(to top, #dddcdc, #fefefe); +} +#nexacontainer .Tab .tabbuttonitemTab[status=focused] +{ + color : #dee4ef; +} +#nexacontainer .DatePickerControl .body .dayitem[status=mouseover] +{ + color : #ffffff; + background : #8da3c7; +} +#nexacontainer .DatePickerControl .body .dayitem[status=focused] +{ + color : #ffffff; + background : #125dae; +} +#nexacontainer .VScrollBarControl .trackbar[status=focused] +{ + background : #999999; + border : 1px solid #888888; +} +#nexacontainer .HScrollBarControl .trackbar[status=focused] +{ + background : #999999; + border : 1px solid #888888; +} +#nexacontainer .VScrollBarControl .trackbar[status=mouseover] +{ + background : #bbbbbb; + border : 1px solid #a8a8a8; +} +#nexacontainer .HScrollBarControl .trackbar[status=mouseover] +{ + background : #bbbbbb; + border : 1px solid #a8a8a8; +} +#nexacontainer .VScrollIndicatorControl .trackbar[status=mouseover] +{ + background : #999999; +} +#nexacontainer .HScrollIndicatorControl .trackbar[status=mouseover] +{ + background : #999999; +} +#nexacontainer .ListView[status=readonly] +{ + border : 1px solid #d5d5d5; + background : #ebecee; + color : #666666; +} +#nexacontainer .ListView[status=mouseover] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .ListView[status=focused] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .ListView .body[status=readonly] +{ + border-top : 0px none; + border-right : 0px none; + border-bottom : 1px solid #dbdee2; + border-left : 0px none; + background : #ffffff; + font : 12px Gulim; +} +#nexacontainer .ListView .detail[status=readonly] +{ + border-top : 0px none; + border-right : 0px none; + border-bottom : 1px solid #dbdee2; + border-left : 0px none; + background : #ffffff; + font : 12px Gulim; +} +#nexacontainer .ListViewBandControl.popupListViewdetail[status=readonly] +{ + border-top : 0px none; + border-right : 0px none; + border-bottom : 1px solid #dbdee2; + border-left : 0px none; + background : #ffffff; + font : 12px Gulim; +} +#nexacontainer .ListView .body[status=focused] +{ + border-top : 0px none; + border-right : 0px none; + border-bottom : 1px solid #dbdee2; + border-left : 0px none; + background : #ffffff; + font : 12px Gulim; +} +#nexacontainer .ListView .detail[status=focused] +{ + border-top : 0px none; + border-right : 0px none; + border-bottom : 1px solid #dbdee2; + border-left : 0px none; + background : #ffffff; + font : 12px Gulim; +} +#nexacontainer .ListViewBandControl.popupListViewdetail[status=focused] +{ + border-top : 0px none; + border-right : 0px none; + border-bottom : 1px solid #dbdee2; + border-left : 0px none; + background : #ffffff; + font : 12px Gulim; +} +#nexacontainer .ListView .body[status=mouseover] +{ + border-top : 0px none; + border-right : 0px none; + border-bottom : 1px solid #dbdee2; + border-left : 0px none; + background : #ffffff; + font : 12px Gulim; +} +#nexacontainer .ListView .detail[status=mouseover] +{ + border-top : 0px none; + border-right : 0px none; + border-bottom : 1px solid #dbdee2; + border-left : 0px none; + background : #ffffff; + font : 12px Gulim; +} +#nexacontainer .ListViewBandControl.popupListViewdetail[status=mouseover] +{ + border-top : 0px none; + border-right : 0px none; + border-bottom : 1px solid #dbdee2; + border-left : 0px none; + background : #ffffff; + font : 12px Gulim; +} +#nexacontainer .ListView .body .cell[status=readonly] +{ + border : 1px solid #dbdee2; +} +#nexacontainer .ListView .detail .cell[status=readonly] +{ + border : 1px solid #dbdee2; +} +#nexacontainer .ListViewBandControl.popupListViewdetail .cell[status=readonly] +{ + border : 1px solid #dbdee2; +} +#nexacontainer .ListView .body .cell[status=focused] +{ + border : 1px solid #dbdee2; +} +#nexacontainer .ListView .detail .cell[status=focused] +{ + border : 1px solid #dbdee2; +} +#nexacontainer .ListViewBandControl.popupListViewdetail .cell[status=focused] +{ + border : 1px solid #dbdee2; +} +#nexacontainer .ListView .body .cell[status=mouseover] +{ + border : 1px solid #c4c9cf; +} +#nexacontainer .ListView .detail .cell[status=mouseover] +{ + border : 1px solid #c4c9cf; +} +#nexacontainer .ListViewBandControl.popupListViewdetail .cell[status=mouseover] +{ + border : 1px solid #c4c9cf; +} +#nexacontainer .ListViewCellControl .cellbutton[status=mouseover] +{ + background : #e7e7e7; + background : linear-gradient(to top,#e7e7e7,#fefefe); + border : 1px solid #a0a0a0; +} +#nexacontainer .ListViewCellControl .cellbutton[status=focused] +{ + background : #e7e7e7; + background : linear-gradient(to top,#e7e7e7,#fefefe); + border : 1px solid #a0a0a0; +} +#nexacontainer .ListBoxControl.popupListViewCellControlcellcombocombolist.dummy.dummy .listboxitem[status=mouseover] +{ + background : #e8e9ed; +} +#nexacontainer .ListViewCellControl .celledit[status=mouseover] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .ListViewCellControl .celledit[status=focused] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .ListViewCellControl .cellmaskedit[status=mouseover] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .ListViewCellControl .cellmaskedit[status=focused] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .ListView .body .expandbar[status=mouseover] +{ + background : #e7e7e7; + background : linear-gradient(to top,#e7e7e7,#fefefe); + border : 1px solid #a0a0a0; +} +#nexacontainer .ListView .body .expandbar[status=focused] +{ + background : #e7e7e7; + background : linear-gradient(to top,#e7e7e7,#fefefe); + border : 1px solid #a0a0a0; +} +#nexacontainer .Form[userstatus=contents] +{ + background : transparent; +} +#nexacontainer .Button[userstatus=pushed] +{ + background : #fefefe; + background : linear-gradient(to top,#fefefe,#e9e9e9); +} +#nexacontainer .Button[userstatus=selected] +{ + background : #fefefe; + background : linear-gradient(to top,#fefefe,#e9e9e9); +} +#nexacontainer .FileDownload[userstatus=pushed] +{ + background : #fefefe; + background : linear-gradient(to top,#fefefe,#e9e9e9); +} +#nexacontainer .FileUpload .fileuploaditem .fileuploaditembutton[userstatus=pushed] +{ + background : #fefefe; + background : linear-gradient(to top,#fefefe,#e9e9e9); +} +#nexacontainer .FileUpload .fileuploaditem .fileuploaditembutton[userstatus=selected] +{ + background : #fefefe; + background : linear-gradient(to top,#fefefe,#e9e9e9); +} +#nexacontainer .Edit[userstatus=nulltext] +{ + color : #999999; +} +#nexacontainer .EditControl[userstatus=nulltext] +{ + color : #999999; +} +#nexacontainer .MaskEdit[userstatus=nulltext] +{ + color : #999999; +} +#nexacontainer .MaskEditControl[userstatus=nulltext] +{ + color : #999999; +} +#nexacontainer .TextArea[userstatus=nulltext] +{ + color : #999999; +} +#nexacontainer .TextAreaControl[userstatus=nulltext] +{ + color : #999999; +} +#nexacontainer .Calendar[userstatus=invalidtext] +{ + color : #999999; +} +#nexacontainer .CalendarControl[userstatus=invalidtext] +{ + color : #999999; +} +#nexacontainer .MaskEdit[userstatus=invalidtext] +{ + color : #999999; +} +#nexacontainer .MaskEditControl[userstatus=invalidtext] +{ + color : #999999; +} +#nexacontainer .Spin[userstatus=invalidtext] +{ + color : #999999; +} +#nexacontainer .SpinControl[userstatus=invalidtext] +{ + color : #999999; +} +#nexacontainer .Grid .body .row .cell[userstatus=selected] +{ + background : #f2f9ff; +} +#nexacontainer .Grid .body .row .cell .subcell[userstatus=selected] +{ + background : #f2f9ff; +} +#nexacontainer .Grid .body .row .cell .subcell[userstatus=blinked] +{ + background : #125dae; + color : #ffffff; +} +#nexacontainer .GridCellControl .cellbutton[userstatus=pushed] +{ + background : #fefefe; + background : linear-gradient(to top,#fefefe,#e9e9e9); +} +#nexacontainer .GridCellControl .cellbutton[userstatus=selected] +{ + background : #fefefe; + background : linear-gradient(to top,#fefefe,#e9e9e9); +} +#nexacontainer .Grid .body .row .cell[userstatus=blinked] +{ + background : #125dae; + color : #ffffff; +} +#nexacontainer .ListBox .listboxitem[userstatus=selected] +{ + color : #ffffff; + background : #125dae; +} +#nexacontainer .ListBoxControl .listboxitem[userstatus=selected] +{ + color : #ffffff; + background : #125dae; +} +#nexacontainer .Menu .menuitem[userstatus=selected] +{ + background : URL('./images/img_WF_Menu_O.png') no-repeat center top; +} +#nexacontainer .PopupMenuControl.popupMenumenupopupmenu.dummy .popupmenuitem[userstatus=selected] +{ + color : #ffffff; + background : transparent; +} +#nexacontainer .PopupMenu .popupmenuitem[userstatus=selected] +{ + color : #ffffff; + background : #125dae; +} +#nexacontainer .PopupMenuControl .popupmenuitem[userstatus=selected] +{ + color : #ffffff; + background : #125dae; +} +#nexacontainer .Tab .tabbuttonitemTab[userstatus=selected] +{ + color : #dee4ef; + background : #1055a1; + border : 1px solid #1055a1; +} +#nexacontainer .DatePickerControl .body .weekitem[userstatus=saturday] +{ + color : #48afff; +} +#nexacontainer .DatePickerControl .body .weekitem[userstatus=sunday] +{ + color : #ff7986; +} +#nexacontainer .DatePickerControl .body .dayitem[userstatus=selected] +{ + color : #ffffff; + background : #125dae; +} +#nexacontainer .DatePickerControl .body .dayitem[userstatus=today] +{ + color : #ffffff; + background : #e7595c; +} +#nexacontainer .DatePickerControl .body .dayitem[userstatus=saturday] +{ + color : #269bee; +} +#nexacontainer .DatePickerControl .body .dayitem[userstatus=sunday] +{ + color : #ff4c5e; +} +#nexacontainer .DatePickerControl .body .dayitem[userstatus=trailingday] +{ + color : #989898; +} +#nexacontainer .VScrollBarControl .trackbar[userstatus=pushed] +{ + background : #999999; + border : 1px solid #888888; +} +#nexacontainer .VScrollBarControl .trackbar[userstatus=selected] +{ + background : #999999; + border : 1px solid #888888; +} +#nexacontainer .HScrollBarControl .trackbar[userstatus=pushed] +{ + background : #999999; + border : 1px solid #888888; +} +#nexacontainer .HScrollBarControl .trackbar[userstatus=selected] +{ + background : #999999; + border : 1px solid #888888; +} +#nexacontainer .VScrollIndicatorControl .trackbar[userstatus=pushed] +{ + background : #606060; +} +#nexacontainer .HScrollIndicatorControl .trackbar[userstatus=pushed] +{ + background : #606060; +} +#nexacontainer .ListView .body[userstatus=selected] +{ + background : #f2f9ff; +} +#nexacontainer .ListView .detail[userstatus=selected] +{ + background : #ebf3f9; +} +#nexacontainer .ListViewBandControl.popupListViewdetail[userstatus=selected] +{ + background : #ebf3f9; +} +#nexacontainer .ListViewCellControl .cellbutton[userstatus=pushed] +{ + background : #fefefe; + background : linear-gradient(to top,#fefefe,#e9e9e9); +} +#nexacontainer .ListView .body .expandbar[userstatus=pushed] +{ + background : #fefefe; + background : linear-gradient(to top,#fefefe,#e9e9e9); +} +#nexacontainer .ListView .body .expandbar[userstatus=selected] +{ + background : #fefefe; + background : linear-gradient(to top,#fefefe,#e9e9e9); +} +#nexacontainer .Form[status=disabled] +{ + color : #999999; +} +#nexacontainer .FileUpload .fileuploaditem[status=disabled] +{ + color : #999999; +} +#nexacontainer .Button[status=disabled] +{ + color : #bbbbbb; + background : #f5f5f5; + border : 1px solid #d9d9d9; +} +#nexacontainer .FileDownload[status=disabled] +{ + color : #bbbbbb; + background : #f5f5f5; + border : 1px solid #d9d9d9; +} +#nexacontainer .FileUpload .fileuploaditem .fileuploaditembutton[status=disabled] +{ + color : #bbbbbb; + background : #f5f5f5; + border : 1px solid #d9d9d9; +} +#nexacontainer .Calendar[status=disabled] +{ + color : #999999; + background : #efefef; +} +#nexacontainer .CalendarControl[status=disabled] +{ + color : #999999; + background : #efefef; +} +#nexacontainer .CheckBox[status=disabled] +{ + color : #999999; +} +#nexacontainer .CheckBoxControl[status=disabled] +{ + color : #999999; +} +#nexacontainer .Combo[status=disabled] +{ + color : #999999; + background : #efefef; +} +#nexacontainer .ComboControl[status=disabled] +{ + color : #999999; + background : #efefef; +} +#nexacontainer .Combo .dropbutton[status=disabled] +{ + opacity : 0.50; +} +#nexacontainer .ComboControl .dropbutton[status=disabled] +{ + opacity : 0.50; +} +#nexacontainer .Edit[status=disabled] +{ + color : #999999; + background : #efefef; +} +#nexacontainer .FileUpload .fileuploaditem .fileuploaditemedit[status=disabled] +{ + color : #999999; + background : #efefef; +} +#nexacontainer .Grid .head .row .cell[status=disabled] +{ + color : #999999; +} +#nexacontainer .Grid .body .row .cell[status=disabled] +{ + color : #999999; +} +#nexacontainer .Grid .body .row .cell .subcell[status=disabled] +{ + color : #999999; +} +#nexacontainer .GridCellControl .cellbutton[status=disabled] +{ + color : #bbbbbb; + background : #f5f5f5; + border : 1px solid #d9d9d9; +} +#nexacontainer .GridCellControl .celledit[status=disabled] +{ + color : #999999; + background : #efefef; +} +#nexacontainer .GridCellControl .cellmaskedit[status=disabled] +{ + color : #999999; + background : #efefef; +} +#nexacontainer .GridCellControl .celltreeitem .treeitemtext[status=disabled] +{ + color : #999999; +} +#nexacontainer .GroupBox .groupboxcontents[status=disabled] +{ + background : #efefef; +} +#nexacontainer .GroupBox .groupboxtitle[status=disabled] +{ + color : #999999; + background : #efefef; +} +#nexacontainer .ImageViewer[status=disabled] +{ + background : #f2f2f2; +} +#nexacontainer .ImageViewer .imagetext[status=disabled] +{ + color : #999999; +} +#nexacontainer .ListBox[status=disabled] +{ + background : #efefef; +} +#nexacontainer .ListBoxControl[status=disabled] +{ + background : #efefef; +} +#nexacontainer .ListBox .listboxitem[status=disabled] +{ + opacity : 0.50; +} +#nexacontainer .ListBoxControl .listboxitem[status=disabled] +{ + opacity : 0.50; +} +#nexacontainer .MaskEdit[status=disabled] +{ + color : #999999; + background : #f2f2f2; +} +#nexacontainer .Menu[status=disabled] +{ + background : #94a9bf; +} +#nexacontainer .Menu .menuitem[status=disabled] +{ + color : #c7d4e2; +} +#nexacontainer .PopupMenuControl.popupMenumenupopupmenu.dummy .popupmenuitem[status=disabled] +{ + color : #2665af; +} +#nexacontainer .PopupMenuControl.popupMenumenupopupmenu.dummy .popupmenuitem .popupmenuitemtext[status=disabled] +{ + color : #2665af; +} +#nexacontainer .PopupMenuControl.popupMenumenupopupmenu.dummy .popupmenuitem .popupmenuitemhotkeytext[status=disabled] +{ + color : #4577b9; +} +#nexacontainer .PopupMenu .popupmenuitem[status=disabled] +{ + color : #999999; +} +#nexacontainer .PopupMenuControl .popupmenuitem[status=disabled] +{ + color : #999999; +} +#nexacontainer .PopupMenu .popupmenuitem .popupmenuitemcheckbox[status=disabled] +{ + background : URL('./images/chk_WF_Box_D.png') no-repeat left center; +} +#nexacontainer .PopupMenuControl .popupmenuitem .popupmenuitemcheckbox[status=disabled] +{ + background : URL('./images/chk_WF_Box_D.png') no-repeat left center; +} +#nexacontainer .PopupMenu .popupmenuitem .popupmenuitemhotkeytext[status=disabled] +{ + color : #4577b9; +} +#nexacontainer .PopupMenuControl .popupmenuitem .popupmenuitemhotkeytext[status=disabled] +{ + color : #4577b9; +} +#nexacontainer .ProgressBar .progressbaritem[status=disabled] +{ + background : #b5b5b5; +} +#nexacontainer .ProgressBarControl .progressbaritem[status=disabled] +{ + background : #b5b5b5; +} +#nexacontainer .Sketch[status=disabled] +{ + background : #efefef; +} +#nexacontainer .Spin[status=disabled] +{ + color : #999999; + background : #efefef; +} +#nexacontainer .Spin .spinedit[status=disabled] .nexainput +{ + padding : 1px 2px 0px 9px; +} +#nexacontainer .Static[status=disabled] +{ + color : #999999; +} +#nexacontainer .StaticControl[status=disabled] +{ + color : #999999; +} +#nexacontainer .TextArea[status=disabled] +{ + color : #999999; + background : #efefef; +} +#nexacontainer .TextAreaControl[status=disabled] +{ + color : #999999; + background : #efefef; +} +#nexacontainer .Tab .tabbuttonitemTab[status=disabled] +{ + color : #ababab; + background : #e7e7e7; +} +#nexacontainer .Tab .tabbuttonitemTab .tabbuttonitemtext[status=disabled] +{ + color : #c8c8c8; +} +#nexacontainer .DatePickerControl .head[status=disabled] +{ + background : #94a9bf; + color : #cdcdcd; +} +#nexacontainer .DatePickerControl .head .yearstatic[status=disabled] +{ + color : #c7d4e2; +} +#nexacontainer .DatePickerControl .head .monthstatic[status=disabled] +{ + color : #c7d4e2; +} +#nexacontainer .DatePickerControl .body[status=disabled] +{ + border : 1px solid #98a6b5; +} +#nexacontainer .DatePickerControl .body .weekband[status=disabled] +{ + background : #94a9bf; +} +#nexacontainer .DatePickerControl .body .weekitem[status=disabled] +{ + color : #c7d4e2; + background : #94a9bf; +} +#nexacontainer .DatePickerControl .body .dayitem[status=disabled] +{ + color : #cdcdcd; +} +#nexacontainer .VScrollBarControl .trackbar[status=disabled] +{ + background : #eeeeee; + border : 1px solid #d8d8d8; +} +#nexacontainer .HScrollBarControl .trackbar[status=disabled] +{ + background : #eeeeee; + border : 1px solid #d8d8d8; +} +#nexacontainer .ListView[status=disabled] +{ + background : #666666; +} +#nexacontainer .ListView .body[status=disabled] +{ + color : #999999; +} +#nexacontainer .ListView .detail[status=disabled] +{ + color : #999999; +} +#nexacontainer .ListViewBandControl.popupListViewdetail[status=disabled] +{ + color : #999999; +} +#nexacontainer .ListView .body .cell[status=disabled] +{ + border : 1px solid #dbdee2; +} +#nexacontainer .ListView .detail .cell[status=disabled] +{ + border : 1px solid #dbdee2; +} +#nexacontainer .ListViewBandControl.popupListViewdetail .cell[status=disabled] +{ + border : 1px solid #dbdee2; +} +#nexacontainer .ListViewCellControl .cellbutton[status=disabled] +{ + color : #bbbbbb; + background : #f5f5f5; + border : 1px solid #d9d9d9; +} +#nexacontainer .ListViewCellControl .celledit[status=disabled] +{ + color : #999999; + background : #efefef; +} +#nexacontainer .ListViewCellControl .cellmaskedit[status=disabled] +{ + color : #999999; + background : #efefef; +} +#nexacontainer .ListView .body .expandbar[status=disabled] +{ + color : #bbbbbb; + background : #f5f5f5; + border : 1px solid #d9d9d9; +} +#nexacontainer .CheckBox[status=disabled][userstatus=selected] +{ + color : #999999; +} +#nexacontainer .CheckBoxControl[status=disabled][userstatus=selected] +{ + color : #999999; +} +#nexacontainer .Grid .body .row .cell[status=disabled][userstatus=selected] +{ + background : #f0f0f0; +} +#nexacontainer .Tab .tabbuttonitemTab[status=focused][userstatus=selected] +{ + color : #dee4ef; + background : #1055a1; + border : 1px solid #1055a1; +} +#nexacontainer .Tab .tabbuttonitemTab[status=disabled][userstatus=selected] +{ + border : 1px solid #c7d4e2; + background : #94a9bf; +} +#nexacontainer .DatePickerControl .body .dayitem[status=mouseover][userstatus=saturday] +{ + color : #ffffff; +} +#nexacontainer .DatePickerControl .body .dayitem[status=mouseover][userstatus=sunday] +{ + color : #ffffff; +} +#nexacontainer .DatePickerControl .body .dayitem[status=mouseover][userstatus=trailingday] +{ + color : #ffffff; +} +#nexacontainer .DatePickerControl .body .dayitem[status=disabled][userstatus=selected] +{ + background : #f0f0f0; +} diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/theme_runtime.css b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/theme_runtime.css new file mode 100644 index 0000000..7bd9729 --- /dev/null +++ b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/theme_runtime.css @@ -0,0 +1,1691 @@ + + +.nexainput.nexaleftalign +{ + text-align:left; +} +.nexainput.nexarightalign +{ + text-align:right; +} +.nexainput.nexacenteralign +{ + text-align:center; +} + +.nexacontentsbox.nexaleftalign +{ + text-align:left; +} +.nexacontentsbox.nexarightalign +{ + text-align:right; +} +.nexacontentsbox.nexacenteralign +{ + text-align:center; +} +.celltreeline +{ + border : 1px dotted #999999; +} +.Edit, .MaskEdit, .TextArea, .EditControl, .MaskEditControl, .TextAreaControl +{ + cursor:text; +} +.Button .nexacontentsbox, .ButtonControl .nexacontentsbox +{ + text-align:center; +} + +.FileDownload .nexacontentsbox, .FileDownloadControl .nexacontentsbox +{ + text-align:center; +} + +.IconTextControl .nexacontentsbox, .IconControl .nexacontentsbox +{ + text-align:center; +} + +.DatePickerDayItemControl .nexacontentsbox, .DatePickerWeekItemControl .nexacontentsbox, .TitleBarButtonControl .nexacontentsbox +{ + text-align:center; +} + +.MainFrame, .VScrollBarControl, .HScrollBarControl +{ + cursor:default; +} +.nexainput +{ + cursor:inherit; +} + +.Form +{ + font : 12px Gulim; + color : #555555; + background : #ffffff; + border : 0px none; +} +.Button +{ + background : linear-gradient(to top,#eaeaea,#ffffff); + border : 1px solid #c2c2c2; +} +.FileDownload +{ + background : linear-gradient(to top,#eaeaea,#ffffff); + border : 1px solid #c2c2c2; +} +.ButtonControl +{ + background : transparent; + border : 0px none; +} +.FileUpload .fileuploaditem .fileuploaditembutton +{ + background : linear-gradient(to top,#eaeaea,#ffffff); + border : 1px solid #c2c2c2; +} +.Calendar +{ + background : #ffffff; + border : 1px solid #d5d5d5; +} +.CalendarControl +{ + background : #ffffff; + border : 1px solid #d5d5d5; +} +.Combo +{ + background : #ffffff; + border : 1px solid #d5d5d5; +} +.ComboControl +{ + background : #ffffff; + border : 1px solid #d5d5d5; +} +.ListBoxControl.popupCombocombolist.dummy +{ + font : 12px Gulim; + color : #555555; + background : #ffffff; + border : 1px solid #b1b1b1; +} +.ListBoxControl.popupComboControlcombolist.dummy +{ + font : 12px Gulim; + color : #555555; + background : #ffffff; + border : 1px solid #b1b1b1; +} +.Edit +{ + background : #ffffff; + border : 1px solid #d5d5d5; + padding : 1px 9px 0px 9px; +} +.FileUpload .fileuploaditem .fileuploaditemedit +{ + background : #ffffff; + border : 1px solid #d5d5d5; + padding : 1px 9px 0px 9px; +} +.EditControl +{ + background : transparent; + border : 0px none; + padding : 1px 9px 0px 9px; +} +.Grid +{ + background : #ffffff; + border : 2px solid #125dae, 1px solid #b7b1b2, 1px solid #b7b1b2, 1px solid #b7b1b2; +} +.Grid .head .row .cell +{ + font : bold 12px Gulim; + color : #2f2f2f; + background : linear-gradient(to top, #eff0f0, #f9fafa); + border : 1px solid #cacaca; +} +.Grid .head .row .cell .nexacontentsbox +{ + text-align : center; +} +.Grid .body .row .cell +{ + color : #666666; + border : 1px solid #dbdee2; +} +.Grid .body .row .cell .subcell +{ + color : #666666; + border : 1px solid #dbdee2; +} +.Grid .body .selection +{ + border : 2px solid #125dae; +} +.Grid .summary +{ + border : 1px solid #c8c1c2, 0px none, 0px none, 0px none; +} +.Grid .summary .row .cell +{ + font : bold 12px Gulim; + color : #333333; + background : #fdfbe5; + border : 1px solid #c8c1c2; +} +.Grid .summary .row .cell .nexacontentsbox +{ + text-align : center; +} +.Grid .hscrollbar +{ + border : 1px solid #b1b1b1, 0px none, 0px none, 0px none; +} +.Grid .vscrollbar +{ + border : 0px none, 0px none, 0px none, 1px solid #b1b1b1; +} +.GridCellControl .cellbutton +{ + font : 12px Gulim; + color : #555555; + background : linear-gradient(to top,#eaeaea,#ffffff); + border : 1px solid #c2c2c2; +} +.GridCellControl .cellcalendar +{ + font : 12px Gulim; +} +.GridCellControl .cellcheckbox +{ + font : 12px Gulim; +} +.GridCellControl .cellcombo +{ + font : 12px Gulim; +} +.ListBoxControl.popupGridCellControlcellcombocombolist.dummy.dummy +{ + font : 12px Gulim; + color : #555555; +} +.GridCellControl .celledit +{ + font : 12px Gulim; + background : #ffffff; + border : 1px solid #d5d5d5; + padding : 1px 9px 0px 9px; +} +.GridCellControl .cellmaskedit +{ + font : 12px Gulim; + background : #ffffff; + border : 1px solid #d5d5d5; + padding : 1px 9px 0px 9px; +} +.GridCellControl .cellprogressbar +{ + font : 12px Gulim; +} +.GridCellControl .celltextarea +{ + font : 12px Gulim; +} +.GridCellControl .celltreeitem .treeitemtext +{ + font : 12px Gulim; + color : #666666; +} +.GridCellControl .celltreeline +{ + border : 1px dotted #909090; +} +.GroupBox .groupboxcontents +{ + background : #ffffff; + border : 1px solid #d6d4d5; +} +.GroupBox .groupboxtitle +{ + background : #ffffff; +} +.ImageViewer +{ + background : #ffffff; + border : 1px solid #d5d5d5; +} +.ImageViewer .imagetext .nexacontentsbox +{ + text-align : center; +} +.ListBox +{ + background : #ffffff; + border : 1px solid #d5d5d5; +} +.ListBoxControl +{ + background : #ffffff; + border : 1px solid #d5d5d5; +} +.ListBox .listboxitem +{ + color : #555555; +} +.ListBoxControl .listboxitem +{ + color : #555555; +} +.MaskEdit +{ + background : #ffffff; + border : 1px solid #d5d5d5; + padding : 1px 9px 0px 9px; +} +.MaskEditControl +{ + background : transparent; + border : 0px none; + padding : 1px 9px 0px 9px; +} +.Menu +{ + background : linear-gradient(to top, #1059a8, #125dae); +} +.Menu .menuitem +{ + font : bold 13px Gulim; + color : #ffffff; +} +.PopupMenuControl.popupMenumenupopupmenu.dummy +{ + font : 12px Gulim; + color : #555555; + background : #0753a5; + border : 1px solid #034389; +} +.PopupMenuControl.popupMenumenupopupmenu.dummy .popupmenuitem +{ + color : #c3e0ff; + border : 0px none, 0px none, 1px solid #2065ae, 0px none; +} +.PopupMenuControl.popupMenumenupopupmenu.dummy .popupmenuitem .popupmenuitemtext +{ + color : #c3e0ff; +} +.PopupMenuControl.popupMenumenupopupmenu.dummy .popupmenuitem .popupmenuitemhotkeytext +{ + color : #6d95cc; +} +.PopupMenuControl.popupMenumenupopupmenu.dummy .popupmenuitem .popupmenuitemhotkeytext .nexacontentsbox +{ + text-align : right; +} +.Plugin +{ + border : 1px solid #d5d5d5; +} +.PluginControl +{ + border : 1px solid #d5d5d5; +} +.PopupMenu +{ + font : 12px Gulim; + color : #555555; + background : #ffffff; + border : 1px solid #b5b5b5; +} +.PopupMenuControl +{ + font : 12px Gulim; + color : #555555; + background : #ffffff; + border : 1px solid #b5b5b5; +} +.PopupMenu .popupmenuitem +{ + color : #555555; +} +.PopupMenuControl .popupmenuitem +{ + color : #555555; +} +.PopupMenu .popupmenuitem .popupmenuitemcheckbox +{ + background : URL('./images/chk_WF_Box_F.png') no-repeat left center; +} +.PopupMenuControl .popupmenuitem .popupmenuitemcheckbox +{ + background : URL('./images/chk_WF_Box_F.png') no-repeat left center; +} +.PopupMenu .popupmenuitem .popupmenuitemhotkeytext +{ + color : #aaaaaa; +} +.PopupMenu .popupmenuitem .popupmenuitemhotkeytext .nexacontentsbox +{ + text-align : right; +} +.PopupMenuControl .popupmenuitem .popupmenuitemhotkeytext +{ + color : #aaaaaa; +} +.PopupMenuControl .popupmenuitem .popupmenuitemhotkeytext .nexacontentsbox +{ + text-align : right; +} +.ProgressBar +{ + background : linear-gradient(to top, #f0f0f0, #e7e7e7); + border : 1px solid #aeaeae, 1px solid #d2d0d1, 1px solid #d2d0d1, 1px solid #d2d0d1; +} +.ProgressBarControl +{ + background : linear-gradient(to top, #f0f0f0, #e7e7e7); + border : 1px solid #aeaeae, 1px solid #d2d0d1, 1px solid #d2d0d1, 1px solid #d2d0d1; +} +.ProgressBar .progressbaritem +{ + background : #125dae; +} +.ProgressBarControl .progressbaritem +{ + background : #125dae; +} +.ProgressBar .progressbartext +{ + color : #ffffff; +} +.ProgressBar .progressbartext .nexacontentsbox +{ + text-align : center; +} +.ProgressBarControl .progressbartext +{ + color : #ffffff; +} +.ProgressBarControl .progressbartext .nexacontentsbox +{ + text-align : center; +} +.Sketch +{ + background : #ffffff; + border : 1px solid #d5d5d5; +} +.Spin +{ + background : #ffffff; + border : 1px solid #d5d5d5; +} +.Spin .spinedit +{ + padding : 0px 3px 0px 3px; +} +.Spin .spinedit .nexainput +{ + text-align : right; +} +.Spin .spinedit .nexacontentsbox +{ + text-align : right; +} +.TextArea +{ + background : #ffffff; + border : 1px solid #d5d5d5; + padding : 9px 9px 9px 9px; +} +.TextAreaControl +{ + background : #ffffff; + border : 1px solid #d5d5d5; + padding : 9px 9px 9px 9px; +} +.WebBrowser +{ + border : 1px solid #d5d5d5; +} +.WebBrowserControl +{ + border : 1px solid #d5d5d5; +} +.Tab .tabpageTab +{ + border : 1px solid #cfcfcf, 0px none, 0px none, 0px none; +} +.Tab .tabbuttonitemTab +{ + color : #333333; + background : linear-gradient(to top, #fcfcfc, #fafafa); + border : 1px solid #c7c7c7; +} +.DatePickerControl +{ + background : #ffffff; +} +.DatePickerControl .head +{ + background : #125dae; +} +.DatePickerControl .head .yearstatic +{ + font : bold 14px Tahoma; + color : #ffffff; +} +.DatePickerControl .head .monthstatic +{ + font : bold 14px Tahoma; + color : #ffffff; +} +.DatePickerControl .head .yearspin .spinedit +{ + font : bold 14px Tahoma; + color : #ffffff; + background : #0042a0; +} +.DatePickerControl .head .monthspin .spinedit +{ + font : bold 14px Tahoma; + color : #ffffff; + background : #0042a0; +} +.DatePickerControl .body +{ + border : 1px solid #125dae, 1px solid #697888, 1px solid #697888, 1px solid #697888; +} +.DatePickerControl .body .weekband +{ + background : #125dae; +} +.DatePickerControl .body .weekitem +{ + color : #ffffff; +} +.DatePickerControl .body .dayitem +{ + color : #333333; +} +.VScrollBarControl +{ + background : linear-gradient(to left,#ffffff,#f7f7f7); + border : 1px solid #b1b1b1; +} +.HScrollBarControl +{ + background : linear-gradient(to top,#ffffff,#f7f7f7); + border : 1px solid #b1b1b1; +} +.VScrollBarControl .trackbar +{ + background : #dddddd; + border : 1px solid #c8c8c8; +} +.HScrollBarControl .trackbar +{ + background : #dddddd; + border : 1px solid #c8c8c8; +} +.VScrollIndicatorControl +{ + background : #f2f2f2; +} +.HScrollIndicatorControl +{ + background : #f2f2f2; +} +.VScrollIndicatorControl .trackbar +{ + background : #cccccc; + border : 2px solid transparent; +} +.HScrollIndicatorControl .trackbar +{ + background : #cccccc; + border : 2px solid transparent; +} +.StatusBarControl +{ + background : #e7e7e7; +} +.StatusBarControl .progressbar +{ + background : #eaeaea; + border : 1px solid #afaeae, 1px solid #d2d0d0, 1px solid #d2d0d0, 1px solid #d2d0d0; +} +.StatusBarControl .progressbar .progressbaritem +{ + background : #4ca0e2; +} +.StatusBarControl .resizegrip .nexacontentsbox +{ + vertical-align : bottom; +} +.TitleBarControl +{ + font : bold 12px Gulim; + color : #ffffff; + background : #003284; +} +.ListView +{ + border : 1px solid #d5d5d5; + background : #ebecee; + color : #666666; +} +.ListView .body +{ + border : 0px none, 0px none, 1px solid #dbdee2, 0px none; + background : #ffffff; + font : 12px Gulim; +} +.ListView .detail +{ + border : 0px none, 0px none, 1px solid #dbdee2, 0px none; + background : #f9f9f9; + font : 12px Gulim; +} +.ListViewBandControl.popupListViewdetail +{ + border : 0px none, 0px none, 1px solid #dbdee2, 0px none; + background : #f9f9f9; + font : 12px Gulim; +} +.ListView .body .cell +{ + border : 1px solid #dbdee2; +} +.ListView .detail .cell +{ + border : 1px solid #dbdee2; +} +.ListViewBandControl.popupListViewdetail .cell +{ + border : 1px solid #dbdee2; +} +.ListViewCellControl .cellbutton +{ + font : 12px Gulim; + color : #555555; + background : linear-gradient(to top,#eaeaea,#ffffff); + border : 1px solid #c2c2c2; +} +.ListViewCellControl .cellcalendar +{ + font : 12px Gulim; +} +.ListViewCellControl .cellcheckbox +{ + font : 12px Gulim; +} +.ListViewCellControl .cellcombo +{ + font : 12px Gulim; +} +.ListBoxControl.popupListViewCellControlcellcombocombolist.dummy.dummy +{ + font : 12px Gulim; + color : #555555; +} +.ListViewCellControl .celledit +{ + font : 12px Gulim; + background : #ffffff; + border : 1px solid #d5d5d5; + padding : 1px 9px 0px 9px; +} +.ListViewCellControl .cellmaskedit +{ + font : 12px Gulim; + background : #ffffff; + border : 1px solid #d5d5d5; + padding : 1px 9px 0px 9px; +} +.ListViewCellControl .cellprogressbar +{ + font : 12px Gulim; +} +.ListViewCellControl .celltextarea +{ + font : 12px Gulim; +} +.ListView .body .expandbar +{ + background : linear-gradient(to top,#eaeaea,#ffffff); + border : 1px solid #c2c2c2; +} +.Button[status=mouseover] +{ + background : linear-gradient(to top,#e7e7e7,#fefefe); + border : 1px solid #a0a0a0; +} +.Button[status=focused] +{ + background : linear-gradient(to top,#e7e7e7,#fefefe); + border : 1px solid #a0a0a0; +} +.FileDownload[status=mouseover] +{ + background : linear-gradient(to top,#e7e7e7,#fefefe); + border : 1px solid #a0a0a0; +} +.FileDownload[status=focused] +{ + background : linear-gradient(to top,#e7e7e7,#fefefe); + border : 1px solid #a0a0a0; +} +.FileUpload .fileuploaditem .fileuploaditembutton[status=mouseover] +{ + background : linear-gradient(to top,#e7e7e7,#fefefe); + border : 1px solid #a0a0a0; +} +.FileUpload .fileuploaditem .fileuploaditembutton[status=focused] +{ + background : linear-gradient(to top,#e7e7e7,#fefefe); + border : 1px solid #a0a0a0; +} +.Calendar[status=mouseover] +{ + border : 1px solid #5a86cd; +} +.CalendarControl[status=mouseover] +{ + border : 1px solid #5a86cd; +} +.Calendar[status=focused] +{ + border : 1px solid #5a86cd; +} +.CalendarControl[status=focused] +{ + border : 1px solid #5a86cd; +} +.Calendar[status=readonly] +{ + background : #efefef; +} +.CalendarControl[status=readonly] +{ + background : #efefef; +} +.Combo[status=mouseover] +{ + border : 1px solid #5a86cd; +} +.Combo[status=focused] +{ + border : 1px solid #5a86cd; +} +.ComboControl[status=mouseover] +{ + border : 1px solid #5a86cd; +} +.ComboControl[status=focused] +{ + border : 1px solid #5a86cd; +} +.Combo[status=readonly] +{ + background : #efefef; +} +.ComboControl[status=readonly] +{ + background : #efefef; +} +.Edit[status=mouseover] +{ + border : 1px solid #5a86cd; +} +.Edit[status=focused] +{ + border : 1px solid #5a86cd; +} +.FileUpload .fileuploaditem .fileuploaditemedit[status=mouseover] +{ + border : 1px solid #5a86cd; +} +.FileUpload .fileuploaditem .fileuploaditemedit[status=focused] +{ + border : 1px solid #5a86cd; +} +.Edit[status=readonly] +{ + background : #efefef; +} +.Grid .body .row .cell[status=mouseover] +{ + background : #f6f6f6; +} +.Grid .body .row .cell .subcell[status=mouseover] +{ + background : #f6f6f6; +} +.GridCellControl .cellbutton[status=mouseover] +{ + background : linear-gradient(to top,#e7e7e7,#fefefe); + border : 1px solid #a0a0a0; +} +.GridCellControl .cellbutton[status=focused] +{ + background : linear-gradient(to top,#e7e7e7,#fefefe); + border : 1px solid #a0a0a0; +} +.ListBoxControl.popupGridCellControlcellcombocombolist.dummy.dummy .listboxitem[status=mouseover] +{ + background : #e8e9ed; +} +.GridCellControl .celledit[status=mouseover] +{ + border : 1px solid #5a86cd; +} +.GridCellControl .celledit[status=focused] +{ + border : 1px solid #5a86cd; +} +.GridCellControl .cellmaskedit[status=mouseover] +{ + border : 1px solid #5a86cd; +} +.GridCellControl .cellmaskedit[status=focused] +{ + border : 1px solid #5a86cd; +} +.ListBox[status=mouseover] +{ + border : 1px solid #5a86cd; +} +.ListBox[status=focused] +{ + border : 1px solid #5a86cd; +} +.ListBoxControl[status=mouseover] +{ + border : 1px solid #5a86cd; +} +.ListBoxControl[status=focused] +{ + border : 1px solid #5a86cd; +} +.ListBox .listboxitem[status=mouseover] +{ + background : #e7e9ed; +} +.ListBoxControl .listboxitem[status=mouseover] +{ + background : #e7e9ed; +} +.MaskEdit[status=mouseover] +{ + border : 1px solid #5a86cd; +} +.MaskEdit[status=focused] +{ + border : 1px solid #5a86cd; +} +.MaskEdit[status=readonly] +{ + background : #efefef; +} +.Menu .menuitem[status=mouseover] +{ + background : URL('./images/img_WF_Menu_O.png') no-repeat center top; +} +.PopupMenuControl.popupMenumenupopupmenu.dummy .popupmenuitem[status=mouseover] +{ + color : #ffffff; + background : transparent; +} +.PopupMenuControl.popupMenumenupopupmenu.dummy .popupmenuitem[status=focused] +{ + color : #ffffff; + background : transparent; +} +.PopupMenuControl.popupMenumenupopupmenu.dummy .popupmenuitem .popupmenuitemtext[status=mouseover] +{ + color : #ffffff; +} +.PopupMenuControl.popupMenumenupopupmenu.dummy .popupmenuitem .popupmenuitemhotkeytext[status=mouseover] +{ + color : #ffffff; +} +.PopupMenu .popupmenuitem[status=mouseover] +{ + background : #e7e9ed; +} +.PopupMenu .popupmenuitem[status=focused] +{ + background : #e7e9ed; +} +.PopupMenuControl .popupmenuitem[status=mouseover] +{ + background : #e7e9ed; +} +.PopupMenuControl .popupmenuitem[status=focused] +{ + background : #e7e9ed; +} +.PopupMenu .popupmenuitem .popupmenuitemcheckbox[status=mouseover] +{ + background : URL('./images/chk_WF_Box_F.png') no-repeat left center; +} +.PopupMenuControl .popupmenuitem .popupmenuitemcheckbox[status=mouseover] +{ + background : URL('./images/chk_WF_Box_F.png') no-repeat left center; +} +.Spin[status=mouseover] +{ + border : 1px solid #5a86cd; +} +.Spin[status=focused] +{ + border : 1px solid #5a86cd; +} +.Spin[status=readonly] +{ + background : #efefef; +} +.TextArea[status=mouseover] +{ + border : 1px solid #5a86cd; +} +.TextArea[status=focused] +{ + border : 1px solid #5a86cd; +} +.TextAreaControl[status=mouseover] +{ + border : 1px solid #5a86cd; +} +.TextAreaControl[status=focused] +{ + border : 1px solid #5a86cd; +} +.TextArea[status=readonly] +{ + background : #efefef; + border : 1px solid #d5d5d5; +} +.TextAreaControl[status=readonly] +{ + background : #efefef; + border : 1px solid #d5d5d5; +} +.Tab .tabbuttonitemTab[status=mouseover] +{ + border : 1px solid #b1b1b1; + background : linear-gradient(to top, #dddcdc, #fefefe); +} +.Tab .tabbuttonitemTab[status=focused] +{ + color : #dee4ef; +} +.DatePickerControl .body .dayitem[status=mouseover] +{ + color : #ffffff; + background : #8da3c7; +} +.DatePickerControl .body .dayitem[status=focused] +{ + color : #ffffff; + background : #125dae; +} +.VScrollBarControl .trackbar[status=focused] +{ + background : #999999; + border : 1px solid #888888; +} +.HScrollBarControl .trackbar[status=focused] +{ + background : #999999; + border : 1px solid #888888; +} +.VScrollBarControl .trackbar[status=mouseover] +{ + background : #bbbbbb; + border : 1px solid #a8a8a8; +} +.HScrollBarControl .trackbar[status=mouseover] +{ + background : #bbbbbb; + border : 1px solid #a8a8a8; +} +.VScrollIndicatorControl .trackbar[status=mouseover] +{ + background : #999999; +} +.HScrollIndicatorControl .trackbar[status=mouseover] +{ + background : #999999; +} +.ListView[status=readonly] +{ + border : 1px solid #d5d5d5; + background : #ebecee; + color : #666666; +} +.ListView[status=mouseover] +{ + border : 1px solid #5a86cd; +} +.ListView[status=focused] +{ + border : 1px solid #5a86cd; +} +.ListView .body[status=readonly] +{ + border : 0px none, 0px none, 1px solid #dbdee2, 0px none; + background : #ffffff; + font : 12px Gulim; +} +.ListView .detail[status=readonly] +{ + border : 0px none, 0px none, 1px solid #dbdee2, 0px none; + background : #ffffff; + font : 12px Gulim; +} +.ListViewBandControl.popupListViewdetail[status=readonly] +{ + border : 0px none, 0px none, 1px solid #dbdee2, 0px none; + background : #ffffff; + font : 12px Gulim; +} +.ListView .body[status=focused] +{ + border : 0px none, 0px none, 1px solid #dbdee2, 0px none; + background : #ffffff; + font : 12px Gulim; +} +.ListView .detail[status=focused] +{ + border : 0px none, 0px none, 1px solid #dbdee2, 0px none; + background : #ffffff; + font : 12px Gulim; +} +.ListViewBandControl.popupListViewdetail[status=focused] +{ + border : 0px none, 0px none, 1px solid #dbdee2, 0px none; + background : #ffffff; + font : 12px Gulim; +} +.ListView .body[status=mouseover] +{ + border : 0px none, 0px none, 1px solid #dbdee2, 0px none; + background : #ffffff; + font : 12px Gulim; +} +.ListView .detail[status=mouseover] +{ + border : 0px none, 0px none, 1px solid #dbdee2, 0px none; + background : #ffffff; + font : 12px Gulim; +} +.ListViewBandControl.popupListViewdetail[status=mouseover] +{ + border : 0px none, 0px none, 1px solid #dbdee2, 0px none; + background : #ffffff; + font : 12px Gulim; +} +.ListView .body .cell[status=readonly] +{ + border : 1px solid #dbdee2; +} +.ListView .detail .cell[status=readonly] +{ + border : 1px solid #dbdee2; +} +.ListViewBandControl.popupListViewdetail .cell[status=readonly] +{ + border : 1px solid #dbdee2; +} +.ListView .body .cell[status=focused] +{ + border : 1px solid #dbdee2; +} +.ListView .detail .cell[status=focused] +{ + border : 1px solid #dbdee2; +} +.ListViewBandControl.popupListViewdetail .cell[status=focused] +{ + border : 1px solid #dbdee2; +} +.ListView .body .cell[status=mouseover] +{ + border : 1px solid #c4c9cf; +} +.ListView .detail .cell[status=mouseover] +{ + border : 1px solid #c4c9cf; +} +.ListViewBandControl.popupListViewdetail .cell[status=mouseover] +{ + border : 1px solid #c4c9cf; +} +.ListViewCellControl .cellbutton[status=mouseover] +{ + background : linear-gradient(to top,#e7e7e7,#fefefe); + border : 1px solid #a0a0a0; +} +.ListViewCellControl .cellbutton[status=focused] +{ + background : linear-gradient(to top,#e7e7e7,#fefefe); + border : 1px solid #a0a0a0; +} +.ListBoxControl.popupListViewCellControlcellcombocombolist.dummy.dummy .listboxitem[status=mouseover] +{ + background : #e8e9ed; +} +.ListViewCellControl .celledit[status=mouseover] +{ + border : 1px solid #5a86cd; +} +.ListViewCellControl .celledit[status=focused] +{ + border : 1px solid #5a86cd; +} +.ListViewCellControl .cellmaskedit[status=mouseover] +{ + border : 1px solid #5a86cd; +} +.ListViewCellControl .cellmaskedit[status=focused] +{ + border : 1px solid #5a86cd; +} +.ListView .body .expandbar[status=mouseover] +{ + background : linear-gradient(to top,#e7e7e7,#fefefe); + border : 1px solid #a0a0a0; +} +.ListView .body .expandbar[status=focused] +{ + background : linear-gradient(to top,#e7e7e7,#fefefe); + border : 1px solid #a0a0a0; +} +.Form[userstatus=contents] +{ + background : transparent; +} +.Button[userstatus=pushed] +{ + background : linear-gradient(to top,#fefefe,#e9e9e9); +} +.Button[userstatus=selected] +{ + background : linear-gradient(to top,#fefefe,#e9e9e9); +} +.FileDownload[userstatus=pushed] +{ + background : linear-gradient(to top,#fefefe,#e9e9e9); +} +.FileUpload .fileuploaditem .fileuploaditembutton[userstatus=pushed] +{ + background : linear-gradient(to top,#fefefe,#e9e9e9); +} +.FileUpload .fileuploaditem .fileuploaditembutton[userstatus=selected] +{ + background : linear-gradient(to top,#fefefe,#e9e9e9); +} +.Edit[userstatus=nulltext] +{ + color : #999999; +} +.EditControl[userstatus=nulltext] +{ + color : #999999; +} +.MaskEdit[userstatus=nulltext] +{ + color : #999999; +} +.MaskEditControl[userstatus=nulltext] +{ + color : #999999; +} +.TextArea[userstatus=nulltext] +{ + color : #999999; +} +.TextAreaControl[userstatus=nulltext] +{ + color : #999999; +} +.Calendar[userstatus=invalidtext] +{ + color : #999999; +} +.CalendarControl[userstatus=invalidtext] +{ + color : #999999; +} +.MaskEdit[userstatus=invalidtext] +{ + color : #999999; +} +.MaskEditControl[userstatus=invalidtext] +{ + color : #999999; +} +.Spin[userstatus=invalidtext] +{ + color : #999999; +} +.SpinControl[userstatus=invalidtext] +{ + color : #999999; +} +.Grid .body .row .cell[userstatus=selected] +{ + background : #f2f9ff; +} +.Grid .body .row .cell .subcell[userstatus=selected] +{ + background : #f2f9ff; +} +.Grid .body .row .cell .subcell[userstatus=blinked] +{ + background : #125dae; + color : #ffffff; +} +.GridCellControl .cellbutton[userstatus=pushed] +{ + background : linear-gradient(to top,#fefefe,#e9e9e9); +} +.GridCellControl .cellbutton[userstatus=selected] +{ + background : linear-gradient(to top,#fefefe,#e9e9e9); +} +.Grid .body .row .cell[userstatus=blinked] +{ + background : #125dae; + color : #ffffff; +} +.ListBox .listboxitem[userstatus=selected] +{ + color : #ffffff; + background : #125dae; +} +.ListBoxControl .listboxitem[userstatus=selected] +{ + color : #ffffff; + background : #125dae; +} +.Menu .menuitem[userstatus=selected] +{ + background : URL('./images/img_WF_Menu_O.png') no-repeat center top; +} +.PopupMenuControl.popupMenumenupopupmenu.dummy .popupmenuitem[userstatus=selected] +{ + color : #ffffff; + background : transparent; +} +.PopupMenu .popupmenuitem[userstatus=selected] +{ + color : #ffffff; + background : #125dae; +} +.PopupMenuControl .popupmenuitem[userstatus=selected] +{ + color : #ffffff; + background : #125dae; +} +.Tab .tabbuttonitemTab[userstatus=selected] +{ + color : #dee4ef; + background : #1055a1; + border : 1px solid #1055a1; +} +.DatePickerControl .body .weekitem[userstatus=saturday] +{ + color : #48afff; +} +.DatePickerControl .body .weekitem[userstatus=sunday] +{ + color : #ff7986; +} +.DatePickerControl .body .dayitem[userstatus=selected] +{ + color : #ffffff; + background : #125dae; +} +.DatePickerControl .body .dayitem[userstatus=today] +{ + color : #ffffff; + background : #e7595c; +} +.DatePickerControl .body .dayitem[userstatus=saturday] +{ + color : #269bee; +} +.DatePickerControl .body .dayitem[userstatus=sunday] +{ + color : #ff4c5e; +} +.DatePickerControl .body .dayitem[userstatus=trailingday] +{ + color : #989898; +} +.VScrollBarControl .trackbar[userstatus=pushed] +{ + background : #999999; + border : 1px solid #888888; +} +.VScrollBarControl .trackbar[userstatus=selected] +{ + background : #999999; + border : 1px solid #888888; +} +.HScrollBarControl .trackbar[userstatus=pushed] +{ + background : #999999; + border : 1px solid #888888; +} +.HScrollBarControl .trackbar[userstatus=selected] +{ + background : #999999; + border : 1px solid #888888; +} +.VScrollIndicatorControl .trackbar[userstatus=pushed] +{ + background : #606060; +} +.HScrollIndicatorControl .trackbar[userstatus=pushed] +{ + background : #606060; +} +.ListView .body[userstatus=selected] +{ + background : #f2f9ff; +} +.ListView .detail[userstatus=selected] +{ + background : #ebf3f9; +} +.ListViewBandControl.popupListViewdetail[userstatus=selected] +{ + background : #ebf3f9; +} +.ListViewCellControl .cellbutton[userstatus=pushed] +{ + background : linear-gradient(to top,#fefefe,#e9e9e9); +} +.ListView .body .expandbar[userstatus=pushed] +{ + background : linear-gradient(to top,#fefefe,#e9e9e9); +} +.ListView .body .expandbar[userstatus=selected] +{ + background : linear-gradient(to top,#fefefe,#e9e9e9); +} +.Form[status=disabled] +{ + color : #999999; +} +.FileUpload .fileuploaditem[status=disabled] +{ + color : #999999; +} +.Button[status=disabled] +{ + color : #bbbbbb; + background : #f5f5f5; + border : 1px solid #d9d9d9; +} +.FileDownload[status=disabled] +{ + color : #bbbbbb; + background : #f5f5f5; + border : 1px solid #d9d9d9; +} +.FileUpload .fileuploaditem .fileuploaditembutton[status=disabled] +{ + color : #bbbbbb; + background : #f5f5f5; + border : 1px solid #d9d9d9; +} +.Calendar[status=disabled] +{ + color : #999999; + background : #efefef; +} +.CalendarControl[status=disabled] +{ + color : #999999; + background : #efefef; +} +.CheckBox[status=disabled] +{ + color : #999999; +} +.CheckBoxControl[status=disabled] +{ + color : #999999; +} +.Combo[status=disabled] +{ + color : #999999; + background : #efefef; +} +.ComboControl[status=disabled] +{ + color : #999999; + background : #efefef; +} +.Combo .dropbutton[status=disabled] +{ + opacity : 0.50; +} +.ComboControl .dropbutton[status=disabled] +{ + opacity : 0.50; +} +.Edit[status=disabled] +{ + color : #999999; + background : #efefef; +} +.FileUpload .fileuploaditem .fileuploaditemedit[status=disabled] +{ + color : #999999; + background : #efefef; +} +.Grid .head .row .cell[status=disabled] +{ + color : #999999; +} +.Grid .body .row .cell[status=disabled] +{ + color : #999999; +} +.Grid .body .row .cell .subcell[status=disabled] +{ + color : #999999; +} +.GridCellControl .cellbutton[status=disabled] +{ + color : #bbbbbb; + background : #f5f5f5; + border : 1px solid #d9d9d9; +} +.GridCellControl .celledit[status=disabled] +{ + color : #999999; + background : #efefef; +} +.GridCellControl .cellmaskedit[status=disabled] +{ + color : #999999; + background : #efefef; +} +.GridCellControl .celltreeitem .treeitemtext[status=disabled] +{ + color : #999999; +} +.GroupBox .groupboxcontents[status=disabled] +{ + background : #efefef; +} +.GroupBox .groupboxtitle[status=disabled] +{ + color : #999999; + background : #efefef; +} +.ImageViewer[status=disabled] +{ + background : #f2f2f2; +} +.ImageViewer .imagetext[status=disabled] +{ + color : #999999; +} +.ListBox[status=disabled] +{ + background : #efefef; +} +.ListBoxControl[status=disabled] +{ + background : #efefef; +} +.ListBox .listboxitem[status=disabled] +{ + opacity : 0.50; +} +.ListBoxControl .listboxitem[status=disabled] +{ + opacity : 0.50; +} +.MaskEdit[status=disabled] +{ + color : #999999; + background : #f2f2f2; +} +.Menu[status=disabled] +{ + background : #94a9bf; +} +.Menu .menuitem[status=disabled] +{ + color : #c7d4e2; +} +.PopupMenuControl.popupMenumenupopupmenu.dummy .popupmenuitem[status=disabled] +{ + color : #2665af; +} +.PopupMenuControl.popupMenumenupopupmenu.dummy .popupmenuitem .popupmenuitemtext[status=disabled] +{ + color : #2665af; +} +.PopupMenuControl.popupMenumenupopupmenu.dummy .popupmenuitem .popupmenuitemhotkeytext[status=disabled] +{ + color : #4577b9; +} +.PopupMenu .popupmenuitem[status=disabled] +{ + color : #999999; +} +.PopupMenuControl .popupmenuitem[status=disabled] +{ + color : #999999; +} +.PopupMenu .popupmenuitem .popupmenuitemcheckbox[status=disabled] +{ + background : URL('./images/chk_WF_Box_D.png') no-repeat left center; +} +.PopupMenuControl .popupmenuitem .popupmenuitemcheckbox[status=disabled] +{ + background : URL('./images/chk_WF_Box_D.png') no-repeat left center; +} +.PopupMenu .popupmenuitem .popupmenuitemhotkeytext[status=disabled] +{ + color : #4577b9; +} +.PopupMenuControl .popupmenuitem .popupmenuitemhotkeytext[status=disabled] +{ + color : #4577b9; +} +.ProgressBar .progressbaritem[status=disabled] +{ + background : #b5b5b5; +} +.ProgressBarControl .progressbaritem[status=disabled] +{ + background : #b5b5b5; +} +.Sketch[status=disabled] +{ + background : #efefef; +} +.Spin[status=disabled] +{ + color : #999999; + background : #efefef; +} +.Spin .spinedit[status=disabled] +{ + padding : 1px 2px 0px 9px; +} +.Static[status=disabled] +{ + color : #999999; +} +.StaticControl[status=disabled] +{ + color : #999999; +} +.TextArea[status=disabled] +{ + color : #999999; + background : #efefef; +} +.TextAreaControl[status=disabled] +{ + color : #999999; + background : #efefef; +} +.Tab .tabbuttonitemTab[status=disabled] +{ + color : #ababab; + background : #e7e7e7; +} +.Tab .tabbuttonitemTab .tabbuttonitemtext[status=disabled] +{ + color : #c8c8c8; +} +.DatePickerControl .head[status=disabled] +{ + background : #94a9bf; + color : #cdcdcd; +} +.DatePickerControl .head .yearstatic[status=disabled] +{ + color : #c7d4e2; +} +.DatePickerControl .head .monthstatic[status=disabled] +{ + color : #c7d4e2; +} +.DatePickerControl .body[status=disabled] +{ + border : 1px solid #98a6b5; +} +.DatePickerControl .body .weekband[status=disabled] +{ + background : #94a9bf; +} +.DatePickerControl .body .weekitem[status=disabled] +{ + color : #c7d4e2; + background : #94a9bf; +} +.DatePickerControl .body .dayitem[status=disabled] +{ + color : #cdcdcd; +} +.VScrollBarControl .trackbar[status=disabled] +{ + background : #eeeeee; + border : 1px solid #d8d8d8; +} +.HScrollBarControl .trackbar[status=disabled] +{ + background : #eeeeee; + border : 1px solid #d8d8d8; +} +.ListView[status=disabled] +{ + background : #666666; +} +.ListView .body[status=disabled] +{ + color : #999999; +} +.ListView .detail[status=disabled] +{ + color : #999999; +} +.ListViewBandControl.popupListViewdetail[status=disabled] +{ + color : #999999; +} +.ListView .body .cell[status=disabled] +{ + border : 1px solid #dbdee2; +} +.ListView .detail .cell[status=disabled] +{ + border : 1px solid #dbdee2; +} +.ListViewBandControl.popupListViewdetail .cell[status=disabled] +{ + border : 1px solid #dbdee2; +} +.ListViewCellControl .cellbutton[status=disabled] +{ + color : #bbbbbb; + background : #f5f5f5; + border : 1px solid #d9d9d9; +} +.ListViewCellControl .celledit[status=disabled] +{ + color : #999999; + background : #efefef; +} +.ListViewCellControl .cellmaskedit[status=disabled] +{ + color : #999999; + background : #efefef; +} +.ListView .body .expandbar[status=disabled] +{ + color : #bbbbbb; + background : #f5f5f5; + border : 1px solid #d9d9d9; +} +.CheckBox[status=disabled][userstatus=selected] +{ + color : #999999; +} +.CheckBoxControl[status=disabled][userstatus=selected] +{ + color : #999999; +} +.Grid .body .row .cell[status=disabled][userstatus=selected] +{ + background : #f0f0f0; +} +.Tab .tabbuttonitemTab[status=focused][userstatus=selected] +{ + color : #dee4ef; + background : #1055a1; + border : 1px solid #1055a1; +} +.Tab .tabbuttonitemTab[status=disabled][userstatus=selected] +{ + border : 1px solid #c7d4e2; + background : #94a9bf; +} +.DatePickerControl .body .dayitem[status=mouseover][userstatus=saturday] +{ + color : #ffffff; +} +.DatePickerControl .body .dayitem[status=mouseover][userstatus=sunday] +{ + color : #ffffff; +} +.DatePickerControl .body .dayitem[status=mouseover][userstatus=trailingday] +{ + color : #ffffff; +} +.DatePickerControl .body .dayitem[status=disabled][userstatus=selected] +{ + background : #f0f0f0; +} diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/theme_safari.css b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/theme_safari.css new file mode 100644 index 0000000..e59cea2 --- /dev/null +++ b/nexacro-spring/src/main/webapp/deploy/_web_/_resource_/_theme_/default/theme_safari.css @@ -0,0 +1,2047 @@ + +html, body +{ + position:absolute; + width:100%; + height:100%; + font:12pt Verdana; + -moz-user-select:none; + -webkit-user-select:none; + -ms-user-select:none; +} + +div +{ + position:absolute; + box-sizing:border-box; + overflow:hidden; + background-origin:padding-box; + background-repeat:no-repeat; + white-space : pre; + -moz-user-select:-moz-none; + -webkit-user-select:none; + -webkit-touch-callout:none; + -webkit-appearance:none; + -webkit-tap-highlight-color:rgba(0,0,0,0); + outline:none; +} + +table +{ + position:absolute; + box-sizing:border-box; + overflow:hidden; +} + +input +{ + position:absolute; + box-sizing:border-box; + overflow:hidden; +} + +img +{ + position:absolute; + box-sizing:border-box; +} + +textarea::-webkit-scrollbar { display: none; } + + +.nexacontainer +{ + position:absolute; + left:0px; + top:0px; + width:100%; + height:100%; +} +.nexacontainer.withvscroll +{ + right:14px; +} +.nexacontainer.withhscroll +{ + bottom:14px; +} +.nexacontainer.withbothscroll +{ + right:14px; + bottom:14px; +} + +.nexalefttop +{ + left:0px; + top:0px; + background-repeat:no-repeat; + background-position:left top; + font-size:1px; +} +.nexaleftbottom +{ + left:0px; + bottom:0px; + background-repeat:no-repeat; + background-position:left bottom; + font-size:1px; +} +.nexarightbottom +{ + right:0px; + bottom:0px; + background-repeat:no-repeat; + background-position:right bottom; + font-size:1px; +} +.nexarighttop +{ + right:0px; + top:0px; + background-repeat:no-repeat; + background-position:right top; +} +.nexaedge +{ + width:100%; + height:100%; +} +.nexamodaloverlay +{ + width:100%; + height:100%; +} +.nexainnercontainer +{ + +} + +.nexatransform +{ + +} + +.nexacontentsbox +{ + position:relative; + display:table-cell; + background-position:left center; + background-repeat:no-repeat; + vertical-align:middle; +} +.nexatextitem +{ + position:relative; + vertical-align:middle; + white-space:inherit; + word-wrap:inherit; + word-break:inherit; + text-decoration:inherit; +} +.nexaiconitem +{ + position:relative; + vertical-align:middle; + background-position:center center; + background-repeat:no-repeat; +} + +.nexainput +{ + font:inherit; + color:inherit; + cursor:inherit; + letter-spacing:inherit; + word-spacing:inherit; + border:none; + outline:none; + background:transparent; + padding : 0px; +} + +.nexatextarea +{ + font:inherit; + color:inherit; + cursor:inherit; + line-height : inherit; + letter-spacing:inherit; + word-spacing:inherit; + white-space:pre; + word-wrap:normal; + border:none; + outline:none; + resize:none; + background:transparent; + padding : 0px; +} + +.nexaleftalign +{ + text-align:left; +} + +.nexarightalign +{ + text-align:right; +} + +.nexacenteralign +{ + text-align:center; +} + +.nexamap div * +{ + overflow:visible; +} + +.ProgressBar,.ProgressBarControl +{ + +} + +.celltreeline +{ + border : 1px dotted #999999; +} + +.Edit, .MaskEdit, .TextArea, .EditControl, .MaskEditControl, .TextAreaControl +{ + cursor:text; +} +.Button .nexacontentsbox, .ButtonControl .nexacontentsbox +{ + text-align:center; + background-position:center center; +} + +.FileDownload .nexacontentsbox, .FileDownloadControl .nexacontentsbox +{ + text-align:center; + background-position:center center; +} + +.IconTextControl .nexacontentsbox, .IconControl .nexacontentsbox +{ + text-align:center; + background-position:center center; +} + +.DatePickerDayItemControl .nexacontentsbox, .DatePickerWeekItemControl .nexacontentsbox, .TitleBarButtonControl .nexacontentsbox +{ + text-align:center; + background-position:center center; +} + +.MainFrame, .VScrollBarControl, .HScrollBarControl +{ + cursor:default; +} + +.Form +{ + font : 12px Gulim; + color : #555555; + background : #ffffff; + border : 0px none; +} +.Button +{ + background : #eaeaea; + background : -webkit-linear-gradient(to top,#eaeaea,#ffffff); + background : linear-gradient(to top,#eaeaea,#ffffff); + border : 1px solid #c2c2c2; +} +.FileDownload +{ + background : #eaeaea; + background : -webkit-linear-gradient(to top,#eaeaea,#ffffff); + background : linear-gradient(to top,#eaeaea,#ffffff); + border : 1px solid #c2c2c2; +} +.ButtonControl +{ + background : transparent; + border : 0px none; +} +.FileUpload .fileuploaditem .fileuploaditembutton +{ + background : #eaeaea; + background : -webkit-linear-gradient(to top,#eaeaea,#ffffff); + background : linear-gradient(to top,#eaeaea,#ffffff); + border : 1px solid #c2c2c2; +} +.Calendar +{ + background : #ffffff; + border : 1px solid #d5d5d5; +} +.CalendarControl +{ + background : #ffffff; + border : 1px solid #d5d5d5; +} +.Combo +{ + background : #ffffff; + border : 1px solid #d5d5d5; +} +.ComboControl +{ + background : #ffffff; + border : 1px solid #d5d5d5; +} +.ListBoxControl.popupCombocombolist.dummy +{ + font : 12px Gulim; + color : #555555; + background : #ffffff; + border : 1px solid #b1b1b1; +} +.ListBoxControl.popupComboControlcombolist.dummy +{ + font : 12px Gulim; + color : #555555; + background : #ffffff; + border : 1px solid #b1b1b1; +} +.Edit +{ + background : #ffffff; + border : 1px solid #d5d5d5; +} +.Edit .nexainput +{ + padding : 1px 9px 0px 9px; +} +.FileUpload .fileuploaditem .fileuploaditemedit +{ + background : #ffffff; + border : 1px solid #d5d5d5; +} +.FileUpload .fileuploaditem .fileuploaditemedit .nexainput +{ + padding : 1px 9px 0px 9px; +} +.EditControl +{ + background : transparent; + border : 0px none; +} +.EditControl .nexainput +{ + padding : 1px 9px 0px 9px; +} +.Grid +{ + background : #ffffff; + border-top : 2px solid #125dae; + border-right : 1px solid #b7b1b2; + border-bottom : 1px solid #b7b1b2; + border-left : 1px solid #b7b1b2; +} +.Grid .head .row .cell +{ + font : bold 12px Gulim; + color : #2f2f2f; + background : #eff0f0; + background : -webkit-linear-gradient(to top, #eff0f0, #f9fafa); + background : linear-gradient(to top, #eff0f0, #f9fafa); + border : 1px solid #cacaca; +} +.Grid .head .row .cell > .nexacontentsbox +{ + text-align : center; + background-position-x : center; +} +.Grid .body .row .cell +{ + color : #666666; + border : 1px solid #dbdee2; +} +.Grid .body .row .cell .subcell +{ + color : #666666; + border : 1px solid #dbdee2; +} +.Grid .body .selection +{ + border : 2px solid #125dae; +} +.Grid .summary +{ + border-top : 1px solid #c8c1c2; + border-right : 0px none; + border-bottom : 0px none; + border-left : 0px none; +} +.Grid .summary .row .cell +{ + font : bold 12px Gulim; + color : #333333; + background : #fdfbe5; + border : 1px solid #c8c1c2; +} +.Grid .summary .row .cell > .nexacontentsbox +{ + text-align : center; + background-position-x : center; +} +.Grid .hscrollbar +{ + border-top : 1px solid #b1b1b1; + border-right : 0px none; + border-bottom : 0px none; + border-left : 0px none; +} +.Grid .vscrollbar +{ + border-top : 0px none; + border-right : 0px none; + border-bottom : 0px none; + border-left : 1px solid #b1b1b1; +} +.GridCellControl .cellbutton +{ + font : 12px Gulim; + color : #555555; + background : #eaeaea; + background : -webkit-linear-gradient(to top,#eaeaea,#ffffff); + background : linear-gradient(to top,#eaeaea,#ffffff); + border : 1px solid #c2c2c2; +} +.GridCellControl .cellcalendar +{ + font : 12px Gulim; +} +.GridCellControl .cellcheckbox +{ + font : 12px Gulim; +} +.GridCellControl .cellcombo +{ + font : 12px Gulim; +} +.ListBoxControl.popupGridCellControlcellcombocombolist.dummy.dummy +{ + font : 12px Gulim; + color : #555555; +} +.GridCellControl .celledit +{ + font : 12px Gulim; + background : #ffffff; + border : 1px solid #d5d5d5; +} +.GridCellControl .celledit .nexainput +{ + padding : 1px 9px 0px 9px; +} +.GridCellControl .cellmaskedit +{ + font : 12px Gulim; + background : #ffffff; + border : 1px solid #d5d5d5; +} +.GridCellControl .cellmaskedit .nexainput +{ + padding : 1px 9px 0px 9px; +} +.GridCellControl .cellprogressbar +{ + font : 12px Gulim; +} +.GridCellControl .celltextarea +{ + font : 12px Gulim; +} +.GridCellControl .celltreeitem .treeitemtext +{ + font : 12px Gulim; + color : #666666; +} +.GridCellControl .celltreeline +{ + border : 1px dotted #909090; +} +.GroupBox .groupboxcontents +{ + background : #ffffff; + border : 1px solid #d6d4d5; +} +.GroupBox .groupboxtitle +{ + background : #ffffff; +} +.ImageViewer +{ + background : #ffffff; + border : 1px solid #d5d5d5; +} +.ImageViewer .imagetext .nexacontentsbox +{ + text-align : center; + background-position-x : center; +} +.ListBox +{ + background : #ffffff; + border : 1px solid #d5d5d5; +} +.ListBoxControl +{ + background : #ffffff; + border : 1px solid #d5d5d5; +} +.ListBox .listboxitem +{ + color : #555555; +} +.ListBoxControl .listboxitem +{ + color : #555555; +} +.MaskEdit +{ + background : #ffffff; + border : 1px solid #d5d5d5; +} +.MaskEdit .nexainput +{ + padding : 1px 9px 0px 9px; +} +.MaskEditControl +{ + background : transparent; + border : 0px none; +} +.MaskEditControl .nexainput +{ + padding : 1px 9px 0px 9px; +} +.Menu +{ + background : #1059a8; + background : -webkit-linear-gradient(to top, #1059a8, #125dae); + background : linear-gradient(to top, #1059a8, #125dae); +} +.Menu .menuitem +{ + font : bold 13px Gulim; + color : #ffffff; +} +.PopupMenuControl.popupMenumenupopupmenu.dummy +{ + font : 12px Gulim; + color : #555555; + background : #0753a5; + border : 1px solid #034389; +} +.PopupMenuControl.popupMenumenupopupmenu.dummy .popupmenuitem +{ + color : #c3e0ff; + border-top : 0px none; + border-right : 0px none; + border-bottom : 1px solid #2065ae; + border-left : 0px none; +} +.PopupMenuControl.popupMenumenupopupmenu.dummy .popupmenuitem .popupmenuitemtext +{ + color : #c3e0ff; +} +.PopupMenuControl.popupMenumenupopupmenu.dummy .popupmenuitem .popupmenuitemhotkeytext +{ + color : #6d95cc; +} +.PopupMenuControl.popupMenumenupopupmenu.dummy .popupmenuitem .popupmenuitemhotkeytext .nexacontentsbox +{ + text-align : right; + background-position-x : right; +} +.Plugin +{ + border : 1px solid #d5d5d5; +} +.PluginControl +{ + border : 1px solid #d5d5d5; +} +.PopupMenu +{ + font : 12px Gulim; + color : #555555; + background : #ffffff; + border : 1px solid #b5b5b5; +} +.PopupMenuControl +{ + font : 12px Gulim; + color : #555555; + background : #ffffff; + border : 1px solid #b5b5b5; +} +.PopupMenu .popupmenuitem +{ + color : #555555; +} +.PopupMenuControl .popupmenuitem +{ + color : #555555; +} +.PopupMenu .popupmenuitem .popupmenuitemcheckbox +{ + background : URL('./images/chk_WF_Box_F.png') no-repeat left center; +} +.PopupMenuControl .popupmenuitem .popupmenuitemcheckbox +{ + background : URL('./images/chk_WF_Box_F.png') no-repeat left center; +} +.PopupMenu .popupmenuitem .popupmenuitemhotkeytext +{ + color : #aaaaaa; +} +.PopupMenu .popupmenuitem .popupmenuitemhotkeytext .nexacontentsbox +{ + text-align : right; + background-position-x : right; +} +.PopupMenuControl .popupmenuitem .popupmenuitemhotkeytext +{ + color : #aaaaaa; +} +.PopupMenuControl .popupmenuitem .popupmenuitemhotkeytext .nexacontentsbox +{ + text-align : right; + background-position-x : right; +} +.ProgressBar +{ + background : #f0f0f0; + background : -webkit-linear-gradient(to top, #f0f0f0, #e7e7e7); + background : linear-gradient(to top, #f0f0f0, #e7e7e7); + border-top : 1px solid #aeaeae; + border-right : 1px solid #d2d0d1; + border-bottom : 1px solid #d2d0d1; + border-left : 1px solid #d2d0d1; +} +.ProgressBarControl +{ + background : #f0f0f0; + background : -webkit-linear-gradient(to top, #f0f0f0, #e7e7e7); + background : linear-gradient(to top, #f0f0f0, #e7e7e7); + border-top : 1px solid #aeaeae; + border-right : 1px solid #d2d0d1; + border-bottom : 1px solid #d2d0d1; + border-left : 1px solid #d2d0d1; +} +.ProgressBar .progressbaritem +{ + background : #125dae; +} +.ProgressBarControl .progressbaritem +{ + background : #125dae; +} +.ProgressBar .progressbartext +{ + color : #ffffff; +} +.ProgressBar .progressbartext .nexacontentsbox +{ + text-align : center; + background-position-x : center; +} +.ProgressBarControl .progressbartext +{ + color : #ffffff; +} +.ProgressBarControl .progressbartext .nexacontentsbox +{ + text-align : center; + background-position-x : center; +} +.Sketch +{ + background : #ffffff; + border : 1px solid #d5d5d5; +} +.Spin +{ + background : #ffffff; + border : 1px solid #d5d5d5; +} +.Spin .spinedit .nexainput +{ + padding : 0px 3px 0px 3px; + text-align : right; +} +.Spin .spinedit .nexacontentsbox +{ + text-align : right; + background-position-x : right; +} +.TextArea +{ + background : #ffffff; + border : 1px solid #d5d5d5; +} +.TextArea .nexatextarea +{ + padding : 9px 9px 9px 9px; +} +.TextAreaControl +{ + background : #ffffff; + border : 1px solid #d5d5d5; +} +.TextAreaControl .nexatextarea +{ + padding : 9px 9px 9px 9px; +} +.WebBrowser +{ + border : 1px solid #d5d5d5; +} +.WebBrowserControl +{ + border : 1px solid #d5d5d5; +} +.Tab .tabpageTab +{ + border-top : 1px solid #cfcfcf; + border-right : 0px none; + border-bottom : 0px none; + border-left : 0px none; +} +.Tab .tabbuttonitemTab +{ + color : #333333; + background : #fcfcfc; + background : -webkit-linear-gradient(to top, #fcfcfc, #fafafa); + background : linear-gradient(to top, #fcfcfc, #fafafa); + border : 1px solid #c7c7c7; +} +.DatePickerControl +{ + background : #ffffff; +} +.DatePickerControl .head +{ + background : #125dae; +} +.DatePickerControl .head .yearstatic +{ + font : bold 14px Tahoma; + color : #ffffff; +} +.DatePickerControl .head .monthstatic +{ + font : bold 14px Tahoma; + color : #ffffff; +} +.DatePickerControl .head .yearspin .spinedit +{ + font : bold 14px Tahoma; + color : #ffffff; + background : #0042a0; +} +.DatePickerControl .head .monthspin .spinedit +{ + font : bold 14px Tahoma; + color : #ffffff; + background : #0042a0; +} +.DatePickerControl .body +{ + border-top : 1px solid #125dae; + border-right : 1px solid #697888; + border-bottom : 1px solid #697888; + border-left : 1px solid #697888; +} +.DatePickerControl .body .weekband +{ + background : #125dae; +} +.DatePickerControl .body .weekitem +{ + color : #ffffff; +} +.DatePickerControl .body .dayitem +{ + color : #333333; +} +.VScrollBarControl +{ + background : #ffffff; + background : -webkit-linear-gradient(to left,#ffffff,#f7f7f7); + background : linear-gradient(to left,#ffffff,#f7f7f7); + border : 1px solid #b1b1b1; +} +.HScrollBarControl +{ + background : #ffffff; + background : -webkit-linear-gradient(to top,#ffffff,#f7f7f7); + background : linear-gradient(to top,#ffffff,#f7f7f7); + border : 1px solid #b1b1b1; +} +.VScrollBarControl .trackbar +{ + background : #dddddd; + border : 1px solid #c8c8c8; +} +.HScrollBarControl .trackbar +{ + background : #dddddd; + border : 1px solid #c8c8c8; +} +.VScrollIndicatorControl +{ + background : #f2f2f2; +} +.HScrollIndicatorControl +{ + background : #f2f2f2; +} +.VScrollIndicatorControl .trackbar +{ + background : #cccccc; + border : 2px solid transparent; +} +.HScrollIndicatorControl .trackbar +{ + background : #cccccc; + border : 2px solid transparent; +} +.StatusBarControl +{ + background : #e7e7e7; +} +.StatusBarControl .progressbar +{ + background : #eaeaea; + border-top : 1px solid #afaeae; + border-right : 1px solid #d2d0d0; + border-bottom : 1px solid #d2d0d0; + border-left : 1px solid #d2d0d0; +} +.StatusBarControl .progressbar .progressbaritem +{ + background : #4ca0e2; +} +.StatusBarControl .resizegrip .nexacontentsbox +{ + vertical-align : bottom; + background-position-y : bottom; +} +.TitleBarControl +{ + font : bold 12px Gulim; + color : #ffffff; + background : #003284; +} +.ListView +{ + border : 1px solid #d5d5d5; + background : #ebecee; + color : #666666; +} +.ListView .body +{ + border-top : 0px none; + border-right : 0px none; + border-bottom : 1px solid #dbdee2; + border-left : 0px none; + background : #ffffff; + font : 12px Gulim; +} +.ListView .detail +{ + border-top : 0px none; + border-right : 0px none; + border-bottom : 1px solid #dbdee2; + border-left : 0px none; + background : #f9f9f9; + font : 12px Gulim; +} +.ListViewBandControl.popupListViewdetail +{ + border-top : 0px none; + border-right : 0px none; + border-bottom : 1px solid #dbdee2; + border-left : 0px none; + background : #f9f9f9; + font : 12px Gulim; +} +.ListView .body .cell +{ + border : 1px solid #dbdee2; +} +.ListView .detail .cell +{ + border : 1px solid #dbdee2; +} +.ListViewBandControl.popupListViewdetail .cell +{ + border : 1px solid #dbdee2; +} +.ListViewCellControl .cellbutton +{ + font : 12px Gulim; + color : #555555; + background : #eaeaea; + background : -webkit-linear-gradient(to top,#eaeaea,#ffffff); + background : linear-gradient(to top,#eaeaea,#ffffff); + border : 1px solid #c2c2c2; +} +.ListViewCellControl .cellcalendar +{ + font : 12px Gulim; +} +.ListViewCellControl .cellcheckbox +{ + font : 12px Gulim; +} +.ListViewCellControl .cellcombo +{ + font : 12px Gulim; +} +.ListBoxControl.popupListViewCellControlcellcombocombolist.dummy.dummy +{ + font : 12px Gulim; + color : #555555; +} +.ListViewCellControl .celledit +{ + font : 12px Gulim; + background : #ffffff; + border : 1px solid #d5d5d5; +} +.ListViewCellControl .celledit .nexainput +{ + padding : 1px 9px 0px 9px; +} +.ListViewCellControl .cellmaskedit +{ + font : 12px Gulim; + background : #ffffff; + border : 1px solid #d5d5d5; +} +.ListViewCellControl .cellmaskedit .nexainput +{ + padding : 1px 9px 0px 9px; +} +.ListViewCellControl .cellprogressbar +{ + font : 12px Gulim; +} +.ListViewCellControl .celltextarea +{ + font : 12px Gulim; +} +.ListView .body .expandbar +{ + background : #eaeaea; + background : -webkit-linear-gradient(to top,#eaeaea,#ffffff); + background : linear-gradient(to top,#eaeaea,#ffffff); + border : 1px solid #c2c2c2; +} +#nexacontainer .Button[status=mouseover] +{ + background : #e7e7e7; + background : -webkit-linear-gradient(to top,#e7e7e7,#fefefe); + background : linear-gradient(to top,#e7e7e7,#fefefe); + border : 1px solid #a0a0a0; +} +#nexacontainer .Button[status=focused] +{ + background : #e7e7e7; + background : -webkit-linear-gradient(to top,#e7e7e7,#fefefe); + background : linear-gradient(to top,#e7e7e7,#fefefe); + border : 1px solid #a0a0a0; +} +#nexacontainer .FileDownload[status=mouseover] +{ + background : #e7e7e7; + background : -webkit-linear-gradient(to top,#e7e7e7,#fefefe); + background : linear-gradient(to top,#e7e7e7,#fefefe); + border : 1px solid #a0a0a0; +} +#nexacontainer .FileDownload[status=focused] +{ + background : #e7e7e7; + background : -webkit-linear-gradient(to top,#e7e7e7,#fefefe); + background : linear-gradient(to top,#e7e7e7,#fefefe); + border : 1px solid #a0a0a0; +} +#nexacontainer .FileUpload .fileuploaditem .fileuploaditembutton[status=mouseover] +{ + background : #e7e7e7; + background : -webkit-linear-gradient(to top,#e7e7e7,#fefefe); + background : linear-gradient(to top,#e7e7e7,#fefefe); + border : 1px solid #a0a0a0; +} +#nexacontainer .FileUpload .fileuploaditem .fileuploaditembutton[status=focused] +{ + background : #e7e7e7; + background : -webkit-linear-gradient(to top,#e7e7e7,#fefefe); + background : linear-gradient(to top,#e7e7e7,#fefefe); + border : 1px solid #a0a0a0; +} +#nexacontainer .Calendar[status=mouseover] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .CalendarControl[status=mouseover] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .Calendar[status=focused] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .CalendarControl[status=focused] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .Calendar[status=readonly] +{ + background : #efefef; +} +#nexacontainer .CalendarControl[status=readonly] +{ + background : #efefef; +} +#nexacontainer .Combo[status=mouseover] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .Combo[status=focused] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .ComboControl[status=mouseover] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .ComboControl[status=focused] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .Combo[status=readonly] +{ + background : #efefef; +} +#nexacontainer .ComboControl[status=readonly] +{ + background : #efefef; +} +#nexacontainer .Edit[status=mouseover] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .Edit[status=focused] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .FileUpload .fileuploaditem .fileuploaditemedit[status=mouseover] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .FileUpload .fileuploaditem .fileuploaditemedit[status=focused] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .Edit[status=readonly] +{ + background : #efefef; +} +#nexacontainer .Grid .body .row .cell[status=mouseover] +{ + background : #f6f6f6; +} +#nexacontainer .Grid .body .row .cell .subcell[status=mouseover] +{ + background : #f6f6f6; +} +#nexacontainer .GridCellControl .cellbutton[status=mouseover] +{ + background : #e7e7e7; + background : -webkit-linear-gradient(to top,#e7e7e7,#fefefe); + background : linear-gradient(to top,#e7e7e7,#fefefe); + border : 1px solid #a0a0a0; +} +#nexacontainer .GridCellControl .cellbutton[status=focused] +{ + background : #e7e7e7; + background : -webkit-linear-gradient(to top,#e7e7e7,#fefefe); + background : linear-gradient(to top,#e7e7e7,#fefefe); + border : 1px solid #a0a0a0; +} +#nexacontainer .ListBoxControl.popupGridCellControlcellcombocombolist.dummy.dummy .listboxitem[status=mouseover] +{ + background : #e8e9ed; +} +#nexacontainer .GridCellControl .celledit[status=mouseover] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .GridCellControl .celledit[status=focused] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .GridCellControl .cellmaskedit[status=mouseover] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .GridCellControl .cellmaskedit[status=focused] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .ListBox[status=mouseover] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .ListBox[status=focused] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .ListBoxControl[status=mouseover] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .ListBoxControl[status=focused] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .ListBox .listboxitem[status=mouseover] +{ + background : #e7e9ed; +} +#nexacontainer .ListBoxControl .listboxitem[status=mouseover] +{ + background : #e7e9ed; +} +#nexacontainer .MaskEdit[status=mouseover] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .MaskEdit[status=focused] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .MaskEdit[status=readonly] +{ + background : #efefef; +} +#nexacontainer .Menu .menuitem[status=mouseover] +{ + background : URL('./images/img_WF_Menu_O.png') no-repeat center top; +} +#nexacontainer .PopupMenuControl.popupMenumenupopupmenu.dummy .popupmenuitem[status=mouseover] +{ + color : #ffffff; + background : transparent; +} +#nexacontainer .PopupMenuControl.popupMenumenupopupmenu.dummy .popupmenuitem[status=focused] +{ + color : #ffffff; + background : transparent; +} +#nexacontainer .PopupMenuControl.popupMenumenupopupmenu.dummy .popupmenuitem .popupmenuitemtext[status=mouseover] +{ + color : #ffffff; +} +#nexacontainer .PopupMenuControl.popupMenumenupopupmenu.dummy .popupmenuitem .popupmenuitemhotkeytext[status=mouseover] +{ + color : #ffffff; +} +#nexacontainer .PopupMenu .popupmenuitem[status=mouseover] +{ + background : #e7e9ed; +} +#nexacontainer .PopupMenu .popupmenuitem[status=focused] +{ + background : #e7e9ed; +} +#nexacontainer .PopupMenuControl .popupmenuitem[status=mouseover] +{ + background : #e7e9ed; +} +#nexacontainer .PopupMenuControl .popupmenuitem[status=focused] +{ + background : #e7e9ed; +} +#nexacontainer .PopupMenu .popupmenuitem .popupmenuitemcheckbox[status=mouseover] +{ + background : URL('./images/chk_WF_Box_F.png') no-repeat left center; +} +#nexacontainer .PopupMenuControl .popupmenuitem .popupmenuitemcheckbox[status=mouseover] +{ + background : URL('./images/chk_WF_Box_F.png') no-repeat left center; +} +#nexacontainer .Spin[status=mouseover] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .Spin[status=focused] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .Spin[status=readonly] +{ + background : #efefef; +} +#nexacontainer .TextArea[status=mouseover] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .TextArea[status=focused] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .TextAreaControl[status=mouseover] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .TextAreaControl[status=focused] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .TextArea[status=readonly] +{ + background : #efefef; + border : 1px solid #d5d5d5; +} +#nexacontainer .TextAreaControl[status=readonly] +{ + background : #efefef; + border : 1px solid #d5d5d5; +} +#nexacontainer .Tab .tabbuttonitemTab[status=mouseover] +{ + border : 1px solid #b1b1b1; + background : #dddcdc; + background : -webkit-linear-gradient(to top, #dddcdc, #fefefe); + background : linear-gradient(to top, #dddcdc, #fefefe); +} +#nexacontainer .Tab .tabbuttonitemTab[status=focused] +{ + color : #dee4ef; +} +#nexacontainer .DatePickerControl .body .dayitem[status=mouseover] +{ + color : #ffffff; + background : #8da3c7; +} +#nexacontainer .DatePickerControl .body .dayitem[status=focused] +{ + color : #ffffff; + background : #125dae; +} +#nexacontainer .VScrollBarControl .trackbar[status=focused] +{ + background : #999999; + border : 1px solid #888888; +} +#nexacontainer .HScrollBarControl .trackbar[status=focused] +{ + background : #999999; + border : 1px solid #888888; +} +#nexacontainer .VScrollBarControl .trackbar[status=mouseover] +{ + background : #bbbbbb; + border : 1px solid #a8a8a8; +} +#nexacontainer .HScrollBarControl .trackbar[status=mouseover] +{ + background : #bbbbbb; + border : 1px solid #a8a8a8; +} +#nexacontainer .VScrollIndicatorControl .trackbar[status=mouseover] +{ + background : #999999; +} +#nexacontainer .HScrollIndicatorControl .trackbar[status=mouseover] +{ + background : #999999; +} +#nexacontainer .ListView[status=readonly] +{ + border : 1px solid #d5d5d5; + background : #ebecee; + color : #666666; +} +#nexacontainer .ListView[status=mouseover] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .ListView[status=focused] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .ListView .body[status=readonly] +{ + border-top : 0px none; + border-right : 0px none; + border-bottom : 1px solid #dbdee2; + border-left : 0px none; + background : #ffffff; + font : 12px Gulim; +} +#nexacontainer .ListView .detail[status=readonly] +{ + border-top : 0px none; + border-right : 0px none; + border-bottom : 1px solid #dbdee2; + border-left : 0px none; + background : #ffffff; + font : 12px Gulim; +} +#nexacontainer .ListViewBandControl.popupListViewdetail[status=readonly] +{ + border-top : 0px none; + border-right : 0px none; + border-bottom : 1px solid #dbdee2; + border-left : 0px none; + background : #ffffff; + font : 12px Gulim; +} +#nexacontainer .ListView .body[status=focused] +{ + border-top : 0px none; + border-right : 0px none; + border-bottom : 1px solid #dbdee2; + border-left : 0px none; + background : #ffffff; + font : 12px Gulim; +} +#nexacontainer .ListView .detail[status=focused] +{ + border-top : 0px none; + border-right : 0px none; + border-bottom : 1px solid #dbdee2; + border-left : 0px none; + background : #ffffff; + font : 12px Gulim; +} +#nexacontainer .ListViewBandControl.popupListViewdetail[status=focused] +{ + border-top : 0px none; + border-right : 0px none; + border-bottom : 1px solid #dbdee2; + border-left : 0px none; + background : #ffffff; + font : 12px Gulim; +} +#nexacontainer .ListView .body[status=mouseover] +{ + border-top : 0px none; + border-right : 0px none; + border-bottom : 1px solid #dbdee2; + border-left : 0px none; + background : #ffffff; + font : 12px Gulim; +} +#nexacontainer .ListView .detail[status=mouseover] +{ + border-top : 0px none; + border-right : 0px none; + border-bottom : 1px solid #dbdee2; + border-left : 0px none; + background : #ffffff; + font : 12px Gulim; +} +#nexacontainer .ListViewBandControl.popupListViewdetail[status=mouseover] +{ + border-top : 0px none; + border-right : 0px none; + border-bottom : 1px solid #dbdee2; + border-left : 0px none; + background : #ffffff; + font : 12px Gulim; +} +#nexacontainer .ListView .body .cell[status=readonly] +{ + border : 1px solid #dbdee2; +} +#nexacontainer .ListView .detail .cell[status=readonly] +{ + border : 1px solid #dbdee2; +} +#nexacontainer .ListViewBandControl.popupListViewdetail .cell[status=readonly] +{ + border : 1px solid #dbdee2; +} +#nexacontainer .ListView .body .cell[status=focused] +{ + border : 1px solid #dbdee2; +} +#nexacontainer .ListView .detail .cell[status=focused] +{ + border : 1px solid #dbdee2; +} +#nexacontainer .ListViewBandControl.popupListViewdetail .cell[status=focused] +{ + border : 1px solid #dbdee2; +} +#nexacontainer .ListView .body .cell[status=mouseover] +{ + border : 1px solid #c4c9cf; +} +#nexacontainer .ListView .detail .cell[status=mouseover] +{ + border : 1px solid #c4c9cf; +} +#nexacontainer .ListViewBandControl.popupListViewdetail .cell[status=mouseover] +{ + border : 1px solid #c4c9cf; +} +#nexacontainer .ListViewCellControl .cellbutton[status=mouseover] +{ + background : #e7e7e7; + background : -webkit-linear-gradient(to top,#e7e7e7,#fefefe); + background : linear-gradient(to top,#e7e7e7,#fefefe); + border : 1px solid #a0a0a0; +} +#nexacontainer .ListViewCellControl .cellbutton[status=focused] +{ + background : #e7e7e7; + background : -webkit-linear-gradient(to top,#e7e7e7,#fefefe); + background : linear-gradient(to top,#e7e7e7,#fefefe); + border : 1px solid #a0a0a0; +} +#nexacontainer .ListBoxControl.popupListViewCellControlcellcombocombolist.dummy.dummy .listboxitem[status=mouseover] +{ + background : #e8e9ed; +} +#nexacontainer .ListViewCellControl .celledit[status=mouseover] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .ListViewCellControl .celledit[status=focused] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .ListViewCellControl .cellmaskedit[status=mouseover] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .ListViewCellControl .cellmaskedit[status=focused] +{ + border : 1px solid #5a86cd; +} +#nexacontainer .ListView .body .expandbar[status=mouseover] +{ + background : #e7e7e7; + background : -webkit-linear-gradient(to top,#e7e7e7,#fefefe); + background : linear-gradient(to top,#e7e7e7,#fefefe); + border : 1px solid #a0a0a0; +} +#nexacontainer .ListView .body .expandbar[status=focused] +{ + background : #e7e7e7; + background : -webkit-linear-gradient(to top,#e7e7e7,#fefefe); + background : linear-gradient(to top,#e7e7e7,#fefefe); + border : 1px solid #a0a0a0; +} +#nexacontainer .Form[userstatus=contents] +{ + background : transparent; +} +#nexacontainer .Button[userstatus=pushed] +{ + background : #fefefe; + background : -webkit-linear-gradient(to top,#fefefe,#e9e9e9); + background : linear-gradient(to top,#fefefe,#e9e9e9); +} +#nexacontainer .Button[userstatus=selected] +{ + background : #fefefe; + background : -webkit-linear-gradient(to top,#fefefe,#e9e9e9); + background : linear-gradient(to top,#fefefe,#e9e9e9); +} +#nexacontainer .FileDownload[userstatus=pushed] +{ + background : #fefefe; + background : -webkit-linear-gradient(to top,#fefefe,#e9e9e9); + background : linear-gradient(to top,#fefefe,#e9e9e9); +} +#nexacontainer .FileUpload .fileuploaditem .fileuploaditembutton[userstatus=pushed] +{ + background : #fefefe; + background : -webkit-linear-gradient(to top,#fefefe,#e9e9e9); + background : linear-gradient(to top,#fefefe,#e9e9e9); +} +#nexacontainer .FileUpload .fileuploaditem .fileuploaditembutton[userstatus=selected] +{ + background : #fefefe; + background : -webkit-linear-gradient(to top,#fefefe,#e9e9e9); + background : linear-gradient(to top,#fefefe,#e9e9e9); +} +#nexacontainer .Edit[userstatus=nulltext] +{ + color : #999999; +} +#nexacontainer .EditControl[userstatus=nulltext] +{ + color : #999999; +} +#nexacontainer .MaskEdit[userstatus=nulltext] +{ + color : #999999; +} +#nexacontainer .MaskEditControl[userstatus=nulltext] +{ + color : #999999; +} +#nexacontainer .TextArea[userstatus=nulltext] +{ + color : #999999; +} +#nexacontainer .TextAreaControl[userstatus=nulltext] +{ + color : #999999; +} +#nexacontainer .Calendar[userstatus=invalidtext] +{ + color : #999999; +} +#nexacontainer .CalendarControl[userstatus=invalidtext] +{ + color : #999999; +} +#nexacontainer .MaskEdit[userstatus=invalidtext] +{ + color : #999999; +} +#nexacontainer .MaskEditControl[userstatus=invalidtext] +{ + color : #999999; +} +#nexacontainer .Spin[userstatus=invalidtext] +{ + color : #999999; +} +#nexacontainer .SpinControl[userstatus=invalidtext] +{ + color : #999999; +} +#nexacontainer .Grid .body .row .cell[userstatus=selected] +{ + background : #f2f9ff; +} +#nexacontainer .Grid .body .row .cell .subcell[userstatus=selected] +{ + background : #f2f9ff; +} +#nexacontainer .Grid .body .row .cell .subcell[userstatus=blinked] +{ + background : #125dae; + color : #ffffff; +} +#nexacontainer .GridCellControl .cellbutton[userstatus=pushed] +{ + background : #fefefe; + background : -webkit-linear-gradient(to top,#fefefe,#e9e9e9); + background : linear-gradient(to top,#fefefe,#e9e9e9); +} +#nexacontainer .GridCellControl .cellbutton[userstatus=selected] +{ + background : #fefefe; + background : -webkit-linear-gradient(to top,#fefefe,#e9e9e9); + background : linear-gradient(to top,#fefefe,#e9e9e9); +} +#nexacontainer .Grid .body .row .cell[userstatus=blinked] +{ + background : #125dae; + color : #ffffff; +} +#nexacontainer .ListBox .listboxitem[userstatus=selected] +{ + color : #ffffff; + background : #125dae; +} +#nexacontainer .ListBoxControl .listboxitem[userstatus=selected] +{ + color : #ffffff; + background : #125dae; +} +#nexacontainer .Menu .menuitem[userstatus=selected] +{ + background : URL('./images/img_WF_Menu_O.png') no-repeat center top; +} +#nexacontainer .PopupMenuControl.popupMenumenupopupmenu.dummy .popupmenuitem[userstatus=selected] +{ + color : #ffffff; + background : transparent; +} +#nexacontainer .PopupMenu .popupmenuitem[userstatus=selected] +{ + color : #ffffff; + background : #125dae; +} +#nexacontainer .PopupMenuControl .popupmenuitem[userstatus=selected] +{ + color : #ffffff; + background : #125dae; +} +#nexacontainer .Tab .tabbuttonitemTab[userstatus=selected] +{ + color : #dee4ef; + background : #1055a1; + border : 1px solid #1055a1; +} +#nexacontainer .DatePickerControl .body .weekitem[userstatus=saturday] +{ + color : #48afff; +} +#nexacontainer .DatePickerControl .body .weekitem[userstatus=sunday] +{ + color : #ff7986; +} +#nexacontainer .DatePickerControl .body .dayitem[userstatus=selected] +{ + color : #ffffff; + background : #125dae; +} +#nexacontainer .DatePickerControl .body .dayitem[userstatus=today] +{ + color : #ffffff; + background : #e7595c; +} +#nexacontainer .DatePickerControl .body .dayitem[userstatus=saturday] +{ + color : #269bee; +} +#nexacontainer .DatePickerControl .body .dayitem[userstatus=sunday] +{ + color : #ff4c5e; +} +#nexacontainer .DatePickerControl .body .dayitem[userstatus=trailingday] +{ + color : #989898; +} +#nexacontainer .VScrollBarControl .trackbar[userstatus=pushed] +{ + background : #999999; + border : 1px solid #888888; +} +#nexacontainer .VScrollBarControl .trackbar[userstatus=selected] +{ + background : #999999; + border : 1px solid #888888; +} +#nexacontainer .HScrollBarControl .trackbar[userstatus=pushed] +{ + background : #999999; + border : 1px solid #888888; +} +#nexacontainer .HScrollBarControl .trackbar[userstatus=selected] +{ + background : #999999; + border : 1px solid #888888; +} +#nexacontainer .VScrollIndicatorControl .trackbar[userstatus=pushed] +{ + background : #606060; +} +#nexacontainer .HScrollIndicatorControl .trackbar[userstatus=pushed] +{ + background : #606060; +} +#nexacontainer .ListView .body[userstatus=selected] +{ + background : #f2f9ff; +} +#nexacontainer .ListView .detail[userstatus=selected] +{ + background : #ebf3f9; +} +#nexacontainer .ListViewBandControl.popupListViewdetail[userstatus=selected] +{ + background : #ebf3f9; +} +#nexacontainer .ListViewCellControl .cellbutton[userstatus=pushed] +{ + background : #fefefe; + background : -webkit-linear-gradient(to top,#fefefe,#e9e9e9); + background : linear-gradient(to top,#fefefe,#e9e9e9); +} +#nexacontainer .ListView .body .expandbar[userstatus=pushed] +{ + background : #fefefe; + background : -webkit-linear-gradient(to top,#fefefe,#e9e9e9); + background : linear-gradient(to top,#fefefe,#e9e9e9); +} +#nexacontainer .ListView .body .expandbar[userstatus=selected] +{ + background : #fefefe; + background : -webkit-linear-gradient(to top,#fefefe,#e9e9e9); + background : linear-gradient(to top,#fefefe,#e9e9e9); +} +#nexacontainer .Form[status=disabled] +{ + color : #999999; +} +#nexacontainer .FileUpload .fileuploaditem[status=disabled] +{ + color : #999999; +} +#nexacontainer .Button[status=disabled] +{ + color : #bbbbbb; + background : #f5f5f5; + border : 1px solid #d9d9d9; +} +#nexacontainer .FileDownload[status=disabled] +{ + color : #bbbbbb; + background : #f5f5f5; + border : 1px solid #d9d9d9; +} +#nexacontainer .FileUpload .fileuploaditem .fileuploaditembutton[status=disabled] +{ + color : #bbbbbb; + background : #f5f5f5; + border : 1px solid #d9d9d9; +} +#nexacontainer .Calendar[status=disabled] +{ + color : #999999; + background : #efefef; +} +#nexacontainer .CalendarControl[status=disabled] +{ + color : #999999; + background : #efefef; +} +#nexacontainer .CheckBox[status=disabled] +{ + color : #999999; +} +#nexacontainer .CheckBoxControl[status=disabled] +{ + color : #999999; +} +#nexacontainer .Combo[status=disabled] +{ + color : #999999; + background : #efefef; +} +#nexacontainer .ComboControl[status=disabled] +{ + color : #999999; + background : #efefef; +} +#nexacontainer .Combo .dropbutton[status=disabled] +{ + opacity : 0.50; +} +#nexacontainer .ComboControl .dropbutton[status=disabled] +{ + opacity : 0.50; +} +#nexacontainer .Edit[status=disabled] +{ + color : #999999; + background : #efefef; +} +#nexacontainer .FileUpload .fileuploaditem .fileuploaditemedit[status=disabled] +{ + color : #999999; + background : #efefef; +} +#nexacontainer .Grid .head .row .cell[status=disabled] +{ + color : #999999; +} +#nexacontainer .Grid .body .row .cell[status=disabled] +{ + color : #999999; +} +#nexacontainer .Grid .body .row .cell .subcell[status=disabled] +{ + color : #999999; +} +#nexacontainer .GridCellControl .cellbutton[status=disabled] +{ + color : #bbbbbb; + background : #f5f5f5; + border : 1px solid #d9d9d9; +} +#nexacontainer .GridCellControl .celledit[status=disabled] +{ + color : #999999; + background : #efefef; +} +#nexacontainer .GridCellControl .cellmaskedit[status=disabled] +{ + color : #999999; + background : #efefef; +} +#nexacontainer .GridCellControl .celltreeitem .treeitemtext[status=disabled] +{ + color : #999999; +} +#nexacontainer .GroupBox .groupboxcontents[status=disabled] +{ + background : #efefef; +} +#nexacontainer .GroupBox .groupboxtitle[status=disabled] +{ + color : #999999; + background : #efefef; +} +#nexacontainer .ImageViewer[status=disabled] +{ + background : #f2f2f2; +} +#nexacontainer .ImageViewer .imagetext[status=disabled] +{ + color : #999999; +} +#nexacontainer .ListBox[status=disabled] +{ + background : #efefef; +} +#nexacontainer .ListBoxControl[status=disabled] +{ + background : #efefef; +} +#nexacontainer .ListBox .listboxitem[status=disabled] +{ + opacity : 0.50; +} +#nexacontainer .ListBoxControl .listboxitem[status=disabled] +{ + opacity : 0.50; +} +#nexacontainer .MaskEdit[status=disabled] +{ + color : #999999; + background : #f2f2f2; +} +#nexacontainer .Menu[status=disabled] +{ + background : #94a9bf; +} +#nexacontainer .Menu .menuitem[status=disabled] +{ + color : #c7d4e2; +} +#nexacontainer .PopupMenuControl.popupMenumenupopupmenu.dummy .popupmenuitem[status=disabled] +{ + color : #2665af; +} +#nexacontainer .PopupMenuControl.popupMenumenupopupmenu.dummy .popupmenuitem .popupmenuitemtext[status=disabled] +{ + color : #2665af; +} +#nexacontainer .PopupMenuControl.popupMenumenupopupmenu.dummy .popupmenuitem .popupmenuitemhotkeytext[status=disabled] +{ + color : #4577b9; +} +#nexacontainer .PopupMenu .popupmenuitem[status=disabled] +{ + color : #999999; +} +#nexacontainer .PopupMenuControl .popupmenuitem[status=disabled] +{ + color : #999999; +} +#nexacontainer .PopupMenu .popupmenuitem .popupmenuitemcheckbox[status=disabled] +{ + background : URL('./images/chk_WF_Box_D.png') no-repeat left center; +} +#nexacontainer .PopupMenuControl .popupmenuitem .popupmenuitemcheckbox[status=disabled] +{ + background : URL('./images/chk_WF_Box_D.png') no-repeat left center; +} +#nexacontainer .PopupMenu .popupmenuitem .popupmenuitemhotkeytext[status=disabled] +{ + color : #4577b9; +} +#nexacontainer .PopupMenuControl .popupmenuitem .popupmenuitemhotkeytext[status=disabled] +{ + color : #4577b9; +} +#nexacontainer .ProgressBar .progressbaritem[status=disabled] +{ + background : #b5b5b5; +} +#nexacontainer .ProgressBarControl .progressbaritem[status=disabled] +{ + background : #b5b5b5; +} +#nexacontainer .Sketch[status=disabled] +{ + background : #efefef; +} +#nexacontainer .Spin[status=disabled] +{ + color : #999999; + background : #efefef; +} +#nexacontainer .Spin .spinedit[status=disabled] .nexainput +{ + padding : 1px 2px 0px 9px; +} +#nexacontainer .Static[status=disabled] +{ + color : #999999; +} +#nexacontainer .StaticControl[status=disabled] +{ + color : #999999; +} +#nexacontainer .TextArea[status=disabled] +{ + color : #999999; + background : #efefef; +} +#nexacontainer .TextAreaControl[status=disabled] +{ + color : #999999; + background : #efefef; +} +#nexacontainer .Tab .tabbuttonitemTab[status=disabled] +{ + color : #ababab; + background : #e7e7e7; +} +#nexacontainer .Tab .tabbuttonitemTab .tabbuttonitemtext[status=disabled] +{ + color : #c8c8c8; +} +#nexacontainer .DatePickerControl .head[status=disabled] +{ + background : #94a9bf; + color : #cdcdcd; +} +#nexacontainer .DatePickerControl .head .yearstatic[status=disabled] +{ + color : #c7d4e2; +} +#nexacontainer .DatePickerControl .head .monthstatic[status=disabled] +{ + color : #c7d4e2; +} +#nexacontainer .DatePickerControl .body[status=disabled] +{ + border : 1px solid #98a6b5; +} +#nexacontainer .DatePickerControl .body .weekband[status=disabled] +{ + background : #94a9bf; +} +#nexacontainer .DatePickerControl .body .weekitem[status=disabled] +{ + color : #c7d4e2; + background : #94a9bf; +} +#nexacontainer .DatePickerControl .body .dayitem[status=disabled] +{ + color : #cdcdcd; +} +#nexacontainer .VScrollBarControl .trackbar[status=disabled] +{ + background : #eeeeee; + border : 1px solid #d8d8d8; +} +#nexacontainer .HScrollBarControl .trackbar[status=disabled] +{ + background : #eeeeee; + border : 1px solid #d8d8d8; +} +#nexacontainer .ListView[status=disabled] +{ + background : #666666; +} +#nexacontainer .ListView .body[status=disabled] +{ + color : #999999; +} +#nexacontainer .ListView .detail[status=disabled] +{ + color : #999999; +} +#nexacontainer .ListViewBandControl.popupListViewdetail[status=disabled] +{ + color : #999999; +} +#nexacontainer .ListView .body .cell[status=disabled] +{ + border : 1px solid #dbdee2; +} +#nexacontainer .ListView .detail .cell[status=disabled] +{ + border : 1px solid #dbdee2; +} +#nexacontainer .ListViewBandControl.popupListViewdetail .cell[status=disabled] +{ + border : 1px solid #dbdee2; +} +#nexacontainer .ListViewCellControl .cellbutton[status=disabled] +{ + color : #bbbbbb; + background : #f5f5f5; + border : 1px solid #d9d9d9; +} +#nexacontainer .ListViewCellControl .celledit[status=disabled] +{ + color : #999999; + background : #efefef; +} +#nexacontainer .ListViewCellControl .cellmaskedit[status=disabled] +{ + color : #999999; + background : #efefef; +} +#nexacontainer .ListView .body .expandbar[status=disabled] +{ + color : #bbbbbb; + background : #f5f5f5; + border : 1px solid #d9d9d9; +} +#nexacontainer .CheckBox[status=disabled][userstatus=selected] +{ + color : #999999; +} +#nexacontainer .CheckBoxControl[status=disabled][userstatus=selected] +{ + color : #999999; +} +#nexacontainer .Grid .body .row .cell[status=disabled][userstatus=selected] +{ + background : #f0f0f0; +} +#nexacontainer .Tab .tabbuttonitemTab[status=focused][userstatus=selected] +{ + color : #dee4ef; + background : #1055a1; + border : 1px solid #1055a1; +} +#nexacontainer .Tab .tabbuttonitemTab[status=disabled][userstatus=selected] +{ + border : 1px solid #c7d4e2; + background : #94a9bf; +} +#nexacontainer .DatePickerControl .body .dayitem[status=mouseover][userstatus=saturday] +{ + color : #ffffff; +} +#nexacontainer .DatePickerControl .body .dayitem[status=mouseover][userstatus=sunday] +{ + color : #ffffff; +} +#nexacontainer .DatePickerControl .body .dayitem[status=mouseover][userstatus=trailingday] +{ + color : #ffffff; +} +#nexacontainer .DatePickerControl .body .dayitem[status=disabled][userstatus=selected] +{ + background : #f0f0f0; +} diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/environment.xml.js b/nexacro-spring/src/main/webapp/deploy/_web_/environment.xml.js new file mode 100644 index 0000000..b0104c7 --- /dev/null +++ b/nexacro-spring/src/main/webapp/deploy/_web_/environment.xml.js @@ -0,0 +1,83 @@ +if (nexacro.Environment) +{ + var env = nexacro._environment = new nexacro.Environment(); + + env.on_init = function () + { + this.set_themeid("theme::default"); + this.set_datatyperule("2.0"); + }; + + env.on_initEvent = function () + { + // add event handler + + }; + + env.loadTypeDefinition = function () + { + nexacro._setTypeDefinitionURL("typedefinition.xml"); + nexacro._addService("theme", "file", "./_resource_/_theme_/", "session", null, "", "0", ""); + nexacro._addService("initvalue", "file", "./_resource_/_initvalue_/", "session", null, "", "0", ""); + nexacro._addService("xcssrc", "file", "./_resource_/_xcss_/", "session", null, "", "0", ""); + nexacro._addService("imagerc", "file", "./_resource_/_images_/", "session", null, "", "0", ""); + nexacro._addService("font", "file", "./_resource_/_font_/", "session", null, "", "0", ""); + nexacro._addService("Base", "form", "./Base/", "session", null, "", "0", "0"); + nexacro._addService("FrameBase", "form", "./FrameBase/", "session", null, "", "0", "0"); + + nexacro._component_uri = (nexacro._arg_compurl ? nexacro._arg_compurl : "./nexacro17lib/component/"); + nexacro._theme_uri = "./_resource_/_theme_/"; + + // load components + var registerclass = [ + {"id":"Button", "classname":"nexacro.Button", "type":"JavaScript"}, + {"id":"Combo", "classname":"nexacro.Combo", "type":"JavaScript"}, + {"id":"Edit", "classname":"nexacro.Edit", "type":"JavaScript"}, + {"id":"MaskEdit", "classname":"nexacro.MaskEdit", "type":"JavaScript"}, + {"id":"TextArea", "classname":"nexacro.TextArea", "type":"JavaScript"}, + {"id":"Static", "classname":"nexacro.Static", "type":"JavaScript"}, + {"id":"Div", "classname":"nexacro.Div", "type":"JavaScript"}, + {"id":"PopupDiv", "classname":"nexacro.PopupDiv", "type":"JavaScript"}, + {"id":"Radio", "classname":"nexacro.Radio", "type":"JavaScript"}, + {"id":"CheckBox", "classname":"nexacro.CheckBox", "type":"JavaScript"}, + {"id":"ListBox", "classname":"nexacro.ListBox", "type":"JavaScript"}, + {"id":"Grid", "classname":"nexacro.Grid", "type":"JavaScript"}, + {"id":"Spin", "classname":"nexacro.Spin", "type":"JavaScript"}, + {"id":"Menu", "classname":"nexacro.Menu", "type":"JavaScript"}, + {"id":"PopupMenu", "classname":"nexacro.PopupMenu", "type":"JavaScript"}, + {"id":"Tab", "classname":"nexacro.Tab", "type":"JavaScript"}, + {"id":"GroupBox", "classname":"nexacro.GroupBox", "type":"JavaScript"}, + {"id":"Calendar", "classname":"nexacro.Calendar", "type":"JavaScript"}, + {"id":"ImageViewer", "classname":"nexacro.ImageViewer", "type":"JavaScript"}, + {"id":"ProgressBar", "classname":"nexacro.ProgressBar", "type":"JavaScript"}, + {"id":"Plugin", "classname":"nexacro.Plugin", "type":"JavaScript"}, + {"id":"Dataset", "classname":"nexacro.NormalDataset", "type":"JavaScript"}, + {"id":"ListView", "classname":"nexacro.ListView", "type":"JavaScript"} + ]; + nexacro._addClasses(registerclass); + }; + + env.on_loadVariables = function () + { + // Variables + + + // Cookies + + + // HTTP Header + + }; + + env.on_loadDeviceAdaptors = function () + { + // load device adatpor + + }; + + // User Script + + + env = null; +} + diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/index.html b/nexacro-spring/src/main/webapp/deploy/_web_/index.html new file mode 100644 index 0000000..490b231 --- /dev/null +++ b/nexacro-spring/src/main/webapp/deploy/_web_/index.html @@ -0,0 +1,116 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/nexacro17lib/component/ComComp.json b/nexacro-spring/src/main/webapp/deploy/_web_/nexacro17lib/component/ComComp.json new file mode 100644 index 0000000..685d558 --- /dev/null +++ b/nexacro-spring/src/main/webapp/deploy/_web_/nexacro17lib/component/ComComp.json @@ -0,0 +1,189 @@ +{ + "name": "ComComp", + "version": "17.1.0.200", + "description": "nexacro platform 17 Unified Framework Library", + "license": "", + "scripts": [ + "ComComp/Dataset.js", + "ComComp/DomObject.js", + "ComComp/Static.js", + "ComComp/Button.js", + "ComComp/Edit.js", + "ComComp/MaskEdit.js", + "ComComp/TextArea.js", + "ComComp/lang/ko/ime.js", + "ComComp/lang/ja/ime.js", + "ComComp/ImageViewer.js", + "ComComp/CheckBox.js", + "ComComp/Radio.js", + "ComComp/ListBox.js", + "ComComp/Combo.js", + "ComComp/Div.js", + "ComComp/ProgressBar.js", + "ComComp/PopupDiv.js", + "ComComp/Menu.js", + "ComComp/PopupMenu.js", + "ComComp/Spin.js", + "ComComp/DatePicker.js", + "ComComp/Calendar.js", + "ComComp/GroupBox.js", + "ComComp/Tab.js", + "ComComp/FileDialog.js", + "ComComp/FileDownload.js", + "ComComp/FileDownTransfer.js", + "ComComp/FileUpload.js", + "ComComp/FileUpTransfer.js", + "ComComp/VideoPlayer.js", + "ComComp/WebBrowser.js", + "ComComp/GoogleMap.js", + "ComComp/Sketch.js", + "ComComp/ExportObject.js", + "ComComp/ImportObject.js", + "ComComp/Tray.js", + "ComComp/Plugin.js", + "ComComp/VirtualFile.js", + "ComComp/Cell.js" + ], + "objInfo": [ + "ComComp/metainfo/IconControl.info", + "ComComp/metainfo/IconTextControl.info", + "ComComp/metainfo/ImageControl.info", + "ComComp/metainfo/Static.info", + "ComComp/metainfo/Button.info", + "ComComp/metainfo/CheckBox.info", + "ComComp/metainfo/Edit.info", + "ComComp/metainfo/Div.info", + "ComComp/metainfo/PopupDiv.info", + "ComComp/metainfo/Tab.info", + "ComComp/metainfo/TabButtonItemControl.info", + "ComComp/metainfo/TabpageControl.info", + "ComComp/metainfo/ListBox.info", + "ComComp/metainfo/ListBoxItemControl.info", + "ComComp/metainfo/Combo.info", + "ComComp/metainfo/FileDialog.info", + "ComComp/metainfo/FileDownload.info", + "ComComp/metainfo/FileDownTransfer.info", + "ComComp/metainfo/FileUpload.info", + "ComComp/metainfo/FileUploadItemControl.info", + "ComComp/metainfo/FileUpTransfer.info", + "ComComp/metainfo/GroupBox.info", + "ComComp/metainfo/ImageViewer.info", + "ComComp/metainfo/MaskEdit.info", + "ComComp/metainfo/Menu.info", + "ComComp/metainfo/MenuItemControl.info", + "ComComp/metainfo/PopupMenu.info", + "ComComp/metainfo/PopupMenuItemControl.info", + "ComComp/metainfo/ProgressBar.info", + "ComComp/metainfo/Radio.info", + "ComComp/metainfo/RadioItemControl.info", + "ComComp/metainfo/Spin.info", + "ComComp/metainfo/TextArea.info", + "ComComp/metainfo/Sketch.info", + "ComComp/metainfo/WebBrowser.info", + "ComComp/metainfo/DatePickerControl.info", + "ComComp/metainfo/DatePickerBodyControl.info", + "ComComp/metainfo/DatePickerDayItemControl.info", + "ComComp/metainfo/DatePickerWeekItemControl.info", + "ComComp/metainfo/DatePickerHeadControl.info", + "ComComp/metainfo/Calendar.info", + "ComComp/metainfo/GoogleMap.info", + "ComComp/metainfo/GoogleMapMarker.info", + "ComComp/metainfo/GoogleMapPolygon.info", + "ComComp/metainfo/GoogleMapPolyline.info", + "ComComp/metainfo/GoogleMapCircle.info", + "ComComp/metainfo/ExcelExportObject.info", + "ComComp/metainfo/ExportTypes.info", + "ComComp/metainfo/ExportItemTypes.info", + "ComComp/metainfo/ExportItem.info", + "ComComp/metainfo/ExportProgress.info", + "ComComp/metainfo/ExcelImportObject.info", + "ComComp/metainfo/ImportTypes.info", + "ComComp/metainfo/Dataset.info", + "ComComp/metainfo/CalendarCloseUpEventInfo.info", + "ComComp/metainfo/CalendarDayClickEventInfo.info", + "ComComp/metainfo/CalendarSpinEventInfo.info", + "ComComp/metainfo/CheckBoxChangedEventInfo.info", + "ComComp/metainfo/ComboCloseUpEventInfo.info", + "ComComp/metainfo/DSLoadEventInfo.info", + "ComComp/metainfo/DSRowPosChangeEventInfo.info", + "ComComp/metainfo/DSRowsetChangeEventInfo.info", + "ComComp/metainfo/EditClickEventInfo.info", + "ComComp/metainfo/ExcelExportErrorEventInfo.info", + "ComComp/metainfo/ExcelExportEventInfo.info", + "ComComp/metainfo/ExcelExportProgressEventInfo.info", + "ComComp/metainfo/ExcelImportErrorEventInfo.info", + "ComComp/metainfo/ExcelImportEventInfo.info", + "ComComp/metainfo/FileDialogEventInfo.info", + "ComComp/metainfo/FileDownloadErrorEventInfo.info", + "ComComp/metainfo/FileDownloadEventInfo.info", + "ComComp/metainfo/FileDownTransferErrorEventInfo.info", + "ComComp/metainfo/FileDownTransferEventInfo.info", + "ComComp/metainfo/FileUploadErrorEventInfo.info", + "ComComp/metainfo/FileUploadEventInfo.info", + "ComComp/metainfo/FileUploadItemChangeEventInfo.info", + "ComComp/metainfo/FileUploadItemEventInfo.info", + "ComComp/metainfo/FileUploadMouseEventInfo.info", + "ComComp/metainfo/FileUpTransferErrorEventInfo.info", + "ComComp/metainfo/FileUpTransferEventInfo.info", + "ComComp/metainfo/FileUpTransferProgressEventInfo.info", + "ComComp/metainfo/InputEventInfo.info", + "ComComp/metainfo/ItemChangeEventInfo.info", + "ComComp/metainfo/ItemClickEventInfo.info", + "ComComp/metainfo/VideoPlayer.info", + "ComComp/metainfo/VideoCurrentTimeChangedEventInfo.info", + "ComComp/metainfo/VideoErrorEventInfo.info", + "ComComp/metainfo/VideoPlayStateChangedEventInfo.info", + "ComComp/metainfo/MenuClickEventInfo.info", + "ComComp/metainfo/MenuDragEventInfo.info", + "ComComp/metainfo/MenuMouseEventInfo.info", + "ComComp/metainfo/SketchErrorEventInfo.info", + "ComComp/metainfo/SketchEventInfo.info", + "ComComp/metainfo/SketchLoadEventInfo.info", + "ComComp/metainfo/SpinEventInfo.info", + "ComComp/metainfo/TabIndexChangeEventInfo.info", + "ComComp/metainfo/TabMouseEventInfo.info", + "ComComp/metainfo/GoogleMapClickEventInfo.info", + "ComComp/metainfo/GoogleMapDragEventInfo.info", + "ComComp/metainfo/GoogleMapErrorEventInfo.info", + "ComComp/metainfo/GoogleMapEventInfo.info", + "ComComp/metainfo/WebLoadCompEventInfo.info", + "ComComp/metainfo/WebUserNotifyEventInfo.info", + "ComComp/metainfo/Plugin.info", + "ComComp/metainfo/VirtualFile.info", + "ComComp/metainfo/VirtualFileErrorEventInfo.info", + "ComComp/metainfo/VirtualFileEventInfo.info", + "ComComp/metainfo/CellTreeItemControl.info", + "ComComp/metainfo/CellTreeLineControl.info", + "ComComp/metainfo/TreeItemIconControl.info" + ], + "designscripts": [ + "ComComp/Design/DesignStatic.js", + "ComComp/Design/DesignButton.js", + "ComComp/Design/DesignEdit.js", + "ComComp/Design/DesignMaskEdit.js", + "ComComp/Design/DesignTextArea.js", + "ComComp/Design/DesignImageViewer.js", + "ComComp/Design/DesignCheckBox.js", + "ComComp/Design/DesignRadio.js", + "ComComp/Design/DesignListBox.js", + "ComComp/Design/DesignCombo.js", + "ComComp/Design/DesignDiv.js", + "ComComp/Design/DesignProgressBar.js", + "ComComp/Design/DesignPopupDiv.js", + "ComComp/Design/DesignMenu.js", + "ComComp/Design/DesignPopupMenu.js", + "ComComp/Design/DesignSpin.js", + "ComComp/Design/DesignDatePicker.js", + "ComComp/Design/DesignCalendar.js", + "ComComp/Design/DesignGroupBox.js", + "ComComp/Design/DesignTab.js", + "ComComp/Design/DesignFileDownload.js", + "ComComp/Design/DesignFileUpload.js", + "ComComp/Design/DesignVideoPlayer.js", + "ComComp/Design/DesignWebBrowser.js", + "ComComp/Design/DesignGoogleMap.js", + "ComComp/Design/DesignSketch.js", + "ComComp/Design/DesignPlugin.js", + "ComComp/Design/DesignVirtualFile.js" + ] +} diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/nexacro17lib/component/ComComp/Button.js b/nexacro-spring/src/main/webapp/deploy/_web_/nexacro17lib/component/ComComp/Button.js new file mode 100644 index 0000000..76bbd28 --- /dev/null +++ b/nexacro-spring/src/main/webapp/deploy/_web_/nexacro17lib/component/ComComp/Button.js @@ -0,0 +1,260 @@ +//============================================================================== +// +// TOBESOFT Co., Ltd. +// Copyright 2017 TOBESOFT Co., Ltd. +// All Rights Reserved. +// +// NOTICE: TOBESOFT permits you to use, modify, and distribute this file +// in accordance with the terms of the license agreement accompanying it. +// +// Readme URL: http://www.nexacro.co.kr/legal/nexacro17-public-license-readme-1.1.html +// +//============================================================================== + +if (!nexacro.Button) { + nexacro.Button = function (id, left, top, width, height, right, bottom, minwidth, maxwidth, minheight, maxheight, parent) { + nexacro._IconText.call(this, id, left, top, width, height, right, bottom, minwidth, maxwidth, minheight, maxheight, parent); + }; + + var _pButton = nexacro._createPrototype(nexacro._IconText, nexacro.Button); + nexacro.Button.prototype = _pButton; + _pButton._type_name = "Button"; + + + _pButton.tabstop = true; + _pButton.defaultbutton = false; + _pButton.escapebutton = false; + + + _pButton._is_focus_accept = true; + _pButton._cur_ldown_elem = null; + _pButton._selectstatus = false; + + + _pButton._use_pushed_status = true; + _pButton._use_selected_status = true; + + + _pButton.accessibilityrole = "button"; + _pButton._is_eventinfo_control = true; + + _pButton.destroyComponent = function () { + if (!this._is_alive) { + return; + } + + var mainform = this._getMainForm(); + if (mainform) { + if (mainform._defaultbutton == this) { + mainform._defaultbutton = null; + } + else if (mainform._escapebutton == this) { + mainform._escapebutton = null; + } + } + + return nexacro.Component.prototype.destroyComponent.call(this); + }; + + _pButton.on_getBindableProperties = function () { + return "value"; + }; + + _pButton._getDlgCode = function () { + return { + want_tab : false, + want_return : true, + want_escape : false, + want_chars : false, + want_arrows : false + }; + }; + + _pButton._isFocusAcceptable = function () { + return this._is_focus_accept; + }; + + _pButton.set_defaultbutton = function (v) { + v = nexacro._toBoolean(v); + if (this.defaultbutton != v) { + this.defaultbutton = v; + } + + var mainform = this._getMainForm(); + if (mainform) { + var is_ignore = !(this.parent == mainform || this._is_created); + if (v) { + if (!is_ignore) { + mainform._defaultbutton = this; + this._setAccessibilityFlagDefaultButton(true); + } + } + else { + if (mainform._defaultbutton == this) { + mainform._defaultbutton = null; + this._setAccessibilityFlagDefaultButton(false); + } + } + } + }; + + _pButton.set_escapebutton = function (v) { + v = nexacro._toBoolean(v); + if (this.escapebutton != v) { + this.escapebutton = v; + } + + var mainform = this._getMainForm(); + if (mainform) { + var is_ignore = !(this.parent == mainform || this._is_created); + if (v) { + if (!is_ignore) { + mainform._escapebutton = this; + } + } + else { + if (mainform._escapebutton == this) { + mainform._escapebutton = null; + } + } + } + }; + + _pButton._click = function (keycode) { + if (keycode == nexacro.Event.KEY_ESC || keycode == nexacro.Event.KEY_RETURN) { + if (this._isAccessibilityEnable()) { + this._notifyAccessibility(); + } + } + + this.click(); + }; + + _pButton.click = function () { + this.on_fire_onclick("none", false, false, false, -1, -1, -1, -1, -1, -1, this, this); + }; + + _pButton.getSelectStatus = function () { + return this._selectstatus; + }; + + _pButton.setSelectStatus = function (select) { + var ret = this._selectstatus; + this._selectstatus = select; + + if (select) { + this._changeUserStatus("selected", true); + } + else { + this._changeUserStatus("selected", false); + } + + return ret; + }; + + _pButton.toggleSelectStatus = function () { + var ret = this._selectstatus; + + this.setSelectStatus(!ret); + + return ret; + }; + + _pButton._on_hotkey = function () { + this.click(); + }; + + _pButton.on_keydown_basic_action = function (keycode) { + if (this._use_pushed_status) { + if (keycode == 13 || keycode == 32) { + this._changeUserStatus("pushed", true); + } + } + }; + + _pButton.on_keyup_basic_action = function () { + if (this._use_pushed_status) { + this._changeUserStatus("pushed", false); + } + }; + + _pButton.on_fire_sys_onkeydown = function (key_code, alt_key, ctrl_key, shift_key, from_comp, from_refer_comp) { + var ret = nexacro.Component.prototype.on_fire_sys_onkeydown.call(this, key_code, alt_key, ctrl_key, shift_key, from_comp, from_refer_comp); + var window = this._getWindow(); + this._cur_ldown_elem = window._cur_ldown_elem || window._keydown_element; + return ret; + }; + + _pButton.on_fire_sys_onkeyup = function (key_code, alt_key, ctrl_key, shift_key, from_comp, from_refer_comp) { + var ret = nexacro.Component.prototype.on_fire_sys_onkeyup.call(this, key_code, alt_key, ctrl_key, shift_key, from_comp, from_refer_comp); + var window = this._getWindow(); + var elem = window._cur_ldown_elem || window._keydown_element; + + if (!this._is_subcontrol) { + if (elem == this._cur_ldown_elem) { + if (key_code == 13 || key_code == 32) { + this._click(key_code); + } + } + } + this._cur_ldown_elem = null; + return ret; + }; + + delete _pButton; +} + +if (!nexacro.StepImageButtonControl) { + nexacro.StepImageButtonControl = function (id, left, top, width, height, right, bottom, minwidth, maxwidth, minheight, maxheight, parent) { + nexacro.Button.call(this, id, left, top, width, height, right, bottom, minwidth, maxwidth, minheight, maxheight, parent); + }; + + var _pStepImageButtonCtrl = nexacro._createPrototype(nexacro.Button, nexacro.StepImageButtonControl); + nexacro.StepImageButtonControl.prototype = _pStepImageButtonCtrl; + _pStepImageButtonCtrl._type_name = "ButtonControl"; + + _pStepImageButtonCtrl._is_subcontrol = true; + + _pStepImageButtonCtrl._on_getAccessibilityAdditionalLabel = function () { + var label = ""; + var parent = this.parent ? this.parent : null; + if (parent) { + label = this.id + " " + parent.stepcount; + } + + return label; + }; + + _pStepImageButtonCtrl._on_getAccessibilityAdditionalRole = function () { + return " Step"; + }; + + _pStepImageButtonCtrl.on_getIDCSSSelector = function () { + return "stepitem"; + }; + + _pStepImageButtonCtrl.on_changeUserStatus = function (changestatus, value, applyuserstatus, currentstatus, currentuserstatus) { + if (value) { + if (applyuserstatus == "pushed" && currentuserstatus == "selected") { + return currentuserstatus; + } + } + return applyuserstatus; + }; + + delete _pStepImageButtonCtrl; +} + +if (!nexacro._TitleBarButtonControl) { + nexacro._TitleBarButtonControl = function (id, left, top, width, height, right, bottom, minwidth, maxwidth, minheight, maxheight, parent) { + nexacro.Button.call(this, id, left, top, width, height, right, bottom, minwidth, maxwidth, minheight, maxheight, parent); + }; + + var _pTitleBarButtonControl = nexacro._createPrototype(nexacro.Button, nexacro._TitleBarButtonControl); + nexacro._TitleBarButtonControl.prototype = _pTitleBarButtonControl; + _pTitleBarButtonControl._type_name = "TitleBarButtonControl"; + + _pTitleBarButtonControl._is_subcontrol = true; + + delete _pTitleBarButtonControl; +} diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/nexacro17lib/component/ComComp/Calendar.js b/nexacro-spring/src/main/webapp/deploy/_web_/nexacro17lib/component/ComComp/Calendar.js new file mode 100644 index 0000000..5524524 --- /dev/null +++ b/nexacro-spring/src/main/webapp/deploy/_web_/nexacro17lib/component/ComComp/Calendar.js @@ -0,0 +1,3483 @@ +//============================================================================== +// +// TOBESOFT Co., Ltd. +// Copyright 2017 TOBESOFT Co., Ltd. +// All Rights Reserved. +// +// NOTICE: TOBESOFT permits you to use, modify, and distribute this file +// in accordance with the terms of the license agreement accompanying it. +// +// Readme URL: http://www.nexacro.co.kr/legal/nexacro17-public-license-readme-1.1.html +// +//============================================================================== + +if (!nexacro.Calendar) { + nexacro.CalendarCloseUpEventInfo = function (obj, id, pretext, posttext, prevalue, postvalue) { + this.id = this.eventid = id || "oncloseup"; + this.fromobject = this.fromreferenceobject = obj; + + this.pretext = pretext; + this.posttext = posttext; + this.prevalue = prevalue; + this.postvalue = postvalue; + }; + var _pCalendarCloseUpEventInfo = nexacro._createPrototype(nexacro.Event, nexacro.CalendarCloseUpEventInfo); + nexacro.CalendarCloseUpEventInfo.prototype = _pCalendarCloseUpEventInfo; + _pCalendarCloseUpEventInfo._type_name = "CalendarCloseUpEventInfo"; + + delete _pCalendarCloseUpEventInfo; + _pCalendarCloseUpEventInfo = null; + + nexacro.CalendarDayClickEventInfo = function (obj, id, date) { + this.id = this.eventid = id || "ondayclick"; + this.fromobject = this.fromreferenceobject = obj; + + this.date = date; + }; + var _pCalendarDayClickEventInfo = nexacro._createPrototype(nexacro.Event, nexacro.CalendarDayClickEventInfo); + nexacro.CalendarDayClickEventInfo.prototype = _pCalendarDayClickEventInfo; + _pCalendarDayClickEventInfo._type_name = "CalendarDayClickEventInfo"; + + delete _pCalendarDayClickEventInfo; + _pCalendarDayClickEventInfo = null; + + nexacro.CalendarSpinEventInfo = function (obj, id, beforeText, afterText, beforeValue, afterValue, isUp, fromobject, fromreferenceobject) { + nexacro.Event.call(this, obj, id || "oncalendarspin"); + this.id = this.eventid = id || "oncalendarspin"; + + this.fromobject = fromobject || obj; + this.fromreferenceobject = fromreferenceobject || obj; + + this.pretext = beforeText; + this.posttext = afterText; + this.prevalue = beforeValue; + this.postvalue = afterValue; + this.up = isUp; + }; + var _pCalendarSpinEventInfo = nexacro._createPrototype(nexacro.Event, nexacro.CalendarSpinEventInfo); + nexacro.CalendarSpinEventInfo.prototype = _pCalendarSpinEventInfo; + _pCalendarSpinEventInfo._type_name = "CalendarSpinEventInfo"; + + delete _pCalendarSpinEventInfo; + _pCalendarSpinEventInfo = null; + + nexacro.Calendar = function (id, left, top, width, height, right, bottom, minwidth, maxwidth, minheight, maxheight, parent, onlydisplay) { + nexacro.Component.call(this, id, left, top, width, height, right, bottom, minwidth, maxwidth, minheight, maxheight, parent); + + this._masktypeobj = new nexacro._EditMaskTypeDate(); + this._onlydisplay = onlydisplay; + }; + + var _pCalendar = nexacro._createPrototype(nexacro.Component, nexacro.Calendar); + nexacro.Calendar.prototype = _pCalendar; + _pCalendar._type_name = "Calendar"; + + + _pCalendar.calendaredit = null; + _pCalendar.dropbutton = null; + _pCalendar.datepicker = null; + _pCalendar.calendarspinupbutton = null; + _pCalendar.calendarspindownbutton = null; + _pCalendar._popupcontrol = null; + + + _pCalendar.value = undefined; + _pCalendar.displaynulltext = ""; + _pCalendar.displayinvalidtext = "invalid value"; + _pCalendar.readonly = false; + _pCalendar.autoselect = false; + _pCalendar.autoskip = false; + _pCalendar.type = "normal"; + _pCalendar.popuptype = undefined; + _pCalendar.text = ""; + _pCalendar.usecontextmenu = true; + _pCalendar.usesoftkeyboard = true; + _pCalendar.locale = ""; + + _pCalendar.innerdataset = null; + _pCalendar.backgroundcolumn = ""; + _pCalendar.bordercolumn = ""; + _pCalendar.datecolumn = ""; + _pCalendar.textcolorcolumn = ""; + + _pCalendar.buttonsize = undefined; + _pCalendar.headheight = undefined; + _pCalendar.daysize = undefined; + _pCalendar.popupsize = undefined; + + _pCalendar.dateformat = "yyyy-MM-dd ddd"; + _pCalendar.editformat = "yyyy-MM-dd"; + _pCalendar.headformat = "yyyy.MM"; + _pCalendar.weekformat = undefined; + + _pCalendar.usetrailingday = false; + _pCalendar.showmonthspin = false; + _pCalendar.showyearspin = false; + + + _pCalendar._masktypeobj = null; + _pCalendar._innerdataset = null; + + _pCalendar._locale = ""; + _pCalendar._type = "normal"; + _pCalendar._systemformat = "yyyy-MM-dd"; + _pCalendar._default_value = undefined; + _pCalendar._default_text = ""; + _pCalendar._default_type = ""; + _pCalendar._want_arrows = false; + _pCalendar._has_inputElement = true; + _pCalendar._change_caret_from_method = false; + + _pCalendar._onlydisplay = false; + _pCalendar._is_repeat = true; + + + _pCalendar._is_locale_control = true; + _pCalendar._is_editable_control = true; + _pCalendar._use_readonly_status = true; + + + _pCalendar._event_list = { + "oneditclick" : 1, + "ondayclick" : 1, + "onkeydown" : 1, + "onkeyup" : 1, + "onkillfocus" : 1, + "onsetfocus" : 1, + "ondrag" : 1, + "ondragenter" : 1, + "ondragleave" : 1, + "ondragmove" : 1, + "ondrop" : 1, + "onlbuttondown" : 1, + "onlbuttonup" : 1, + "onrbuttondown" : 1, + "onrbuttonup" : 1, + "onmousedown" : 1, + "onmouseup" : 1, + "onmouseenter" : 1, + "onmouseleave" : 1, + "onmousemove" : 1, + "onmove" : 1, + "onsize" : 1, + "canchange" : 1, + "onchanged" : 1, + "oninput" : 1, + "oncontextmenu" : 1, + "ondropdown" : 1, + "oncloseup" : 1, + "onspin" : 1, + "oninnerdatachanged" : 1, + "ontouchstart" : 1, + "ontouchmove" : 1, + "ontouchend" : 1 + }; + + + _pCalendar.accessibilityrole = "calendar"; + _pCalendar._is_compound = true; + + nexacro.Calendar.EndDayNormal = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31); + nexacro.Calendar.EndDayLeap = new Array(31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31); + + _pCalendar.on_create_contents = function () { + var control = this.getElement(); + if (control) { + var maskobj = this._masktypeobj; + if (maskobj) { + var mode = "number"; + var useeditbuffer = true; + var bMobile = ((nexacro._isMobile && nexacro._isMobile()) || (nexacro._isHybrid && nexacro._isHybrid()) || (!nexacro._isDesktop() && nexacro._OS == "Android" && nexacro._Browser == "Runtime")); + if (bMobile) { + this._is_repeat = false; + + if ((!this.popuptype || this.popuptype == "system") && this._type == "normal") { + mode = "date"; + useeditbuffer = false; + this._type = "system"; + } + } + + maskobj.setInputMode(mode); + maskobj.setUseEditBuffer(useeditbuffer); + } + + switch (this._type) { + case "normal": + case "system": + this._createCalendaredit(); + this._createDropbutton(); + break; + case "spin": + this._createCalendaredit(); + this._createSpinbutton(); + break; + case "monthonly": + this._createDatePicker(); + break; + } + } + }; + + _pCalendar.on_created_contents = function (win) { + this.on_apply_innerdataset(this._innerdataset); + this.on_apply_locale(this._getLocale()); + this.on_apply_editformat(this.editformat); + this.on_apply_dateformat(this.dateformat); + this.on_apply_weekformat(this.weekformat); + + if (this.expr) { + this._on_apply_expr(this.expr); + } + else { + this.on_apply_value(this.value); + } + + this._recalcLayout(); + + switch (this._type) { + case "spin": + this._setEventHandlerToCalendarEdit(); + this._setEventHandlerToSpinButton(); + + this.calendaredit._on_apply_inputtype(); + this.calendaredit.on_created(win); + this.calendarspinupbutton.on_created(win); + this.calendarspindownbutton.on_created(win); + if (nexacro._accessibilitytype == 5) { + this.calendaredit._setAccessibilityStatHidden(true); + this.calendarspinupbutton._setAccessibilityStatHidden(true); + this.calendarspindownbutton._setAccessibilityStatHidden(true); + } + break; + case "monthonly": + this._setEventHandlerToDatePicker(); + + this.datepicker.on_created(win); + break; + case "system": + if (nexacro._enableaccessibility && nexacro._accessibilitytype == 4) { + var control_elem = this.getElement(); + if (control_elem) { + control_elem.setElementAccessibilityStatHidden(false); + } + } + + this._setEventHandlerToCalendarEdit(); + this._setEventHandlerToDropButton(); + this.calendaredit._on_apply_inputtype(); + this.calendaredit.on_created(win); + var dropbutton = this.dropbutton; + if (dropbutton) { + dropbutton.on_created(win); + } + if (nexacro._accessibilitytype == 5) { + this.calendaredit._setAccessibilityStatHidden(true); + } + if (this.accessibilitydesclevel != "none" && this.accessibilitydesclevel != "child") { + this._setAccessibilityActiveDescendant(this.calendaredit._input_element); + } + break; + case "normal": + default: + this._setEventHandlerToCalendarEdit(); + this._setEventHandlerToDropButton(); + this.calendaredit._on_apply_inputtype(); + this.calendaredit.on_created(win); + if (nexacro._accessibilitytype == 5) { + this.calendaredit._setAccessibilityStatHidden(true); + } + this.dropbutton.on_created(win); + break; + } + + if (this.calendaredit) { + this.calendaredit.set_usesoftkeyboard(this.usesoftkeyboard, true); + } + + this._default_value = this.value; + this._default_text = this.text; + + this.on_apply_displaynulltext(this.displaynulltext); + this.on_apply_displayinvalidtext(this.displayinvalidtext); + this.on_apply_readonly(this.readonly); + }; + + _pCalendar.on_destroy_contents = function () { + this._destroyControl(); + + this._removeEventHandlerToInnerDataset(); + }; + + _pCalendar._removeEventHandlerToInnerDataset = function () { + if (this._innerdataset) { + this._innerdataset._removeEventHandler("onvaluechanged", this._on_dataset_onvaluechanged, this); + this._innerdataset._removeEventHandler("onrowsetchanged", this._on_dataset_onrowsetchanged, this); + this._innerdataset = null; + } + }; + + _pCalendar.on_create_contents_command = function () { + this.on_apply_innerdataset(this._innerdataset); + this.on_apply_locale(this._getLocale()); + this.on_apply_editformat(this.editformat); + this.on_apply_dateformat(this.dateformat); + this.on_apply_weekformat(this.weekformat); + this.on_apply_readonly(this.readonly); + + if (this.expr) { + this._on_apply_expr(this.expr); + } + else { + this.on_apply_value(this.value); + } + + this._recalcLayout(); + + switch (this._type) { + case "system": + case "normal": + this._setEventHandlerToCalendarEdit(); + this._setEventHandlerToDropButton(); + break; + case "spin": + this._setEventHandlerToCalendarEdit(); + this._setEventHandlerToSpinButton(); + break; + case "monthonly": + this._setEventHandlerToDatePicker(); + break; + } + + var str = ""; + if (this.calendaredit) { + this.calendaredit._on_apply_inputtype(); + + str += this.calendaredit.createCommand(); + } + if (this.dropbutton) { + str += this.dropbutton.createCommand(); + } + if (this.calendarspindownbutton) { + str += this.calendarspindownbutton.createCommand(); + } + if (this.calendarspinupbutton) { + str += this.calendarspinupbutton.createCommand(); + } + if (this.datepicker) { + str += this.datepicker.createCommand(); + } + + return str; + }; + + _pCalendar.on_attach_contents_handle = function (win) { + if (this.calendaredit) { + this.calendaredit.attachHandle(win); + } + if (this.dropbutton) { + this.dropbutton.attachHandle(win); + } + if (this.calendarspindownbutton) { + this.calendarspindownbutton.attachHandle(win); + } + if (this.calendarspinupbutton) { + this.calendarspinupbutton.attachHandle(win); + } + if (this.datepicker) { + this.datepicker.attachHandle(win); + } + + this._default_value = this.value; + this._default_text = this.text; + + this.on_apply_displaynulltext(this.displaynulltext); + this.on_apply_displayinvalidtext(this.displayinvalidtext); + }; + + _pCalendar.on_change_containerRect = function () { + this._recalcLayout(); + }; + + _pCalendar.on_change_containerPos = function () { + }; + + _pCalendar._apply_setfocus = function (evt_name) { + var calendaredit = this.calendaredit; + if (calendaredit) { + calendaredit._on_focus(true, nexacro._getBrowserEventName(evt_name)); + } + }; + + _pCalendar.on_apply_prop_enable = function (v) { + if (this.calendaredit) { + this.calendaredit._setEnable(v); + } + if (this.dropbutton && !this.readonly) { + this.dropbutton._setEnable(v); + } + if (this.calendarspinupbutton && !this.readonly) { + this.calendarspinupbutton._setEnable(v); + } + if (this.calendarspindownbutton && !this.readonly) { + this.calendarspindownbutton._setEnable(v); + } + if (this.datepicker) { + this.datepicker._setEnable(v); + } + }; + + _pCalendar.on_apply_prop_cssclass = function () { + if (this.calendaredit) { + this.calendaredit.on_apply_cssclass(); + } + if (this.dropbutton) { + this.dropbutton.on_apply_cssclass(); + } + if (this.calendarspinupbutton) { + this.calendarspinupbutton.on_apply_cssclass(); + } + if (this.calendarspindownbutton) { + this.calendarspindownbutton.on_apply_cssclass(); + } + if (this.datepicker) { + this.datepicker.on_apply_cssclass(); + } + }; + + _pCalendar.on_init_bindSource = function (columnid, propid) { + if (propid == "value") { + this._setValue(undefined); + } + }; + + _pCalendar.on_change_bindSource = function (propid, ds, row, col) { + if (propid == "value") { + var v = ds.getColumn(row, col); + + var maskobj = this._masktypeobj; + var dateobj = this._convertToDateObject(v); + + if (dateobj) { + if (!this._isInvalidValue(dateobj)) { + v = this._convertValueType(v, dateobj, true); + if (v != this.value) { + var packeddate = maskobj.changeNormalizeValue(dateobj.toString()); + + if (maskobj) { + maskobj.setDate(packeddate); + } + this.value = v; + this.on_apply_value(packeddate); + } + } + else { + this.value = v; + this.on_apply_value(v); + } + } + else { + if (v != this.value) { + this._setValue(v); + } + } + } + }; + + _pCalendar.on_getBindableProperties = function () { + return "value"; + }; + + _pCalendar._getDragData = function () { + var calendaredit = this.calendaredit; + if (calendaredit) { + return calendaredit.getSelectedText(); + } + }; + + _pCalendar._getDlgCode = function (keycode, altKey, ctrlKey) { + var _want_arrows = this._want_arrows; + this._is_first_focus = false; + if (ctrlKey == true) { + _want_arrows = true; + } + return { + want_tab : false, + want_return : false, + want_escape : false, + want_chars : false, + want_arrows : _want_arrows + }; + }; + + _pCalendar.on_get_accessibility_label = function () { + { + } + return ""; + }; + + _pCalendar._on_getAccessibilityAdditionalLabel = function () { + var additionallabel = ""; + if (this.type != "monthonly") { + additionallabel = this._accessibilityvalue ? this._accessibilityvalue : this.text ? this.text : this._getCurrentDateStr(); + } + else { + additionallabel = this._getCurrentDateStr(); + } + + return additionallabel ? additionallabel : this.displaynulltext; + }; + + _pCalendar._getAccessibilityReadLabel = function () { + if (this._accessibilityvalue) { + return this._accessibilityvalue; + } + + if (this.text) { + return this.text; + } + + return this._getCurrentDateStr(); + }; + + + _pCalendar.set_text = nexacro._emptyFn; + + _pCalendar.on_apply_text = function (v) { + var expr = this.expr; + if (expr) { + if (expr.substring(0, 4) == "Date") { + v = new nexacro.Date(v).toString(); + } + + if (this.value != v) { + this.set_value(v); + } + else { + this.on_apply_value(v); + } + } + }; + + _pCalendar.set_value = function (v) { + var dateobj = this._convertToDateObject(v); + var binvalid = false; + if (dateobj) { + binvalid = this._isInvalidValue(dateobj); + + if (!binvalid) { + v = this._convertValueType(v, dateobj); + } + } + + if (this.value !== v) { + if (this.applyto_bindSource("value", v)) { + this.value = v; + this.on_apply_value(v, binvalid); + } + } + }; + + + _pCalendar.on_apply_value = function (value, binvalid) { + value = nexacro._isNull(value) ? value : nexacro._toString(value).trim(); + + var maskobj = this._masktypeobj; + if (maskobj) { + if (nexacro._isNull(binvalid)) { + binvalid = this._isInvalidValue(value); + } + + if (binvalid) { + this.text = maskobj.applyMask(""); + } + else { + this.text = maskobj.applyMask(value); + } + + this._setCalendarEditValue(value); + this._setDatePickerValue(maskobj.getDatePickerValue()); + } + }; + + _pCalendar.set_displaynulltext = function (v) { + v = nexacro._toString(v).replace(/"/g, "\""); + if (this.displaynulltext != v) { + this.displaynulltext = v; + this.on_apply_displaynulltext(v); + } + }; + + _pCalendar.on_apply_displaynulltext = function (displaynulltext) { + var calendaredit = this.calendaredit; + if (calendaredit) { + calendaredit.set_displaynulltext(displaynulltext); + } + }; + + _pCalendar.set_displayinvalidtext = function (v) { + v = nexacro._toString(v).replace(/"/g, "\""); + if (this.displayinvalidtext != v) { + this.displayinvalidtext = v; + this.on_apply_displayinvalidtext(v); + } + }; + + _pCalendar.on_apply_displayinvalidtext = function (v) { + var calendaredit = this.calendaredit; + if (calendaredit) { + calendaredit.set_displayinvalidtext(v); + } + }; + + _pCalendar.set_readonly = function (v) { + v = nexacro._toBoolean(v); + if (this.readonly != v) { + this.readonly = v; + this.on_apply_readonly(v); + } + }; + + _pCalendar.on_apply_readonly = function (readonly) { + this._changeStatus("readonly", readonly); + + var calendaredit = this.calendaredit; + if (calendaredit) { + if (!this._onlydisplay) { + calendaredit.set_readonly(readonly); + } + else { + calendaredit._changeStatus("readonly", readonly); + } + } + + var dropbutton = this.dropbutton; + if (dropbutton) { + dropbutton._setEnable(this.enable && !readonly); + } + + var spinupbutton = this.calendarspinupbutton; + if (spinupbutton) { + spinupbutton._setEnable(this.enable && !readonly); + } + + var spindownbutton = this.calendarspindownbutton; + if (spindownbutton) { + spindownbutton._setEnable(this.enable && !readonly); + } + + var datepicker = this.datepicker; + if (datepicker) { + datepicker.set_readonly(readonly); + } + }; + + _pCalendar.set_autoselect = function (v) { + v = nexacro._toBoolean(v); + if (this.autoselect != v) { + this.autoselect = v; + this.on_apply_autoselect(v); + } + }; + + _pCalendar.on_apply_autoselect = function (autoselect) { + var calendaredit = this.calendaredit; + if (calendaredit) { + calendaredit.set_autoselect(autoselect); + } + }; + + _pCalendar.set_autoskip = function (v) { + v = nexacro._toBoolean(v); + if (this.autoskip != v) { + this.autoskip = v; + this.on_apply_autoskip(v); + } + }; + + _pCalendar.on_apply_autoskip = function (autoskip) { + var calendaredit = this.calendaredit; + if (calendaredit) { + calendaredit.set_autoskip(autoskip); + } + }; + + _pCalendar.set_type = function (v) { + var type_enum = ["normal", "spin", "monthonly"]; + if (type_enum.indexOf(v) == -1) { + return; + } + + if (this.type != v) { + this._default_type = this.type; + this.type = v; + this.on_apply_type(v); + } + }; + + _pCalendar.on_apply_type = function (type) { + var is_change = true; + var client_width = this._getClientWidth(); + var normal_height = Math.round(client_width / 5); + if (this._default_type != "monthonly" || type == "monthonly") { + is_change = false; + } + + if (type != "spin" && type != "monthonly" && this._masktypeobj.getInputMode() == "date") { + type = "system"; + } + + this._type = type; + + var control_elem = this.getElement(); + if (control_elem) { + this._destroyControl(); + + switch (this._type) { + case "system": + case "normal": + this._createNormaltypeControl(); + this.calendaredit._on_apply_inputtype(); + + if (is_change) { + this.resize(client_width, normal_height); + } + else { + this._recalcLayout(); + } + break; + case "spin": + this._createSpintypeControl(); + this.calendaredit._on_apply_inputtype(); + + if (is_change) { + this.resize(client_width, normal_height); + } + else { + this._recalcLayout(); + } + break; + case "monthonly": + this._createMonthlytypeControl(); + + var popupsize = this._getPopupSizeArr(); + if (this._adjust_width == popupsize.width && this._adjust_height == popupsize.height) { + this._recalcLayout(); + } + else { + this.resize(popupsize.width, popupsize.height); + } + break; + } + } + }; + + _pCalendar.set_popuptype = function (v) { + var popuptype_enum = ["center", "none", "normal", "system"]; + if (v && popuptype_enum.indexOf(v) == -1) { + return; + } + + if (this.popuptype != v) { + this.popuptype = v; + this.on_apply_popuptype(v); + } + }; + + _pCalendar.on_apply_popuptype = function (popuptype) { + var type = this._type; + var maskobj = this._masktypeobj; + if (maskobj) { + var mode = "number"; + var useeditbuffer = true; + + if ((!this.popuptype || this.popuptype == "system") && type == "normal") { + var bMobile = ((nexacro._isMobile && nexacro._isMobile()) || (nexacro._isHybrid && nexacro._isHybrid()) || (!nexacro._isDesktop() && nexacro._OS == "Android" && nexacro._Browser == "Runtime")); + if (bMobile && this._is_created) { + mode = "date"; + useeditbuffer = false; + } + } + + maskobj.setInputMode(mode); + maskobj.setUseEditBuffer(useeditbuffer); + + this.on_apply_type(this.type); + } + }; + + _pCalendar.set_locale = function (v) { + if (this.locale != v) { + this.locale = v; + this._locale = v; + this.on_apply_locale(v); + + this.on_apply_weekformat(this.weekformat); + this.on_apply_value(this.value); + } + }; + + _pCalendar.on_apply_locale = function (locale) { + var maskobj = this._masktypeobj; + if (maskobj) { + maskobj.setLocale(locale); + + if (nexacro._OS == "Android" && nexacro._Browser == "Runtime") { + this._systemformat = nexacro.Locale._makeDateMaskString(locale, "SHORTDATE"); + } + } + }; + + _pCalendar.set_usecontextmenu = function (v) { + v = nexacro._toBoolean(v); + if (this.usecontextmenu != v) { + this.usecontextmenu = v; + this.on_apply_usecontextmenu(v); + } + }; + + _pCalendar.on_apply_usecontextmenu = function (usecontextmenu) { + var calendaredit = this.calendaredit; + if (calendaredit) { + calendaredit.set_usecontextmenu(usecontextmenu); + } + }; + + _pCalendar.set_usesoftkeyboard = function (v, bforce) { + v = nexacro._toBoolean(v); + if (v != this.usesoftkeyboard || bforce) { + this.usesoftkeyboard = v; + this.on_apply_usesoftkeyboard(bforce); + } + }; + + _pCalendar.on_apply_usesoftkeyboard = function (bforce) { + if (this.calendaredit) { + this.calendaredit.set_usesoftkeyboard(this.usesoftkeyboard, bforce); + } + }; + + _pCalendar.set_innerdataset = function (v) { + if (typeof v != "string") { + this.setInnerDataset(v); + return; + } + + if (this.innerdataset != v || (this.innerdataset && !this._innerdataset)) { + this._setInnerDatasetStr(v); + this.on_apply_innerdataset(this._innerdataset); + } + }; + + _pCalendar.on_apply_innerdataset = function (ds) { + if (ds) { + ds._setEventHandler("onvaluechanged", this._on_dataset_onvaluechanged, this); + ds._setEventHandler("onrowsetchanged", this._on_dataset_onrowsetchanged, this); + } + + var datepicker = this.datepicker; + if (datepicker) { + datepicker._refreshDay(); + } + }; + + _pCalendar.set_backgroundcolumn = function (v) { + if (this.backgroundcolumn != v) { + this.backgroundcolumn = v; + this.on_apply_backgroundcolumn(v); + } + }; + + _pCalendar.on_apply_backgroundcolumn = function () { + var datepicker = this.datepicker; + if (datepicker) { + datepicker._refreshDay(); + } + }; + + _pCalendar.set_bordercolumn = function (v) { + if (this.bordercolumn != v) { + this.bordercolumn = v; + this.on_apply_bordercolumn(v); + } + }; + + _pCalendar.on_apply_bordercolumn = function () { + var datepicker = this.datepicker; + if (datepicker) { + datepicker._refreshDay(); + } + }; + + _pCalendar.set_datecolumn = function (v) { + if (this.datecolumn != v) { + this.datecolumn = v; + this.on_apply_datecolumn(v); + } + }; + + _pCalendar.on_apply_datecolumn = function () { + var datepicker = this.datepicker; + if (datepicker) { + datepicker._refreshDay(); + } + }; + + _pCalendar.set_textcolorcolumn = function (v) { + if (this.textcolorcolumn != v) { + this.textcolorcolumn = v; + this.on_apply_textcolorcolumn(v); + } + }; + + _pCalendar.on_apply_textcolorcolumn = function () { + var datepicker = this.datepicker; + if (datepicker) { + datepicker._refreshDay(); + } + }; + + _pCalendar.set_buttonsize = function (v) { + if (this.buttonsize != v) { + this.buttonsize = v; + this.on_apply_buttonsize(v); + } + }; + + _pCalendar.on_apply_buttonsize = function () { + this._recalcLayout(); + }; + + _pCalendar.set_headheight = function (v) { + if (v !== undefined) { + if (isNaN(v = +v)) { + return; + } + } + + if (this.headheight != v) { + this.headheight = v; + this.on_apply_headheight(v); + } + }; + + _pCalendar.on_apply_headheight = function () { + var datepicker = this.datepicker; + if (datepicker) { + datepicker._recalcLayout(); + } + }; + + _pCalendar.set_daysize = function (v) { + if (this.daysize != v) { + this.daysize = v; + this.on_apply_daysize(v); + } + }; + + _pCalendar.on_apply_daysize = function () { + var datepicker = this.datepicker; + if (datepicker) { + datepicker._refreshDay(); + datepicker.body._recalcLayout(); + } + }; + + _pCalendar.set_popupsize = function (v) { + if (this.popupsize != v) { + this.popupsize = v; + } + }; + + _pCalendar.on_apply_popupsize = nexacro._emptyFn; + + _pCalendar.set_dateformat = function (v) { + if (this.dateformat != v) { + this.dateformat = v; + this.on_apply_dateformat(v); + this.on_apply_value(this.value); + } + }; + + _pCalendar.on_apply_dateformat = function (dateformat) { + var maskobj = this._masktypeobj; + if (maskobj) { + if (this._type == "system") { + this.dateformat = dateformat = this._systemformat; + } + + maskobj.setDateMask(dateformat); + } + }; + + _pCalendar.set_editformat = function (v) { + if (this.editformat != v) { + this.editformat = v; + this.on_apply_editformat(v); + this._setValue(this.value); + } + }; + + _pCalendar.on_apply_editformat = function (editformat) { + var maskobj = this._masktypeobj; + if (maskobj) { + if (this._type == "system") { + editformat = this._systemformat; + } + + maskobj.setEditMask(editformat); + } + }; + + _pCalendar.set_headformat = function (v) { + if (this.headformat != v) { + this.headformat = v; + this.on_apply_headformat(v); + } + }; + + _pCalendar.on_apply_headformat = function () { + var datepicker = this.datepicker; + if (datepicker) { + datepicker._setHeadformatText(); + } + }; + + _pCalendar.set_weekformat = function (v) { + if (this.weekformat != v) { + this.weekformat = v; + this.on_apply_weekformat(v); + } + }; + + _pCalendar.on_apply_weekformat = function () { + var datepicker = this.datepicker; + if (datepicker) { + datepicker._setWeekformatText(); + } + }; + + _pCalendar.set_usetrailingday = function (v) { + v = nexacro._toBoolean(v); + if (this.usetrailingday != v) { + this.usetrailingday = v; + this.on_apply_usetrailingday(v); + } + }; + + _pCalendar.on_apply_usetrailingday = function () { + var datepicker = this.datepicker; + if (datepicker) { + datepicker._refreshDay(); + } + }; + + _pCalendar.set_showmonthspin = function (v) { + v = nexacro._toBoolean(v); + if (this.showmonthspin != v) { + this.showmonthspin = v; + this.on_apply_showmonthspin(v); + } + }; + + _pCalendar.on_apply_showmonthspin = function () { + var datepicker = this.datepicker; + if (datepicker) { + datepicker._refreshSpindate(); + } + }; + + _pCalendar.set_showyearspin = function (v) { + v = nexacro._toBoolean(v); + if (this.showyearspin != v) { + this.showyearspin = v; + this.on_apply_showyearspin(v); + } + }; + + _pCalendar.on_apply_showyearspin = function () { + var datepicker = this.datepicker; + if (datepicker) { + datepicker._refreshSpindate(); + } + }; + + _pCalendar.on_apply_accessibility = function () { + nexacro.Component.prototype.on_apply_accessibility.call(this); + if (this.calendaredit) { + this.calendaredit.on_apply_accessibility(); + } + }; + + _pCalendar.set_visible = function (v) { + nexacro.Component.prototype.set_visible.call(this, v); + + if (!this.visible && this._isPopupVisible()) { + this._closePopup(); + } + }; + + _pCalendar.on_apply_accessibility = function (accessibility) { + nexacro.Component.prototype.on_apply_accessibility.call(this, accessibility); + if (this.calendaredit) { + this.calendaredit.on_apply_accessibility(accessibility); + } + }; + + _pCalendar.dropdown = function () { + if (!this.enable || this.readonly || !this.visible || this._type == "system") { + return false; + } + + if (this._isPopupVisible()) { + return false; + } + + this._setFocus(false); + + this._showPopup(); + this._setDefaultCaret(); + }; + + _pCalendar.isDropdown = function () { + return this._isPopupVisible(); + }; + + _pCalendar.getCaretPos = function () { + if (this.readonly) { + return -1; + } + + var calendaredit = this.calendaredit; + if (calendaredit) { + return calendaredit.getCaretPos(); + } + + return -1; + }; + + _pCalendar.setCaretPos = function (v) { + var calendaredit = this.calendaredit; + if (calendaredit) { + this._change_caret_from_method = true; + + return calendaredit.setCaretPos(v); + } + }; + + _pCalendar.getSelect = function () { + var calendaredit = this.calendaredit; + if (calendaredit) { + return calendaredit.getSelect(); + } + + return [0, 0]; + }; + + _pCalendar.setSelect = function (begin, end) { + var calendaredit = this.calendaredit; + if (calendaredit) { + this._change_caret_from_method = true; + + return calendaredit.setSelect(begin, end); + } + return false; + }; + + _pCalendar.getSelectedText = function () { + var calendaredit = this.calendaredit; + if (calendaredit) { + return calendaredit.getSelectedText(); + } + + return ""; + }; + + _pCalendar.getInnerDataset = function () { + return this._innerdataset; + }; + + _pCalendar.setInnerDataset = function (obj) { + this._removeEventHandlerToInnerDataset(); + + if (!obj) { + this._innerdataset = null; + this.innerdataset = ""; + this.on_apply_innerdataset(this._innerdataset); + } + else if (obj instanceof nexacro.Dataset) { + this._innerdataset = obj; + this.innerdataset = obj.id; + this.on_apply_innerdataset(this._innerdataset); + } + }; + + _pCalendar.getYear = function () { + var ret = 1970; + if (this.value) { + var maskobj = this._masktypeobj; + if (maskobj) { + return maskobj._dateObj.getFullYear(); + } + } + return ret; + }; + + _pCalendar.getMonth = function () { + var ret = 1; + if (this.value) { + var maskobj = this._masktypeobj; + if (maskobj) { + return maskobj._dateObj.getMonth() + 1; + } + } + return ret; + }; + + _pCalendar.getDay = function () { + var ret = 1; + if (this.value) { + var maskobj = this._masktypeobj; + if (maskobj) { + return maskobj._dateObj.getDate(); + } + } + return ret; + }; + + _pCalendar.getDayOfWeek = function () { + var ret = 4; + if (this.value) { + var maskobj = this._masktypeobj; + if (maskobj) { + return maskobj._dateObj.getDay(); + } + } + return ret; + }; + + _pCalendar.updateToDataset = function () { + return this.applyto_bindSource("value", this.value); + }; + + _pCalendar._on_value_change = function (prevalue, postvalue) { + var ret = true; + var pretext = this._getEventInfoText(prevalue); + var posttext = this._getEventInfoText(postvalue); + + if (!this.on_fire_canchange(this, pretext, prevalue, posttext, postvalue) || + !this.applyto_bindSource("value", postvalue)) { + ret = false; + } + + if (!ret) { + this.value = prevalue; + var maskobj = this._masktypeobj; + var packeddate = maskobj.changeNormalizeValue(prevalue); + this.on_apply_value(packeddate); + return false; + } + + this._setValue(postvalue); + + this._default_value = prevalue; + this._default_text = pretext; + + this.on_fire_onchanged(this, pretext, prevalue, posttext, postvalue); + + if (this.autoskip && this._isPopupVisible()) { + this._closePopup(); + } + + return true; + }; + + _pCalendar._on_dataset_onvaluechanged = function (obj, e) { + var datepicker = this.datepicker; + if (datepicker) { + datepicker._refreshDay(); + } + + if (this._is_created) { + this.on_fire_oninnerdatachanged(obj, e.oldvalue, e.newvalue, e.columnid, e.col, e.row); + } + }; + + _pCalendar._on_dataset_onrowsetchanged = function () { + var datepicker = this.datepicker; + if (datepicker) { + datepicker._refreshDay(); + } + }; + + _pCalendar._on_edit_oneditclick = function (obj, e) { + this.on_fire_oneditclick(obj, e.caretpos, e.button, e.altkey, e.ctrlkey, e.shiftkey, e.screenx, e.screeny, e.canvasx, e.canvasy, e.clientx, e.clienty, e.fromobject, e.fromreferenceobject); + if (this._type == "system" && !this.readonly) { + var control_elem = this.getElement(); + if (control_elem) { + this.calendaredit._prevent_clickevent = false; + var ret = this.on_fire_ondropdown(this); + if (ret) { + nexacro._openSystemCalendar(this, this.value, "_on_notify_mobile_valuechanged"); + } + this.calendaredit._prevent_clickevent = true; + } + return true; + } + }; + + _pCalendar._on_edit_onlbuttondown = function () { + if (this.readonly) { + return false; + } + + if (this._isPopupVisible()) { + this._closePopup(); + } + }; + + _pCalendar._on_edit_onlbuttonup = function () { + }; + + _pCalendar._on_edit_onkeydown = function (obj, e) { + var keycode = e.keycode; + var calendaredit = this.calendaredit; + var datepicker = this.datepicker; + + switch (this.type) { + case "normal": + if (keycode == nexacro.Event.KEY_ESC) { + if (this._isPopupVisible()) { + this._closePopup(); + } + this._setDefaultCaret(); + } + else if (keycode == nexacro.Event.KEY_ENTER) { + if (this._isPopupVisible()) { + datepicker._changeDate(obj, e); + datepicker.on_fire_ondayclick(datepicker._value); + } + else { + if (this.value != calendaredit.value) { + this._on_value_change(this.value, calendaredit.value); + } + else if (this.text != calendaredit.text) { + this._setValue(this.value); + } + } + this._setDefaultCaret(); + } + else if (e.altkey && keycode == nexacro.Event.KEY_DOWN) { + if (!this._isPopupVisible()) { + this._showPopup(); + this._setDefaultCaret(); + + if (calendaredit) { + var value = calendaredit.value ? calendaredit.value : this.datepicker._value; + this._setDatePickerValue(value); + } + } + } + else { + if (this._isPopupVisible()) { + if (keycode >= nexacro.Event.KEY_LEFT && keycode <= nexacro.Event.KEY_DOWN) { + datepicker._on_body_onkeydown(obj, e); + } + } + } + break; + case "spin": + if (keycode == nexacro.Event.KEY_ENTER) { + if (this.value != calendaredit.value) { + this._on_value_change(this.value, calendaredit.value); + } + else if (this.text != calendaredit.text) { + this._setValue(this.value); + } + this._setDefaultCaret(); + } + else if (keycode == nexacro.Event.KEY_UP) { + if (!nexacro._enableaccessibility || e.ctrlkey) { + this._on_spin_onspinup(obj, e); + } + } + else if (keycode == nexacro.Event.KEY_DOWN) { + if (!nexacro._enableaccessibility || e.ctrlkey) { + this._on_spin_onspindown(obj, e); + } + } + + break; + case "monthonly": + if (keycode >= nexacro.Event.KEY_LEFT && keycode <= nexacro.Event.KEY_DOWN) { + datepicker.on_keydown_default_action(keycode, e.altkey, e.ctrlkey, e.shiftkey, e.fromreferenceobject); + datepicker._refreshSpindate(); + datepicker.on_fire_ondayclick(datepicker); + } + break; + default: + break; + } + + if (keycode >= nexacro.Event.KEY_LEFT && keycode <= nexacro.Event.KEY_DOWN) { + if (this._isPopupVisible()) { + calendaredit._input_element.stopSysEvent(); + } + else { + if (keycode == nexacro.Event.KEY_UP || keycode == nexacro.Event.KEY_DOWN) { + calendaredit._input_element.stopSysEvent(); + } + } + } + return false; + }; + + _pCalendar._on_edit_oninput = function () { + var cur_value; + var maskobj = this._masktypeobj; + if (maskobj._use_edit_buf) { + cur_value = maskobj.changeNormalizeValueFromBuffer(); + } + else { + cur_value = maskobj.changeNormalizeValue(this.calendaredit.value); + } + + if (this._isPopupVisible()) { + this._setDatePickerValue(cur_value); + } + + this.on_fire_oninput(); + + if (this._type == "system") { + if (this.value != cur_value) { + this._on_value_change(this.value, cur_value); + } + } + }; + + _pCalendar._on_notify_mobile_valuechanged = function (v) { + if (this._type == "system") { + this._setCalendarEditValue(v); + + this.on_fire_oninput(); + + var maskobj = this._masktypeobj; + if (maskobj) { + var cur_value = maskobj.changeNormalizeValueFromBuffer(); + if (this.value != cur_value) { + this._on_value_change(this.value, cur_value); + } + } + } + }; + + _pCalendar._on_drop_onlbuttondown = function () { + if (this.readonly || !this.enable) { + return false; + } + + if (this._isPopupVisible()) { + this._closePopup(); + + if (!this.autoselect) { + this._setDefaultCaret(); + } + } + else { + var datepicker = this.datepicker; + var calendaredit = this.calendaredit; + + if (datepicker && calendaredit) { + var value = calendaredit.value; + if (value) { + var binvalid = calendaredit._isInvalidValue(value); + if (binvalid) { + value = datepicker._value; + } + } + else { + value = datepicker._value; + } + + this._setDatePickerValue(value); + } + + this._showPopup(); + + if (!this.autoselect) { + this._setDefaultCaret(); + } + } + + return false; + }; + + _pCalendar._on_drop_mobile_onclick = function () { + if (this.readonly || !this.enable) { + return false; + } + + if (this._isPopupVisible()) { + this._closePopup(); + } + else { + var datepicker = this.datepicker; + var calendaredit = this.calendaredit; + + if (datepicker && calendaredit) { + var value = calendaredit.value ? calendaredit.value : datepicker._value; + this._setDatePickerValue(value); + } + + this._showPopup(); + } + + return false; + }; + + _pCalendar._on_drop_onclick = function () { + }; + + _pCalendar._on_spin_onspinup = function () { + if (this.readonly) { + return false; + } + + var calendaredit = this.calendaredit; + if (calendaredit) { + var cur_text = ""; + var cur_value; + + var pre_text; + var pre_value = this._default_value; + + var post_text = ""; + + var pos = this.getCaretPos(); + var old_pos = pos; + var end_pos = this.calendaredit.text.length; + + if (this._rtl && nexacro._Browser == "Chrome") { + if (pos == 0) { + pos = end_pos; + } + else if (pos == end_pos) { + pos = 0; + } + } + + var maskobj = this._masktypeobj; + if (maskobj) { + if (!maskobj.date) { + var currDate = this._getCurrentDate(); + var year = nexacro._toString(currDate.year).padLeft(4, "0"); + var month = nexacro._toString(currDate.month).padLeft(2, "0"); + var day = nexacro._toString(currDate.day).padLeft(2, "0"); + var type = maskobj.getEditFormatType(); + switch (type) { + case 0: + cur_value = year + month + day; + break; + case 1: + cur_value = "000000000"; + break; + case 2: + cur_value = year + month + day + "000000000"; + } + + cur_text = maskobj.applyMask(cur_value); + this._setSpinValue(cur_value, cur_text, old_pos); + } + else { + cur_text = maskobj.applyMaskSpin(pos, 1); + cur_value = maskobj.changeNormalizeValueFromBuffer(); + + pre_text = this._getEventInfoText(pre_value); + post_text = this._getEventInfoText(cur_value); + + if (!this.on_fire_onspin(this, pre_text, pre_value, post_text, cur_value, true)) { + cur_text = pre_value ? pre_text : maskobj.applyMask(this.value); + cur_value = pre_value ? pre_value : maskobj.removeMask(cur_text); + } + + maskobj.applyMask(cur_value); + this._setSpinValue(cur_value, cur_text, old_pos); + } + } + } + }; + + _pCalendar._on_spin_onspindown = function () { + if (this.readonly) { + return false; + } + + var calendaredit = this.calendaredit; + if (calendaredit) { + var cur_text = ""; + var cur_value; + + var pre_text; + var pre_value = this._default_value; + + var post_text = ""; + + var pos = this.getCaretPos(); + var old_pos = pos; + var end_pos = this.calendaredit.text.length; + + if (this._rtl && nexacro._Browser == "Chrome") { + if (pos == 0) { + pos = end_pos; + } + else if (pos == end_pos) { + pos = 0; + } + } + + var maskobj = this._masktypeobj; + if (maskobj) { + if (!maskobj.date) { + var currDate = this._getCurrentDate(); + var year = nexacro._toString(currDate.year).padLeft(4, "0"); + var month = nexacro._toString(currDate.month).padLeft(2, "0"); + var day = nexacro._toString(currDate.day).padLeft(2, "0"); + var type = maskobj.getEditFormatType(); + switch (type) { + case 0: + cur_value = year + month + day; + break; + case 1: + cur_value = "000000000"; + break; + case 2: + cur_value = year + month + day + "000000000"; + } + + cur_text = maskobj.applyMask(cur_value); + this._setSpinValue(cur_value, cur_text, old_pos); + } + else { + cur_text = maskobj.applyMaskSpin(pos, -1); + cur_value = maskobj.changeNormalizeValueFromBuffer(); + + pre_text = this._getEventInfoText(pre_value); + post_text = this._getEventInfoText(cur_value); + + if (!this.on_fire_onspin(this, pre_text, pre_value, post_text, cur_value, true)) { + cur_text = pre_value ? pre_text : maskobj.applyMask(this.value); + cur_value = pre_value ? pre_value : maskobj.removeMask(cur_text); + } + + maskobj.applyMask(cur_value); + this._setSpinValue(cur_value, cur_text, old_pos); + } + } + } + }; + + _pCalendar._on_spin_mobile_onspinup = function () { + if (this.readonly) { + return false; + } + + var calendaredit = this.calendaredit; + if (calendaredit) { + var cur_text = ""; + var cur_value; + + var pre_text; + var pre_value = this._default_value; + + var post_text = ""; + + var pos = this.getCaretPos(); + + var maskobj = this._masktypeobj; + if (maskobj) { + if (!maskobj.date) { + var currDate = this._getCurrentDate(); + var year = nexacro._toString(currDate.year).padLeft(4, "0"); + var month = nexacro._toString(currDate.month).padLeft(2, "0"); + var day = nexacro._toString(currDate.day).padLeft(2, "0"); + var type = maskobj.getEditFormatType(); + switch (type) { + case 0: + cur_value = year + month + day; + break; + case 1: + cur_value = "000000000"; + break; + case 2: + cur_value = year + month + day + "000000000"; + } + + cur_text = maskobj.applyMask(cur_value); + this._setSpinValue(cur_value, cur_text, pos); + } + else { + cur_text = maskobj.applyMaskSpin(pos, 1); + cur_value = maskobj.changeNormalizeValueFromBuffer(); + + pre_text = this._getEventInfoText(pre_value); + post_text = this._getEventInfoText(cur_value); + + if (!this.on_fire_onspin(this, pre_text, pre_value, post_text, cur_value, true)) { + cur_text = pre_value ? pre_text : maskobj.applyMask(this.value); + cur_value = pre_value ? pre_value : maskobj.removeMask(cur_text); + } + + maskobj.applyMask(cur_value); + this._setSpinValue(cur_value, cur_text, pos); + } + } + } + }; + + _pCalendar._on_spin_mobile_onspindown = function () { + if (this.readonly) { + return false; + } + + var calendaredit = this.calendaredit; + if (calendaredit) { + var cur_text = ""; + var cur_value; + + var pre_text; + var pre_value = this._default_value; + + var post_text = ""; + + var pos = this.getCaretPos(); + + var maskobj = this._masktypeobj; + if (maskobj) { + if (!maskobj.date) { + var currDate = this._getCurrentDate(); + var year = nexacro._toString(currDate.year).padLeft(4, "0"); + var month = nexacro._toString(currDate.month).padLeft(2, "0"); + var day = nexacro._toString(currDate.day).padLeft(2, "0"); + var type = maskobj.getEditFormatType(); + switch (type) { + case 0: + cur_value = year + month + day; + break; + case 1: + cur_value = "000000000"; + break; + case 2: + cur_value = year + month + day + "000000000"; + } + + cur_text = maskobj.applyMask(cur_value); + this._setSpinValue(cur_value, cur_text, pos); + } + else { + cur_text = maskobj.applyMaskSpin(pos, -1); + cur_value = maskobj.changeNormalizeValueFromBuffer(); + + pre_text = this._getEventInfoText(pre_value); + post_text = this._getEventInfoText(cur_value); + + if (!this.on_fire_onspin(this, pre_text, pre_value, post_text, cur_value, true)) { + cur_text = pre_value ? pre_text : maskobj.applyMask(this.value); + cur_value = pre_value ? pre_value : maskobj.removeMask(cur_text); + } + + maskobj.applyMask(cur_value); + this._setSpinValue(cur_value, cur_text, pos); + } + } + } + }; + + _pCalendar._on_datepicker_ondayclick = function (obj, e) { + if (this.readonly) { + return; + } + + var ret = true; + var maskobj = this._masktypeobj; + + var from_comp = e.fromobject; + var cur_date = from_comp._year + from_comp._month + from_comp.text.padLeft(2, "0"); + + var h = maskobj._date[3] ? maskobj._date[3] : ""; + var m = maskobj._date[4] ? maskobj._date[4] : ""; + var s = maskobj._date[5] ? maskobj._date[5] : ""; + var ss = maskobj._date[6] ? maskobj._date[6] : ""; + + var editmast_type = maskobj.getEditFormatType(); + + var pre_value = this.value; + var cur_value; + if (editmast_type == 1) { + if (!nexacro._isNull(h)) { + h = h.padLeft(2, "0"); + } + if (!nexacro._isNull(m)) { + m = m.padLeft(2, "0"); + } + if (!nexacro._isNull(s)) { + s = s.padLeft(2, "0"); + } + if (!nexacro._isNull(ss)) { + ss = ss.padLeft(3, "0"); + } + + cur_value = maskobj.changeNormalizeValue(h + m + s + ss); + } + else { + cur_value = maskobj.changeNormalizeValue(cur_date + h + m + s + ss); + } + + this.on_fire_ondayclick(cur_date); + + if (pre_value != cur_value) { + ret = this._on_value_change(pre_value, cur_value); + } + else { + this._setCalendarEditValue(this.value); + } + + if (ret) { + if (this._isPopupVisible()) { + this._closePopup(); + } + } + else { + if (this.type == "monthonly" && from_comp) { + from_comp._changeStatus("focused", false); + } + } + + if (this.autoskip) { + this._setFocusToNextComponent(); + } + else { + this._setDefaultCaret(); + } + }; + + _pCalendar._on_datepicker_oncloseup = function () { + var _window = this._getWindow(); + if (_window && this._track_capture) { + _window._releaseCaptureLock(this); + } + + this._changeStatus("mouseover", false); + this.calendaredit._changeStatus("mouseover", false); + this.dropbutton._changeStatus("mouseover", false); + + this.on_fire_oncloseup(this, this._default_text, this._default_value, this.text, this.value); + }; + + _pCalendar.on_focus_basic_action = function (self_flag, evt_name, lose_focus, refer_lose_focus, new_focus, refer_new_focus) { + this._changeStatus("focused", true); + + if (nexacro._enableaccessibility && this.type == "monthonly") { + this.datepicker.body._on_focus(false); + } + + var bMobile = (nexacro._isTouchInteraction && nexacro._SupportTouch && (this._type == "system")); + if (!bMobile && !(refer_new_focus instanceof nexacro._CalendarEditControl)) { + var calendaredit = this.calendaredit; + if (calendaredit) { + calendaredit._on_focus(true, nexacro._getBrowserEventName(evt_name)); + + if (!this.autoselect && !this._change_caret_from_method) { + this._setDefaultCaret(); + } + } + } + + this._change_caret_from_method = false; + }; + + _pCalendar.on_killfocus_basic_action = function () { + var calendaredit = this.calendaredit; + var datepicker = this.datepicker; + + if (this.type != "monthonly") { + if (this.value != calendaredit.value) { + this._on_value_change(this.value, calendaredit.value); + } + else if (this.text != calendaredit.text) { + this._setValue(this.value); + } + } + else { + if (datepicker) { + datepicker._refreshSpindate(); + } + + this.on_apply_value(this.value); + } + + if (this._isPopupVisible()) { + this._closePopup(); + } + }; + + _pCalendar.on_fire_sys_onmousewheel = function (wheelDeltaX, wheelDeltaY, button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientX, clientY, from_comp, from_refer_comp) { + nexacro.Component.prototype.on_fire_user_onmousewheel.call(this, wheelDeltaX, wheelDeltaY, button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientX, clientY, from_comp, from_refer_comp); + + return (this._popupcontrol && this._popupcontrol._is_popup()) ? true : false; + }; + + _pCalendar.on_fire_sys_onslide = function (elem, touch_manager, touchinfos, xaccvalue, yaccvalue, xdeltavalue, ydeltavalue, from_comp, from_refer_comp) { + var ret = nexacro.Component.prototype.on_fire_sys_onslide.call(this, elem, touch_manager, touchinfos, xaccvalue, yaccvalue, xdeltavalue, ydeltavalue, from_comp, from_refer_comp); + + this._updatePopupControlPosition(); + + return ret; + }; + + _pCalendar.on_fire_sys_onfling = function (elem, fling_handler, xstartvalue, ystartvalue, xdeltavalue, ydeltavalue, touchlen, from_comp, from_refer_comp) { + var ret = nexacro.Component.prototype.on_fire_sys_onfling.call(this, elem, fling_handler, xstartvalue, ystartvalue, xdeltavalue, ydeltavalue, touchlen, from_comp, from_refer_comp); + + this._updatePopupControlPosition(); + + return ret; + }; + + _pCalendar.on_fire_oneditclick = function (obj, caretpos, button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientX, clientY, from_comp, from_refer_comp) { + if (this.visible && this._isEnable() && this.enableevent) { + if (this.oneditclick && this.oneditclick._has_handlers) { + var evt = new nexacro.EditClickEventInfo(this, "oneditclick", caretpos, button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientX, clientY, this, from_refer_comp); + return this.oneditclick._fireEvent(this, evt); + } + } + + return true; + }; + + _pCalendar.on_fire_ondayclick = function (postdate) { + if (this.ondayclick && this.ondayclick._has_handlers) { + var evt = new nexacro.CalendarDayClickEventInfo(this, "ondayclick", postdate); + return this.ondayclick._fireEvent(this, evt); + } + + return true; + }; + + _pCalendar.on_fire_canchange = function (obj, pretext, prevalue, posttext, postvalue) { + if (this.canchange && this.canchange._has_handlers) { + var evt = new nexacro.ChangeEventInfo(this, "canchange", pretext, prevalue, posttext, postvalue); + return this.canchange._fireCheckEvent(this, evt); + } + + return true; + }; + + _pCalendar.on_fire_onchanged = function (obj, pretext, prevalue, posttext, postvalue) { + if (this.onchanged && this.onchanged._has_handlers) { + var evt = new nexacro.ChangedEventInfo(this, "onchanged", pretext, prevalue, posttext, postvalue); + return this.onchanged._fireEvent(this, evt); + } + }; + + _pCalendar.on_fire_oncloseup = function (obj, pretext, prevalue, posttext, postvalue) { + if (this.oncloseup && this.oncloseup._has_handlers) { + var evt = new nexacro.CalendarCloseUpEventInfo(this, "oncloseup", pretext, posttext, prevalue, postvalue); + return this.oncloseup._fireEvent(this, evt); + } + + return false; + }; + + _pCalendar.on_fire_ondropdown = function (obj) { + if (this.ondropdown && this.ondropdown._has_handlers) { + var evt = new nexacro.Event(this, "ondropdown"); + evt.fromreferenceobject = this.dropbutton; + return this.ondropdown._fireCheckEvent(this, evt); + } + + return true; + }; + + _pCalendar.on_fire_oninput = function () { + if (this.oninput && this.oninput._has_handlers) { + var evt = new nexacro.InputEventInfo(this, "oninput"); + return this.oninput._fireEvent(this, evt); + } + + return true; + }; + + _pCalendar.on_fire_onspin = function (obj, pretext, prevalue, posttext, postvalue, isUp) { + if (this.onspin && this.onspin._has_handlers) { + var evt = new nexacro.CalendarSpinEventInfo(this, "onspin", pretext, posttext, prevalue, postvalue, isUp); + return this.onspin._fireCheckEvent(this, evt); + } + + return true; + }; + + _pCalendar.on_fire_oninnerdatachanged = function (obj, oldvalue, newvalue, columnid, col, row) { + if (this.oninnerdatachanged && this.oninnerdatachanged._has_handlers) { + var evt = new nexacro.InnerdataChangedEventInfo(obj, "oninnerdatachanged", oldvalue, newvalue, columnid, col, row); + return this.oninnerdatachanged._fireEvent(this, evt); + } + + return true; + }; + + _pCalendar._createCalendaredit = function () { + var calendaredit = this.calendaredit; + if (!calendaredit) { + calendaredit = this.calendaredit = new nexacro._CalendarEditControl("calendaredit", 0, 0, 0, 0, null, null, null, null, null, null, this, this._onlydisplay); + calendaredit.set_displaynulltext(this.displaynulltext); + calendaredit.set_readonly(this.readonly); + calendaredit.set_autoselect(this.autoselect); + calendaredit.set_autoskip(this.autoskip); + calendaredit.set_usecontextmenu(this.usecontextmenu); + + calendaredit.createComponent(true); + } + }; + + _pCalendar._createDropbutton = function () { + var dropbutton = this.dropbutton; + if (!dropbutton) { + dropbutton = this.dropbutton = new nexacro._CalendarDropButtonControl("dropbutton", 0, 0, 0, 0, null, null, null, null, null, null, this); + dropbutton.createComponent(true); + } + }; + + _pCalendar._createSpinbutton = function () { + var spinupbutton = this.calendarspinupbutton; + if (!spinupbutton) { + spinupbutton = this.calendarspinupbutton = new nexacro._CalendarSpinButtonControl("calendarspinupbutton", 0, 0, 0, 0, null, null, null, null, null, null, this); + spinupbutton.createComponent(true); + } + var spindownbutton = this.calendarspindownbutton; + if (!spindownbutton) { + spindownbutton = this.calendarspindownbutton = new nexacro._CalendarSpinButtonControl("calendarspindownbutton", 0, 0, 0, 0, null, null, null, null, null, null, this); + spindownbutton.createComponent(true); + } + }; + + _pCalendar._createDatePicker = function () { + var datepicker = this.datepicker; + if (!datepicker) { + datepicker = this.datepicker = new nexacro.DatePickerControl("datepicker", 0, 0, 0, 0, null, null, null, null, null, null, this); + if (this.type == "monthonly") { + datepicker._is_focus_accept = true; + } + else { + datepicker._setPopupContains(true); + datepicker._is_focus_accept = false; + } + + datepicker.createComponent(true); + } + }; + + _pCalendar._createPopupControl = function () { + var popupcontrol = this._popupcontrol; + if (!popupcontrol) { + popupcontrol = this._popupcontrol = new nexacro._CalendarPopupControl("calendarpopup", 0, 0, 0, 0, null, null, null, null, null, null, this); + popupcontrol.createComponent(true); + } + }; + + _pCalendar._createNormaltypeControl = function () { + var control_elem = this.getElement(); + if (control_elem) { + this._createCalendaredit(); + this._createDropbutton(); + this._createPopupControl(); + this._createDatePicker(); + this._setEventHandlerToCalendarEdit(); + this._setEventHandlerToDropButton(); + this._setEventHandlerToDatePicker(); + this._applyAllProps(); + + if (this._is_created) { + var calendaredit = this.calendaredit; + var dropbutton = this.dropbutton; + + if (calendaredit) { + calendaredit._on_apply_inputtype(); + calendaredit.on_created(); + } + + if (dropbutton) { + dropbutton.on_created(); + } + } + } + }; + + _pCalendar._createSpintypeControl = function () { + var control_elem = this.getElement(); + if (control_elem) { + this._createCalendaredit(); + this._createSpinbutton(); + this._setEventHandlerToCalendarEdit(); + this._setEventHandlerToSpinButton(); + this._applyAllProps(); + + if (this._is_created) { + var calendaredit = this.calendaredit; + var spinupbutton = this.calendarspinupbutton; + var spindownbutton = this.calendarspindownbutton; + + if (calendaredit) { + calendaredit.on_created(); + } + if (spinupbutton) { + spinupbutton.on_created(); + } + if (spindownbutton) { + spindownbutton.on_created(); + } + } + } + }; + + _pCalendar._createMonthlytypeControl = function () { + var control_elem = this.getElement(); + if (control_elem) { + this._createDatePicker(); + this._setEventHandlerToDatePicker(); + this._applyDatePickerProps(); + + if (this._is_created) { + var datepicker = this.datepicker; + if (datepicker) { + datepicker.on_created(); + } + } + } + }; + + _pCalendar._createSystemtypeControl = function () { + var control_elem = this.getElement(); + if (control_elem) { + this._createCalendaredit(); + this._setEventHandlerToCalendarEdit(); + this._applyAllProps(); + + if (this._is_created) { + var calendaredit = this.calendaredit; + + if (calendaredit) { + calendaredit._on_apply_inputtype(); + + calendaredit.on_created(); + } + } + } + }; + + _pCalendar._createPopupDatePickerControl = function () { + this._createPopupControl(); + this._createDatePicker(); + + var datepicker = this.datepicker; + var popupcontrol = this._popupcontrol; + if (!popupcontrol._is_created) { + popupcontrol._attach(datepicker); + popupcontrol.on_created(); + } + if (!datepicker._is_created) { + this._setEventHandlerToDatePicker(); + this._applyDatePickerProps(); + datepicker.on_created(); + } + }; + + _pCalendar._destroyControl = function () { + if (this.calendaredit) { + this.calendaredit.destroy(); + this.calendaredit = null; + } + if (this.dropbutton) { + this.dropbutton.destroy(); + this.dropbutton = null; + } + if (this.calendarspinupbutton) { + this.calendarspinupbutton.destroy(); + this.calendarspinupbutton = null; + } + if (this.calendarspindownbutton) { + this.calendarspindownbutton.destroy(); + this.calendarspindownbutton = null; + } + if (this.datepicker) { + this.datepicker.destroy(); + this.datepicker = null; + } + if (this._popupcontrol) { + this._popupcontrol.destroy(); + this._popupcontrol = null; + } + }; + + _pCalendar._recalcLayout = function () { + if (this._is_created_contents) { + var calendaredit = this.calendaredit; + var dropbutton = this.dropbutton; + var spinupbutton = this.calendarspinupbutton; + var spindownbutton = this.calendarspindownbutton; + var datepicker = this.datepicker; + + var client_width = this._getClientWidth(); + var client_height = this._getClientHeight(); + + var buttonsize = this.buttonsize; + var buttonsize_w, buttonsize_h; + + if (buttonsize == undefined) { + buttonsize_w = client_height; + buttonsize_h = client_height; + } + else { + buttonsize = buttonsize.split(" "); + buttonsize_w = +buttonsize[0]; + buttonsize_h = (buttonsize[1]) ? +buttonsize[1] : client_height; + } + + if (buttonsize_w > client_width) { + buttonsize_w = client_width; + } + if (buttonsize_h > client_height) { + buttonsize_h = client_height; + } + + switch (this._type) { + case "system": + case "normal": + var button_l = client_width - buttonsize_w; + var button_t = 0; + + if (buttonsize_h < client_height) { + button_t = (client_height - buttonsize_h) / 2; + } + + dropbutton.move(button_l, button_t, buttonsize_w, buttonsize_h, null, null); + calendaredit.move(0, 0, button_l, client_height, null, null); + + calendaredit.set_visible(true); + dropbutton.set_visible(true); + break; + case "spin": + var upbutton_l = client_width - buttonsize_w; + var upbutton_t = 0; + var upbutton_h = Math.floor(buttonsize_h / 2); + + if (buttonsize_h < client_height) { + upbutton_t = (client_height - buttonsize_h) / 2; + } + + var downbutton_l = upbutton_l; + var downbutton_t = buttonsize_h - upbutton_h + upbutton_t; + var downbutton_h = Math.floor(buttonsize_h / 2); + + spinupbutton.move(upbutton_l, upbutton_t, buttonsize_w, upbutton_h, null, null); + spindownbutton.move(downbutton_l, downbutton_t, buttonsize_w, downbutton_h, null, null); + calendaredit.move(0, 0, upbutton_l, client_height, null, null); + + calendaredit.set_visible(true); + spinupbutton.set_visible(true); + spindownbutton.set_visible(true); + break; + case "monthonly": + this._applyDatePickerProps(); + datepicker.move(0, 0, client_width, client_height, null, null); + datepicker.set_visible(true); + break; + } + } + }; + + _pCalendar._updatePopupControlPosition = function () { + var popupcontrol = this._popupcontrol; + if (popupcontrol) { + var control_elem = this.getElement(); + var popup_control_elem = popupcontrol.getElement(); + + var pos = this._getElementPosition(control_elem); + + var left = pos.x; + var top = pos.y + (this._adjust_height); + + popup_control_elem.setElementPosition(left, top); + } + }; + + _pCalendar._showPopup = function () { + if (this.type != "normal") { + return; + } + + if (nexacro._enableaccessibility) { + this._want_arrows = true; + } + + var _window = this._getWindow(); + var control_elem = this.getElement(); + if (control_elem) { + var ret = this.on_fire_ondropdown(this); + + if (this.popuptype == "none" || this._type == "system") { + return; + } + + if (ret) { + this._createPopupDatePickerControl(); + var popupcontrol = this._popupcontrol; + var popupsize = this._getPopupSizeArr(); + + var pos = this._getElementPosition(); + var cal_winpos_left = pos.x; + var cal_winpos_top = pos.y; + + var parentpos = popupcontrol._getPopupParentPos(); + + var cal_height = parentpos.height; + + var popup_left = 0; + var popup_top = cal_height; + var popup_width = popupsize.width; + var popup_height = popupsize.height; + + var popup_winpos_right = cal_winpos_left + popup_width; + var popup_winpos_bottom = cal_winpos_top + cal_height + popup_height; + + var win_width = _window.clientWidth; + var win_height = _window.clientHeight; + var width_gap = popup_winpos_right - win_width; + + if (popup_winpos_right > win_width && cal_winpos_left > width_gap) { + popup_left = popup_left - width_gap; + } + + if (cal_winpos_left < 0) { + popup_left = -cal_winpos_left; + } + + if (cal_winpos_top > popup_height && popup_winpos_bottom > win_height) { + popup_top = -popup_height; + } + + if (popup_winpos_bottom > win_height) { + var t_temp = win_height - popup_height; + if (t_temp < 0) { + popup_top = -cal_winpos_top; + } + else { + popup_top = t_temp - cal_winpos_top; + } + } + + + if (this.popuptype == "center") { + var frame = _window.frame; + var frame_pos = nexacro._getElementPositionInFrame(frame.getElement()); + var l = ((frame.width / 2) - (popup_width / 2)); + var t = ((frame.height / 2) - (popup_height / 2)); + + t = t < 0 ? 0 : t; + + popupcontrol._popup((l + frame_pos.x), (t + frame_pos.y), popup_width, popup_height); + } + else { + popupcontrol._popupBy(this, popup_left + parentpos.xgap, popup_top + parentpos.ygap, popup_width, popup_height); + } + + if (_window && this._track_capture) { + _window._setCaptureLock(this, true, false); + } + } + } + }; + + _pCalendar._applyZoomPopup = function () { + if (this._isPopupVisible()) { + this._showPopup(); + } + }; + + _pCalendar._closePopup = function () { + if (this._type == "system") { + nexacro._closeSystemCalendar(); + return; + } + else { + var popupcontrol = this._popupcontrol; + if (popupcontrol) { + popupcontrol._closePopup(); + } + } + + if (nexacro._enableaccessibility) { + var type = this.type; + this._want_arrows = false; + if (type == "normal") { + var _window = this._getWindow(); + _window._removeFromCurrentFocusPath(this.calendaredit, true); + this.calendaredit._on_focus(true); + } + } + }; + + _pCalendar._setContents = function (str) { + var doc = nexacro._parseXMLDocument(str); + var node = doc.getElementsByTagName("Dataset")[0]; + + if (!node) { + return false; + } + + var idstr = node.attributes[0].value; + + var normalDataset = new nexacro.NormalDataset(idstr, this); + + if (node.firstChild) { + var childnode = node.firstChild; + + var strXML = ""; + while (childnode) { + if (node.nodeType == 1) { + strXML += nexacro._documentToXml(childnode); + } + childnode = childnode.nextSibling; + } + normalDataset._setContents(strXML); + } + + this.set_innerdataset(normalDataset); + + return true; + }; + + _pCalendar._on_repeat = function (fromComp) { + var type = this._type; + var fromObject = fromComp; + + if (type == "spin") { + var bMobile = (nexacro._isTouchInteraction && nexacro._SupportTouch); + + if (bMobile) { + if (fromObject.id == "calendarspinupbutton") { + this._on_spin_mobile_onspinup(); + } + else if (fromObject.id == "calendarspindownbutton") { + this._on_spin_mobile_onspindown(); + } + } + else { + if (fromObject.id == "calendarspinupbutton") { + this._on_spin_onspinup(); + } + else if (fromObject.id == "calendarspindownbutton") { + this._on_spin_onspindown(); + } + } + } + else { + var parentObject = fromComp.parent; + + if (fromObject.id == "spinupbutton") { + parentObject._on_spin_up(); + } + else if (fromObject.id == "spindownbutton") { + parentObject._on_spin_down(); + } + else if (fromObject.id == "nextbutton") { + this.datepicker._on_button_onnextlbuttondown(); + } + else if (fromObject.id == "prevbutton") { + this.datepicker._on_button_onprevlbuttondown(); + } + } + }; + + _pCalendar._on_beforerepeat = function (refer_comp) { + if (this._type == "spin") { + if (refer_comp == this.calendarspindownbutton || refer_comp == this.calendarspinupbutton) { + return [true, true]; + } + } + else { + var datepicker = this.datepicker; + if (datepicker) { + return datepicker._on_beforerepeat(refer_comp); + } + } + + return [false, true]; + }; + + _pCalendar._convertValueType = function (v, dateobj, bapplyrule) { + var ret, datatyperule; + if (bapplyrule) { + datatyperule = nexacro._getDatatypeRule(); + if (datatyperule == "1.0") { + return v; + } + } + + ret = (dateobj === undefined || dateobj === null) ? dateobj : nexacro._toString(dateobj); + + return ret; + }; + + _pCalendar._setValue = function (v) { + var maskobj = this._masktypeobj; + if (maskobj) { + v = maskobj.changeNormalizeValue(v); + this.value = v; + this.on_apply_value(v); + } + }; + + _pCalendar._setSpinValue = function (value, text, pos) { + this._default_value = value; + this.text = this._default_text = text; + + var calendaredit = this.calendaredit; + if (calendaredit) { + calendaredit._setSpinValue(text, pos); + } + }; + + _pCalendar._setCalendarEditValue = function (value) { + var calendaredit = this.calendaredit; + if (calendaredit) { + calendaredit._setValue(value); + if (nexacro._enableaccessibility) { + this._accessibilityvalue = calendaredit.text; + this._updateAccessibilityLabel(); + calendaredit._updateAccessibilityLabel(); + } + } + }; + + _pCalendar._setDatePickerValue = function (value) { + var datepicker = this.datepicker; + if (datepicker) { + datepicker._setValue(value); + } + }; + + _pCalendar._setLocale = function (v) { + if (!this.locale && v != this._locale) { + this._locale = v; + this.on_apply_locale(v); + this.on_apply_weekformat(this.weekformat); + this.on_apply_value(this.value); + } + }; + + _pCalendar._setInnerDatasetStr = function (str) { + this._removeEventHandlerToInnerDataset(); + + if (!str) { + this._innerdataset = null; + this.innerdataset = ""; + } + else { + str = str.replace("@", ""); + this._innerdataset = this._findDataset(str); + this.innerdataset = str; + } + }; + + _pCalendar._setDefaultCaret = function () { + var edit = this.calendaredit; + if (edit && this._type != "system" && nexacro._checkActiveElement(edit._input_element)) { + edit.setCaretPos(0); + } + }; + + _pCalendar._setFocusToNextComponent = function () { + var root_comp = this._getRootComponent(this); + var next_comp = this._getForm().getNextComponent(root_comp, true); + if (next_comp) { + next_comp.setFocus(); + if (!next_comp.autoselect && next_comp._is_editable_control) { + next_comp._setDefaultCaret(); + } + } + }; + + _pCalendar._setEventHandlerToCalendarEdit = function () { + var calendaredit = this.calendaredit; + if (calendaredit) { + calendaredit._setEventHandler("onkeydown", this._on_edit_onkeydown, this); + calendaredit._setEventHandler("onlbuttondown", this._on_edit_onlbuttondown, this); + calendaredit._setEventHandler("onlbuttonup", this._on_edit_onlbuttonup, this); + calendaredit._setEventHandler("oneditclick", this._on_edit_oneditclick, this); + calendaredit._setEventHandler("oninput", this._on_edit_oninput, this); + } + }; + + _pCalendar._setEventHandlerToDropButton = function () { + var dropbutton = this.dropbutton; + if (dropbutton) { + var bMobile = (nexacro._isTouchInteraction && nexacro._SupportTouch); + if (bMobile) { + if (this._type == "system") { + dropbutton._setEventHandler("onclick", this._on_edit_oneditclick, this); + } + else { + dropbutton._setEventHandler("onclick", this._on_drop_mobile_onclick, this); + } + } + else { + dropbutton._setEventHandler("onclick", this._on_drop_onclick, this); + dropbutton._setEventHandler("onlbuttondown", this._on_drop_onlbuttondown, this); + } + } + }; + + _pCalendar._setEventHandlerToSpinButton = function () { + var bMobile = (nexacro._isTouchInteraction && nexacro._SupportTouch); + + var spinupbutton = this.calendarspinupbutton; + if (spinupbutton) { + if (bMobile) { + spinupbutton._setEventHandler("onclick", this._on_spin_mobile_onspinup, this); + } + else { + spinupbutton._setEventHandler("onclick", this._on_spin_onspinup, this); + } + } + + + var spindownbutton = this.calendarspindownbutton; + if (spindownbutton) { + if (bMobile) { + spindownbutton._setEventHandler("onclick", this._on_spin_mobile_onspindown, this); + } + else { + spindownbutton._setEventHandler("onclick", this._on_spin_onspindown, this); + } + } + }; + + _pCalendar._setEventHandlerToDatePicker = function () { + var datepicker = this.datepicker; + if (datepicker) { + datepicker._setEventHandler("ondayclick", this._on_datepicker_ondayclick, this); + datepicker._setEventHandler("oncloseup", this._on_datepicker_oncloseup, this); + } + }; + + _pCalendar._getDateMaskObj = function () { + return this._masktypeobj; + }; + + _pCalendar._getFormatType = function () { + var maskobj = this._masktypeobj; + if (maskobj) { + return maskobj.getEditFormatType(); + } + + return; + }; + + _pCalendar._getCurrentDate = function () { + var maskobj = this._masktypeobj; + if (maskobj) { + return maskobj.getCurrentDate(); + } + + return; + }; + + _pCalendar._getCurrentDateStr = function () { + var maskobj = this._masktypeobj; + if (maskobj) { + var currDate = maskobj.getCurrentDate(); + if (currDate) { + var year = nexacro._toString(currDate.year).padLeft(4, "0"); + var month = nexacro._toString(currDate.month).padLeft(2, "0"); + var day = nexacro._toString(currDate.day).padLeft(2, "0"); + var type = maskobj.getEditFormatType(); + var val = ""; + switch (type) { + case 0: + val = year + month + day; + break; + case 1: + val = "000000000"; + break; + case 2: + val = year + month + day + "000000000"; + } + return maskobj.applyMask(val); + } + } + + return ""; + }; + + _pCalendar._getEndDay = function (y, m) { + var maskobj = this._masktypeobj; + if (maskobj) { + return maskobj.getEndDay(y, m); + } + + return; + }; + + _pCalendar._getPopupSizeArr = function () { + var size = this.popupsize; + if (!size) { + size = "200 220"; + } + + size = size.split(/\s+/); + + var width = +size[0]; + var height = size[1] ? +size[1] : width; + + return { + width : width, + height : height + }; + }; + + _pCalendar._getElementPosition = function () { + return nexacro._getElementPositionInFrame(this.getElement()); + }; + + _pCalendar._getEventInfoText = function (v) { + var ret = ""; + var maskobj = this._masktypeobj; + if (maskobj) { + var cur_status = maskobj.getEditStatus(); + + maskobj.setEditStatus(false); + var binvalid = this._isInvalidValue(v); + if (binvalid) { + ret = maskobj.applyMask(""); + } + else { + ret = maskobj.applyMask(v); + } + + maskobj.setEditStatus(cur_status); + } + + return ret; + }; + + _pCalendar._isPopupVisible = function () { + var ret = false; + if (this.type != "monthonly") { + if (this._popupcontrol) { + ret = this._popupcontrol.visible; + } + } + return ret; + }; + + _pCalendar._applyAllProps = function () { + this.on_apply_innerdataset(this._innerdataset); + this.on_apply_locale(this._getLocale()); + this.on_apply_weekformat(this.weekformat); + this.on_apply_readonly(this.readonly); + + this.on_apply_editformat(this.editformat); + this.on_apply_dateformat(this.dateformat); + this.on_apply_value(this.value); + }; + + _pCalendar._applyDatePickerProps = function () { + var maskobj = this._masktypeobj; + + var datepicker = this.datepicker; + if (datepicker) { + datepicker._setEnable(this.enable); + datepicker.set_readonly(this.readonly); + + datepicker._setValue(maskobj.getDatePickerValue()); + } + }; + + _pCalendar._makeCalendarText = function (value) { + if (!value) { + return ""; + } + + var val_str = value.toString(); + var oldformat = this._currentformat; + this._currentformat = "dateformat"; + + var date = this._makeMaskValue(val_str); + var mask = this._makeMask("dateformat", this._makeDateObj(value)); + var txt_idx = 0; + var return_txt = ""; + var matchStr = "yMdHhmsl"; + + + this._currentformat = oldformat; + + for (var i = 0, n = mask.length; i < n; i++) { + var mask_ch = mask.charAt(i); + + if (matchStr.indexOf(mask_ch) >= 0) { + return_txt += date.charAt(txt_idx); + txt_idx++; + } + else { + if (mask_ch === "~" || mask_ch === "^") { + return_txt += date.charAt(txt_idx); + txt_idx++; + } + else { + return_txt += mask_ch; + } + } + } + return return_txt; + }; + + _pCalendar._isValidDate = function (val, editmask_type) { + var y, M, d; + var h, m, s, ss; + + switch (editmask_type) { + case 0: + y = val.substr(0, 4); + M = val.substr(4, 2); + d = val.substr(6, 2); + break; + case 1: + h = val.substr(0, 2); + m = val.substr(2, 2); + s = val.substr(4, 2); + ss = val.substr(6, 3); + break; + case 2: + y = val.substr(0, 4); + M = val.substr(4, 2); + d = val.substr(6, 2); + h = val.substr(8, 2); + m = val.substr(10, 2); + s = val.substr(12, 2); + ss = val.substr(14, 3); + break; + } + + if ((y && isNaN(y = +y)) || (M && isNaN(M = +M)) || (d && isNaN(d = +d)) || (h && isNaN(h = +h)) || (m && isNaN(m = +m)) || (s && isNaN(s = +s)) || (ss && isNaN(ss = +ss))) { + return false; + } + + var maskobj = this._masktypeobj; + + var maxDay = maskobj.getEndDay(y, M); + + if ((editmask_type != 1 && !maxDay) || (M && (+M > 12)) || (d && (+d > maxDay)) || (h && (+h >= 24)) || (m && (+m >= 60)) || (s && (+s >= 60)) || (ss && (+ss >= 1000))) { + return false; + } + + return true; + }; + + _pCalendar._isInvalidValue = function (v) { + if (nexacro._isNull(v) || v === "") { + return false; + } + + var dateobj; + if (v instanceof Date || v instanceof nexacro.Date) { + dateobj = v; + } + else { + dateobj = this._convertToDateObject(v); + } + + if (dateobj) { + if (dateobj._isInvalidDate ? dateobj._isInvalidDate() : isNaN(dateobj.valueOf())) { + return true; + } + + var year = dateobj.getFullYear(); + if (year < 0 || year > 9999) { + return true; + } + } + + return false; + }; + + + _pCalendar._convertToDateObject = function (v) { + if (nexacro._isNull(v) || v === "") { + return null; + } + + var dateobj; + var maskobj = this._masktypeobj; + var editformattype = maskobj.getEditFormatType(); + if (editformattype < 0) { + if (this.editformat) { + this.on_apply_editformat(this.editformat); + } + + editformattype = maskobj.getEditFormatType(); + } + + if (v instanceof Date || v instanceof nexacro.Date) { + dateobj = v; + } + else { + v = nexacro._toString(v); + + if (/[^0-9]/.test(v)) { + dateobj = new Date(v); + } + else { + dateobj = maskobj.convertToDateObject(v, editformattype); + } + } + + if (dateobj) { + if (isNaN(dateobj.valueOf())) { + return dateobj; + } + + switch (editformattype) { + case 0: + dateobj = new nexacro.Date(dateobj.getFullYear(), dateobj.getMonth(), dateobj.getDate()); + break; + case 1: + dateobj = new nexacro.Date(dateobj.getFullYear(), dateobj.getMonth(), dateobj.getDate(), dateobj.getHours(), dateobj.getMinutes(), dateobj.getSeconds(), dateobj.getMilliseconds()); + dateobj._timeonly = true; + break; + case 2: + dateobj = new nexacro.Date(dateobj.getFullYear(), dateobj.getMonth(), dateobj.getDate(), dateobj.getHours(), dateobj.getMinutes(), dateobj.getSeconds(), dateobj.getMilliseconds()); + break; + default: + break; + } + } + + return dateobj; + }; + + _pCalendar._on_getDisplayText = function () { + var calendaredit = this.calendaredit; + if (calendaredit) { + return calendaredit._on_getDisplayText(); + } + }; + + delete _pCalendar; + + nexacro._CalendarDropButtonControl = function (id, left, top, width, height, right, bottom, minwidth, maxwidth, minheight, maxheight, parent) { + nexacro.Button.call(this, id, left, top, width, height, right, bottom, minwidth, maxwidth, minheight, maxheight, parent); + }; + + var _pCalendarDropButtonControl = nexacro._createPrototype(nexacro.Button, nexacro._CalendarDropButtonControl); + nexacro._CalendarDropButtonControl.prototype = _pCalendarDropButtonControl; + _pCalendarDropButtonControl._type_name = "ButtonControl"; + _pCalendarDropButtonControl._is_subcontrol = true; + + _pCalendarDropButtonControl.on_focus_basic_action = function (self_flag, evt_name, lose_focus, refer_lose_focus, new_focus, refer_new_focus) { + var calendar = this.parent; + if (calendar) { + var bMobile = (nexacro._isTouchInteraction && nexacro._SupportTouch); + if (bMobile) { + nexacro.Component.prototype.on_focus_basic_action.call(this, self_flag, evt_name, lose_focus, refer_lose_focus, new_focus, refer_new_focus); + } + else { + calendar._apply_setfocus(evt_name); + } + } + }; + + _pCalendarDropButtonControl._on_click = function (elem, button, alt_key, ctrl_key, shift_key, canvasX, canvasY, screenX, screenY) { + if (!this._is_alive) { + return; + } + + if (this.visible && this.parent._isEnable() && this.enableevent) { + var clientXY = this._getClientXY(canvasX, canvasY); + this.on_fire_onclick(button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientXY[0], clientXY[1], this, this); + this.on_click_basic_action(elem, button, alt_key, ctrl_key, shift_key, canvasX, canvasY, screenX, screenY); + } + }; + + delete _pCalendarDropButtonControl; + + nexacro._CalendarSpinButtonControl = function (id, left, top, width, height, right, bottom, minwidth, maxwidth, minheight, maxheight, parent) { + nexacro.Button.call(this, id, left, top, width, height, right, bottom, minwidth, maxwidth, minheight, maxheight, parent); + }; + + var _pCalendarSpinButtonControl = nexacro._createPrototype(nexacro.Button, nexacro._CalendarSpinButtonControl); + nexacro._CalendarSpinButtonControl.prototype = _pCalendarSpinButtonControl; + _pCalendarSpinButtonControl._type_name = "ButtonControl"; + _pCalendarSpinButtonControl._is_subcontrol = true; + + _pCalendarSpinButtonControl.on_focus_basic_action = function (self_flag, evt_name, lose_focus, refer_lose_focus, new_focus, refer_new_focus) { + var calendar = this.parent; + if (calendar) { + calendar._apply_setfocus(evt_name); + } + }; + + delete _pCalendarSpinButtonControl; + + nexacro._CalendarEditControl = function (id, left, top, width, height, right, bottom, minwidth, maxwidth, minheight, maxheight, parent, onlydisplay) { + nexacro.MaskEdit.call(this, id, left, top, width, height, right, bottom, minwidth, maxwidth, minheight, maxheight, parent, onlydisplay); + }; + + var _pCalendarEditControl = nexacro._createPrototype(nexacro.MaskEdit, nexacro._CalendarEditControl); + nexacro._CalendarEditControl.prototype = _pCalendarEditControl; + _pCalendarEditControl._type_name = "MaskEditControl"; + _pCalendarEditControl._is_subcontrol = true; + + _pCalendarEditControl._prevent_clickevent = true; + + _pCalendarEditControl.on_created_contents = function (win) { + var input_elem = this._input_element; + if (input_elem) { + this.on_apply_value(this.value); + + input_elem.create(win); + + if (nexacro._isNull(this.value)) { + this._changeUserStatus("nulltext", true); + } + else { + this._changeUserStatus("nulltext", false); + if (this._isInvalidValue(this.value)) { + this._changeUserStatus("invalidtext", true); + } + else { + this._changeUserStatus("invalidtext", false); + } + } + } + this.on_apply_displaynulltext(this.displaynulltext); + this.on_apply_displayinvalidtext(this.displayinvalidtext); + }; + + _pCalendarEditControl.on_create_contents_command = function () { + var input_elem = this._input_element; + + if (input_elem) { + this.on_apply_value(this.value); + + return input_elem.createCommand(); + } + + return ""; + }; + + + _pCalendarEditControl.on_keydown_default_action = function (keycode, alt_key, ctrl_key, shift_key, refer_comp) { + if (this.readonly || !this._isEnable()) { + return; + } + + var input_elem = this._input_element; + if (input_elem) { + var maskobj = this._getMaskObj(); + + var input_value = input_elem.value; + var pos = input_elem.getElementCaretPos(); + var idx, ch; + + if (keycode == nexacro.KeyCode_ImeInput) { + input_elem.stopSysEvent(); + } + else if (keycode == nexacro.Event.KEY_BACKSPACE) { + if (maskobj && input_value) { + if (pos.end > 0 && pos.begin == pos.end) { + idx = pos.end - 1; + while ((ch = input_value.charAt(idx))) { + if (maskobj.isDeletableChar(ch, idx) || idx == 0) { + break; + } + idx--; + } + + maskobj._is_filled = false; + + if (idx != (pos.end - 1)) { + input_elem.setElementSetSelect(idx + 1, idx + 1); + } + } + } + } + else if (keycode == nexacro.Event.KEY_DEL) { + if (maskobj && input_value) { + var len = input_value.length; + if (pos.end < len && pos.begin == pos.end) { + idx = pos.end; + while ((ch = input_value.charAt(idx))) { + if (maskobj.isDeletableChar(ch, idx) || idx == len) { + break; + } + idx++; + } + + maskobj._is_filled = false; + + if (idx != pos.end) { + input_elem.setElementSetSelect(idx, idx); + } + } + } + } + } + }; + + _pCalendarEditControl.on_keyinput_basic_action = function () { + if (this.readonly || !this._isEnable()) { + return false; + } + + var input_elem = this._input_element; + if (input_elem) { + var input_value = input_elem.value; + var input_text = input_value ? input_value : ""; + + var maskobj = this._getMaskObj(); + if (maskobj) { + if (maskobj._editmasked_empty_text == input_text) { + input_value = ""; + } + else { + if (maskobj._use_edit_buf) { + input_value = maskobj.changeNormalizeValueFromBuffer(); + } + else { + input_value = maskobj.removeMask(input_text.split('')); + input_value = maskobj.changeNormalizeValue(input_value); + } + } + } + + if (!input_value && !this._default_value) { + this.value = this._default_value; + } + else { + this.value = input_value; + } + + this.text = input_text; + + if (this._undostack) { + var pos = input_elem.getElementCaretPos(); + if (pos && pos != -1) { + this._undostack.push(input_text, pos.begin, pos.end); + } + else { + this._undostack.push(input_text, 0, 0); + } + } + } + }; + + _pCalendarEditControl._beforeinput_process_with_HTMLEvent = function (value, status, begin, end, inputType) { + var input_elem = this._input_element; + var maskobj = this._getMaskObj(); + var ret = []; + if (maskobj) { + var input_value = input_elem._getInputValue(); + var front_text, rear_text, update_value, result, input_pos; + + switch (inputType) { + case "deleteContentBackward": + if (begin == end) { + front_text = input_value.substring(0, begin - 1); + rear_text = input_value.substring(end); + + update_value = front_text + rear_text; + result = maskobj.arrangeMask(update_value, begin - 1, begin - 1); + + input_elem._beforeinput_result_data = result.text; + input_elem._beforeinput_result_pos = { + begin : result.pos, + end : result.pos + }; + } + else { + front_text = input_value.substring(0, begin); + rear_text = input_value.substring(end); + + update_value = front_text + rear_text; + if ((end - begin == input_value.length)) { + input_elem._beforeinput_result_data = maskobj.applyMask(update_value); + input_elem._beforeinput_result_pos = { + begin : begin, + end : begin + }; + } + else { + result = maskobj.arrangeMask(update_value, begin, begin); + + input_elem._beforeinput_result_data = result.text; + input_elem._beforeinput_result_pos = { + begin : result.pos, + end : result.pos + }; + } + } + + ret.push(input_elem._BeforeinputState.REPLACE); + break; + case "deleteContentForward": + if (begin == end) { + front_text = input_value.substring(0, begin); + rear_text = input_value.substring(end + 1); + + update_value = front_text + rear_text; + result = maskobj.arrangeMask(update_value, begin, begin); + + input_elem._beforeinput_result_data = result.text; + input_elem._beforeinput_result_pos = { + begin : result.pos, + end : result.pos + }; + } + else { + front_text = input_value.substring(0, begin); + rear_text = input_value.substring(end); + + update_value = front_text + rear_text; + if ((end - begin == input_value.length)) { + input_elem._beforeinput_result_data = maskobj.applyMask(update_value); + input_elem._beforeinput_result_pos = { + begin : begin, + end : begin + }; + } + else { + result = maskobj.arrangeMask(update_value, begin, begin); + + input_elem._beforeinput_result_data = result.text; + input_elem._beforeinput_result_pos = { + begin : result.pos, + end : result.pos + }; + } + } + + ret.push(input_elem._BeforeinputState.REPLACE); + break; + case "deleteByCut": + if (begin == end) { + } + else { + front_text = input_value.substring(0, begin); + rear_text = input_value.substring(end); + + update_value = front_text + rear_text; + if ((end - begin == input_value.length)) { + input_elem._beforeinput_result_data = maskobj.applyMask(update_value); + input_elem._beforeinput_result_pos = { + begin : begin, + end : begin + }; + } + else { + result = maskobj.arrangeMask(update_value, begin, begin); + + input_elem._beforeinput_result_data = result.text; + input_elem._beforeinput_result_pos = { + begin : result.pos, + end : result.pos + }; + } + } + + ret.push(input_elem._BeforeinputState.REPLACE); + break; + case "insertText": + case "insertCompositionText": + value = value ? value : ""; + input_pos = maskobj.findNearEditablePos(begin, 1); + if (input_pos < 0 || maskobj.isFilterChar(value, input_pos, end)) { + ret.push(input_elem._BeforeinputState.CANCEL); + } + else { + if (begin == end) { + update_value = input_value.substring(0, begin) + value + input_value.substring(end); + end = end + value.length; + } + else { + var append_value = value + "".padLeft(end - value.length, " "); + update_value = input_value.substring(0, begin) + append_value + input_value.substring(begin); + end = append_value.length; + } + + result = maskobj.arrangeMask(update_value, begin, end); + if (result == null) { + ret.push(input_elem._BeforeinputState.CANCEL); + } + else { + input_pos = maskobj.findNearEditablePos(begin + value.length, 1); + + input_elem._beforeinput_result_data = result.text; + input_elem._beforeinput_result_pos = { + begin : input_pos, + end : input_pos + }; + + ret.push(input_elem._BeforeinputState.REPLACE); + } + } + break; + case "insertFromPaste": + input_pos = maskobj.findNearEditablePos(begin, 1); + if (input_pos < 0 || maskobj.isFilterChar(value, input_pos)) { + ret.push(input_elem._BeforeinputState.CANCEL); + } + else { + if (begin == end) { + update_value = input_value.substring(0, begin) + value + input_value.substring(end); + end = end + value.length; + } + else { + update_value = input_value.substring(0, begin) + (value + "".padLeft(" ", end - value.length)) + input_value.substring(begin); + end = begin + value.length; + } + + result = maskobj.arrangeMask(update_value, begin, end); + if (result == null) { + ret.push(input_elem._BeforeinputState.CANCEL); + } + else { + input_pos = maskobj.findNearEditablePos(result.pos, 1); + + input_elem._beforeinput_result_data = result.text; + input_elem._beforeinput_result_pos = { + begin : input_pos, + end : input_pos + }; + + ret.push(input_elem._BeforeinputState.REPLACE); + } + } + break; + default: + ret.push(input_elem._BeforeinputState.PASS); + break; + } + } + + return ret; + }; + + _pCalendarEditControl._beforeinput_process_with_NexacroInputEvent = function (value, status, begin, end) { + var input_elem = this._input_element; + if (input_elem) { + var input_pos = 0; + var input_text = value ? value : ""; + var inputtype = input_elem.inputtype; + + var maskobj = this._getMaskObj(); + if (maskobj) { + if (inputtype == "date") { + if (maskobj.getCurrentText() != input_text) { + value = maskobj.removeMask(input_text.split('')); + maskobj.applyMask(value); + } + } + else { + var result = maskobj.arrangeMask(input_text, begin, end); + if (result == null) { + input_elem.replaceElementText("", begin, end); + input_elem.stopSysEvent(); + } + else { + if (begin < end) { + var insert_text = input_text.substring(begin, end); + var new_text = maskobj.removeMask(result.text.split('')); + + var calendar = this.parent; + if (calendar) { + if (!calendar._isValidDate(new_text, maskobj.getEditFormatType())) { + input_elem.replaceElementText("", begin, begin + insert_text.length); + input_elem.stopSysEvent(); + return; + } + } + } + + input_pos = maskobj.findNearEditablePos(result.pos, 1); + + if (result.text != input_text || result.pos != input_pos) { + input_elem.updateElementText(result.text, input_pos); + } + } + } + } + } + }; + + _pCalendarEditControl._isInvalidValue = function (v) { + return this.parent._isInvalidValue(v); + }; + + + _pCalendarEditControl._setSpinValue = function (v, pos) { + var input_elem = this._input_element; + if (input_elem) { + input_elem.setCompositionComplete(); + if (!this._onlydisplay) { + input_elem.updateElementText(v, pos); + } + if (nexacro._enableaccessibility) { + this._setAccessibilityLabel(v); + } + } + }; + + _pCalendarEditControl._getMaskObj = function () { + var calendar = this.parent; + if (calendar) { + return calendar._masktypeobj; + } + return null; + }; + + _pCalendarEditControl._getEmptyText = function () { + var maskobj = this._getMaskObj(); + if (maskobj) { + return maskobj.getEmptyText(); + } + + return ""; + }; + + nexacro._CalendarPopupControl = function (id, left, top, width, height, right, bottom, minwidth, maxwidth, minheight, maxheight, parent) { + nexacro.PopupControl.call(this, id, left, top, width, height, right, bottom, minwidth, maxwidth, minheight, maxheight, parent); + }; + + var _pCalendarPopupControl = nexacro._createPrototype(nexacro.PopupControl, nexacro._CalendarPopupControl); + nexacro._CalendarPopupControl.prototype = _pCalendarPopupControl; + _pCalendarPopupControl._type_name = "popupCalendar"; + + + _pCalendarPopupControl._is_subcontrol = true; + + _pCalendarPopupControl._getPopupParentPos = function () { + var calendar = this.parent; + var calendar_size = [calendar._adjust_width, calendar._adjust_height]; + var calendar_elem_pos = nexacro._getElementPositionInFrame(calendar.getElement()); + + return { + "x" : calendar_elem_pos.x, + "y" : calendar_elem_pos.y, + "width" : calendar_size[0], + "height" : calendar_size[1], + "xgap" : 0, + "ygap" : 0 + }; + }; + + delete _pCalendarPopupControl; +} diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/nexacro17lib/component/ComComp/Cell.js b/nexacro-spring/src/main/webapp/deploy/_web_/nexacro17lib/component/ComComp/Cell.js new file mode 100644 index 0000000..e60237b --- /dev/null +++ b/nexacro-spring/src/main/webapp/deploy/_web_/nexacro17lib/component/ComComp/Cell.js @@ -0,0 +1,7596 @@ +//============================================================================== +// +// TOBESOFT Co., Ltd. +// Copyright 2017 TOBESOFT Co., Ltd. +// All Rights Reserved. +// +// NOTICE: TOBESOFT permits you to use, modify, and distribute this file +// in accordance with the terms of the license agreement accompanying it. +// +// Readme URL: http://www.nexacro.co.kr/legal/nexacro17-public-license-readme-1.1.html +// +//============================================================================== + +if (!nexacro.CellInfo) { + nexacro.CellInfo = function (id, parent, view, type, idx) { + this.parent = parent; + this.id = this.name = id; + this._type = type; + this._view = view; + this._cellidx = idx; + this._col = 0; + this._colspan = 0; + this._row = 0; + this._rowspan = 0; + this._area = ""; + this._endcol = false; + this._subcells = []; + this._isSubCell = false; + this._maskstringtypeobj = new nexacro._EditMaskTypeString(); + this._masknumbertypeobj = new nexacro._GridMaskTypeNumber(); + this._key_direction = null; + this._blinked_status = []; + + this._allocatePropertys(this._property_map); + }; + + var _pCellInfo = nexacro._createPrototype(nexacro.Object, nexacro.CellInfo); + nexacro.CellInfo.prototype = _pCellInfo; + _pCellInfo._type_name = "CellInfo"; + + nexacro._CELLINFO_PMAP_PROPNAME = 0; + nexacro._CELLINFO_PMAP_CTRLPROPNAME = 1; + nexacro._CELLINFO_PMAP_EXPRBIND = 2; + nexacro._CELLINFO_PMAP_DEFTVALUE = 3; + nexacro._CELLINFO_PMAP_STYLE = 4; + nexacro._CELLINFO_PMAP_VALTYPE = 5; + nexacro._CELLINFO_PMAP_ENUMVAL = 6; + + _pCellInfo._property_map = []; + _pCellInfo._property_map_cell = [["cssclass", null, true, "", true], ["displaytype", null, true, "normal", false], ["edittype", null, true, "none", false], ["tooltiptype", null, false, "default", false], ["tooltiptext", null, true, undefined, false], ["autosizecol", null, false, "default", false, 2, ["none", "limitmin", "limitmax", "default"]], ["autosizerow", null, false, "default", false, 2, ["none", "limitmin", "limitmax", "default"]], ["displayexpdec", null, true, -1, false, 0], ["locale", null, true, "", false], ["text", null, true, null, false], ["expr", null, true, null, false], ["subsumtext", null, true, null, false], ["controlautosizingtype", null, true, "both", false, 2, ["none", "width", "height", "both"]], ["checkboxsize", null, true, -1, false, 0], ["rtl", "rtl", true, undefined, false], ["accessibilityaction", "accessibilityaction", false, null, false], ["accessibilitydesclevel", "accessibilitydesclevel", false, "all", false], ["accessibilitydescription", "accessibilitydescription", false, null, false], ["accessibilityenable", "accessibilityenable", true, true, false, 1], ["accessibilitylabel", "accessibilitylabel", true, null, false], ["accessibilityrole", "accessibilityrole", false, "gridcell", false], ["color", "color", false, null, true], ["font", "font", false, null, true], ["wordSpacing", "wordSpacing", false, null, true], ["letterSpacing", "letterSpacing", false, null, true], ["textDecoration", "textDecoration", false, null, true], ["wordWrap", null, true, null, true], ["borderRadius", "borderRadius", false, null, true], ["border", "border", false, null, true], ["background", "background", false, null, true], ["edge", "edge", false, null, true], ["cursor", "cursor", false, null, true], ["opacity", "opacity", false, null, true], ["boxShadow", "boxShadow", false, null, true], ["padding", "padding", false, null, true], ["textAlign", "textAlign", false, null, true], ["verticalAlign", "verticalAlign", false, null, true] + ]; + + _pCellInfo._property_map_checkbox = [["checkboxtruevalue", "truevalue", true, null, false], ["checkboxfalsevalue", "falsevalue", true, null, false] + ]; + + _pCellInfo._property_map_edit = [["editmaxlength", null, true, -1, false, 0], ["editautoselect", "autoselect", true, false, false], ["editautoskip", "autoskip", true, false, false], ["editimemode", "imemode", true, "none", false, 2, ["none", "alpha", "alpha,full", "hangul", "hangul,full", "katakana", "katakana,full", "hiragana", "direct"]], ["edituseime", "useime", true, "global", false, 2, ["global", "local", "local,keep", "none"]], ["editinputfilter", "inputfilter", true, "none", false], ["editinputmode", "inputmode", true, "normal", false], ["editinputtype", "inputtype", true, "normal", false] + ]; + + _pCellInfo._property_map_maskedit = [["maskeditautoselect", "autoselect", true, false, false], ["maskeditlimitbymask", "limitbymask", true, "decimal", false, 2, ["none", "integer", "decimal", "both"]], ["maskeditformat", "format", true, "", false], ["maskeditmaskchar", "maskchar", false, "_", false], ["maskeditclipmode", "clipmode", true, "includespace", false, 2, ["includespace", "excludespace"]], ["maskeditautoskip", "autoskip", true, false, false], ["maskedittrimtype", "trimtype", true, "none", false, 2, ["none", "left", "righ", "both"]], ["maskedittype", "type", true, "number", false, 2, ["number", "string"]] + ]; + + _pCellInfo._property_map_textarea = [["textareaacceptsenter", null, true, false, false], ["textareaacceptstab", null, true, false, false], ["textareamaxlength", null, true, -1, false, 0], ["textareaautoselect", "autoselect", true, false, false], ["textareaimemode", "imemode", true, "none", false, 2, ["none", "alpha", "alpha,full", "hangul", "hangul,full", "katakana", "katakana,full", "hiragana", "direct"]], ["textareainputfilter", "inputfilter", true, "none", false], ["textareainputmode", "inputmode", true, "normal", false], ["textareainputtype", "inputtype", true, "normal", false], ["textareascrollbarsize", null, true, undefined, false, 0], ["textareascrollbartype", null, true, "auto", false], ["textareascrolltype", null, true, "both", false, 2, ["none", "both", "horizontal", "vertical"]], ["textareaautoskip", "autoskip", true, false, false], ["textareauseime", "useime", true, "global", false, 2, ["global", "local", "local,keep", "none"]] + ]; + + _pCellInfo._property_map_combo = [["combocodecol", "codecolumn", true, "", false], ["combodatacol", "datacolumn", true, "", false], ["combodataset", "innerdataset", true, "", false], ["combodisplaynulltext", null, true, "", false], ["combodisplaynulltype", null, true, "none", false, 2, ["none", "nulltext"]], ["combodisplayrowcount", "displayrowcount", true, undefined, false, 0], ["combotype", "type", true, "dropdown", false, 2, ["dropdown", "search", "filter", "filterlike", "caseisearch", "caseifilter", "caseifilterlike"]], ["comboitemheight", "itemheight", true, undefined, false, 0], ["combopopuptype", null, true, "", false, 2, ["normal", "center", "system", "none"]], ["comboscrollbarsize", null, true, undefined, false, 0], ["combobuttonsize", null, true, undefined, false], ["comboautoselect", "autoselect", true, false, false], ["comboimemode", "imemode", true, "none", false, 2, ["none", "alpha", "alpha,full", "hangul", "hangul,full", "katakana", "katakana,full", "hiragana", "direct"]], ["combopopupsize", null, true, undefined, false] + ]; + + _pCellInfo._property_map_calendar = [["calendardisplaynulltext", null, true, "", false], ["calendardisplaynulltype", null, true, "default", false, 2, ["default", "none", "nulltext", "nullmask"]], ["calendardisplayinvalidtext", null, true, "invalid value", false], ["calendardisplayinvalidtype", null, true, "default", false, 2, ["default", "none", "invalidtext"]], ["calendarbackgroundcolumn", "backgroundcolumn", true, "", false], ["calendarbordercolumn", "bordercolumn", true, "", false], ["calendardatecolumn", "datecolumn", true, "", false], ["calendartextcolorcolumn", "textcolorcolumn", true, "", false], ["calendardaysize", "daysize", true, undefined, false], ["calendarheadformat", "headformat", true, "yyyy.MM", false], ["calendardateformat", null, true, "yyyy-MM-dd ddd", false], ["calendareditformat", null, true, "yyyy-MM-dd", false], ["calendarweekformat", "weekformat", true, undefined, false], ["calendarpopupsize", null, true, undefined, false], ["calendarpopuptype", null, true, undefined, false, 2, ["normal", "center", "system", "none"]], ["calendarbuttonsize", null, true, undefined, false], ["calendarheadheight", "headheight", true, undefined, false, 0], ["calendarshowmonthspin", "showmonthspin", true, false, false, 1], ["calendarshowyearspin", "showyearspin", true, false, false, 1], ["calendartype", "type", true, "normal", false], ["calendarusetrailingday", "usetrailingday", true, false, false], ["calendarautoselect", "autoselect", true, false, false] + ]; + + _pCellInfo._property_map_progressbar = [["progressbarblockgap", "blockgap", true, undefined, false], ["progressbarblocksize", "blocksize", true, undefined, false], ["progressbardirection", "direction", true, "forward", false], ["progressbarsmooth", "smooth", true, false, false] + ]; + + _pCellInfo._property_map_image = [["imagestretch", "stretch", true, "none", false, 2, ["none", "fit", "fixaspectratio"]] + ]; + + _pCellInfo._property_map_tree = [["treecheck", null, true, "", false], ["treecollapseimage", null, true, "", false], ["treeexpandimage", null, true, "", false], ["treeitemimage", null, true, "", false], ["treelevel", null, true, "", false], ["treestartlevel", null, true, 0, false, 0], ["treestate", null, true, "", false] + ]; + + _pCellInfo._property_map_expand = [["expandchar", null, true, "", false], ["expandimage", null, true, "", false], ["expandshow", null, true, "hide", false, 2, ["hide", "show"]], ["expandsize", null, true, 16, false, 0] + ]; + + _pCellInfo._property_map = _pCellInfo._property_map.concat(_pCellInfo._property_map_cell); + _pCellInfo._property_map = _pCellInfo._property_map.concat(_pCellInfo._property_map_checkbox); + _pCellInfo._property_map = _pCellInfo._property_map.concat(_pCellInfo._property_map_edit); + _pCellInfo._property_map = _pCellInfo._property_map.concat(_pCellInfo._property_map_maskedit); + _pCellInfo._property_map = _pCellInfo._property_map.concat(_pCellInfo._property_map_textarea); + _pCellInfo._property_map = _pCellInfo._property_map.concat(_pCellInfo._property_map_combo); + _pCellInfo._property_map = _pCellInfo._property_map.concat(_pCellInfo._property_map_calendar); + _pCellInfo._property_map = _pCellInfo._property_map.concat(_pCellInfo._property_map_progressbar); + _pCellInfo._property_map = _pCellInfo._property_map.concat(_pCellInfo._property_map_image); + _pCellInfo._property_map = _pCellInfo._property_map.concat(_pCellInfo._property_map_tree); + _pCellInfo._property_map = _pCellInfo._property_map.concat(_pCellInfo._property_map_expand); + + _pCellInfo._setCellChildControlProperty = function (prefix, ctrl, datarow) { + var _property_map = this["_property_map_" + prefix]; + var v, prop, ctrlprop; + + for (var i = 0, n = _property_map.length; i < n; i++) { + ctrlprop = _property_map[i][nexacro._CELLINFO_PMAP_CTRLPROPNAME]; + if (ctrlprop != null) { + prop = _property_map[i][nexacro._CELLINFO_PMAP_PROPNAME]; + v = this._getAttrValue(this[prop], datarow); + ctrl["set_" + ctrlprop](v); + } + } + }; + + _pCellInfo._setCellControlProperty = function (cellcontrol, datarow) { + var _property_map = this._property_map_cell; + var v, prop, ctrlprop; + + for (var i = 0, n = _property_map.length; i < n; i++) { + ctrlprop = _property_map[i][nexacro._CELLINFO_PMAP_CTRLPROPNAME]; + if (ctrlprop != null) { + prop = _property_map[i][nexacro._CELLINFO_PMAP_PROPNAME]; + v = this._getAttrValue(this[prop], datarow); + cellcontrol["set_" + ctrlprop](v); + } + } + }; + + _pCellInfo._setCellControlPropertyForAutosize = function (cellcontrol, datarow) { + var _property_map = [["font", "font"], ["wordSpacing", "wordSpacing"], ["letterSpacing", "letterSpacing"], ["border", "border"], ["padding", "padding"] + ]; + var v, prop, ctrlprop; + + for (var i = 0, n = _property_map.length; i < n; i++) { + ctrlprop = _property_map[i][1]; + prop = _property_map[i][0]; + v = this._getAttrValue(this[prop], datarow); + cellcontrol["set_" + ctrlprop](v); + } + }; + + + _pCellInfo._use_displaytype_controls = ["buttoncontrol", "checkboxcontrol", "imagecontrol", "treeitemcontrol", "combocontrol", "calendarcontrol", "editcontrol", "maskeditcontrol", "textareacontrol", "progressbarcontrol" + ]; + + _pCellInfo._chkExistSubControl = function (displaytype) { + var usecontrols = this._use_displaytype_controls; + + for (var i = 0, n = usecontrols.length; i < n; i++) { + if (usecontrols[i] == displaytype) { + return displaytype; + } + } + return ""; + }; + + _pCellInfo._getDefaultPropVal = function (propname) { + var _property_map = this._property_map; + var prop, deft; + + for (var i = 0, n = _property_map.length; i < n; i++) { + prop = _property_map[i][nexacro._CELLINFO_PMAP_PROPNAME]; + deft = _property_map[i][nexacro._CELLINFO_PMAP_DEFTVALUE]; + + if (prop == propname) { + return deft; + } + } + return undefined; + }; + + _pCellInfo._allocatePropertys = function (_property_map) { + var prop, bind, deft; + for (var i = 0; i < _property_map.length; i++) { + prop = _property_map[i][nexacro._CELLINFO_PMAP_PROPNAME]; + bind = _property_map[i][nexacro._CELLINFO_PMAP_EXPRBIND]; + deft = _property_map[i][nexacro._CELLINFO_PMAP_DEFTVALUE]; + + if (bind) { + this[prop] = new nexacro.BindableValue(deft); + } + else { + this[prop] = deft; + } + } + }; + + nexacro._makeCellInfoPropertySetter = function (ptype_val, _property_map) { + var prop, bind, str, type, styl, eval_str = ""; + function enumjoin (arr) { + var str = "\"" + arr[0] + "\""; + for (var i = 1; i < arr.length; i++) { + str += ",\"" + arr[i] + "\""; + } + return str; + } + + for (var i = 0; i < _property_map.length; i++) { + prop = _property_map[i][nexacro._CELLINFO_PMAP_PROPNAME]; + bind = _property_map[i][nexacro._CELLINFO_PMAP_EXPRBIND]; + type = _property_map[i][nexacro._CELLINFO_PMAP_VALTYPE]; + styl = _property_map[i][nexacro._CELLINFO_PMAP_STYLE]; + + if (bind) { + str = "$PTYPE$.set_$ATTR$ = function (v)\n"; + str += "{\n"; + str += " if (v != this.$ATTR$._value)\n"; + str += " {\n"; + + if (type == 0) { + str += " this.$ATTR$._set_intval(v);\n"; + } + else if (type == 2) { + str += " this.$ATTR$._set_enumval(v, [" + enumjoin(_property_map[i][nexacro._CELLINFO_PMAP_ENUMVAL]) + "]);\n"; + } + else { + str += " this.$ATTR$._set(v);\n"; + } + + str += " this._afterProcBindTypeProp();\n"; + + if (styl) { + str += " this._changedStyle(\"" + prop + "\");\n"; + } + + str += " }\n"; + str += "};\n\n"; + } + else { + str = "$PTYPE$.set_$ATTR$ = function (v)\n"; + str += "{\n"; + + if (type == 2) { + str += " var val = this.$ATTR$;\n"; + str += " switch (v)\n"; + str += " {\n"; + + var arr = _property_map[i][nexacro._CELLINFO_PMAP_ENUMVAL]; + for (var j = 0; j < arr.length; j++) { + str += " case \"" + arr[j] + "\":\n"; + } + str += " val = v;\n"; + str += " }\n"; + str += " if (val != this.$ATTR$)\n"; + } + else { + str += " if (v != this.$ATTR$)\n"; + } + + str += " {\n"; + str += " this.$ATTR$ = v;\n"; + + if (styl) { + str += " this._changedStyle(\"" + prop + "\");\n"; + } + + str += " }\n"; + str += "};\n\n"; + } + str = str.replace(/\$PTYPE\$/g, ptype_val).replace(/\$ATTR\$/g, prop); + eval_str += str; + } + eval(eval_str); + }; + + nexacro._makeCellInfoPropertySetter("_pCellInfo", _pCellInfo._property_map); + + nexacro._makePropertyDesignSetter = function (ptype_val, _property_map) { + var prop; + var str = ""; + + for (var i = 0; i < _property_map.length; i++) { + prop = _property_map[i][nexacro._CELLINFO_PMAP_PROPNAME]; + + str += "$PTYPE$.design_set_" + prop + " = function (v)\n"; + str += "{\n"; + str += " try\n"; + str += " {\n"; + str += " this._refinfo.set_" + prop + "(v);\n"; + str += " this._updateAll();\n"; + str += " this._apply_normalproperty(\"" + prop + "\", v);\n"; + str += " }\n"; + str += " catch(e)\n"; + str += " {\n"; + str += " if (e.obj)\n"; + str += " {\n"; + str += " trace(e.message);\n"; + str += " }\n"; + str += " else\n"; + str += " {\n"; + str += " var msg = nexacro._getExceptionMessage(e);\n"; + str += " trace(msg);\n"; + str += " }\n"; + str += " }\n"; + str += "};\n\n"; + + str += "$PTYPE$.design_get_" + prop + " = function ()\n"; + str += "{\n"; + str += " var prop = this._refinfo." + prop + ";\n"; + str += " if (prop)\n"; + str += " {\n"; + str += " if (nexacro._isNumber(prop) || prop._bindtype == undefined)\n"; + str += " return prop;\n"; + str += " else\n"; + str += " return prop._value;\n"; + str += " }\n"; + str += " return prop;\n"; + str += "};\n\n"; + } + str = str.replace(/\$PTYPE\$/g, ptype_val); + + eval(str); + }; + + _pCellInfo._addPropertyMap = function (ptype_val, _property_map_add, is_add_design_setter) { + this._property_map = this._property_map.concat(_property_map_add); + nexacro._makeCellInfoPropertySetter(ptype_val, _property_map_add); + + if (is_add_design_setter) { + nexacro._makePropertyDesignSetter(ptype_val, _property_map_add); + } + }; + + _pCellInfo.set_id = function (id) { + this.id = this.name = id; + }; + + _pCellInfo.set_name = function (name) { + }; + + _pCellInfo.set_displaytype = function (v) { + if (v != this.displaytype) { + var oldVal = this.displaytype._value; + this.displaytype._set(v); + this._afterProcBindTypeProp(); + + if (this._view) { + if (oldVal == "treeitemcontrol") { + this._view._removeTreeCellinfo(this); + } + if (v == "treeitemcontrol") { + this._view._setTreeCellinfo(this); + } + } + } + }; + + _pCellInfo.set_maskeditmaskchar = function (v) { + if (!v) { + v = "_"; + } + var val = v.toString().charAt(0); + if (val != this.maskeditmaskchar) { + this.maskeditmaskchar = val; + this._afterProcBindTypeProp(); + } + }; + + _pCellInfo.set_cssclass = function (v) { + if (v != this.cssclass._value) { + this.cssclass._set(v); + this._afterProcBindTypeProp(); + } + }; + + _pCellInfo.set_expr = function (v) { + if (v != this.expr._value) { + var str = v.toString(); + var tag = str.substr(0, 4).toUpperCase(); + if (tag != "" && tag != "EXPR") { + v = "EXPR:" + v; + } + this.expr._set(v); + this._afterProcBindTypeProp(); + } + }; + + + _pCellInfo.destroy = function () { + this.parent = null; + var i; + var n = this._subcells.length; + + for (i = 0; i < n; i++) { + this._subcells[i].destroy(); + } + this._subcells = null; + this._maskstringtypeobj = null; + this._masknumbertypeobj = null; + + var _property_map = this._property_map; + var prop; + + for (i = 0; i < _property_map.length; i++) { + prop = _property_map[i][nexacro._CELLINFO_PMAP_PROPNAME]; + this[prop] = null; + } + this._property_map = null; + this._key_direction = null; + this._blinked_status = null; + }; + + _pCellInfo._getBindDataset = function () { + if (this._view) { + return this._view._getBindDataSet ? this._view._getBindDataSet() : this._view._binddataset; + } + + return null; + }; + _pCellInfo._getExprCacheFn = function (ctx) { + if (this._view) { + return this._view._getExprFuncByCtx ? this._view._getExprFuncByCtx(ctx) : this._view._exprcache[ctx]; + } + }; + _pCellInfo._setExprCacheFn = function (ctx, func) { + if (this._view) { + return this._view._setExprFuncByCtx ? this._view._setExprFuncByCtx(ctx, func) : this._view._exprcache[ctx] = func; + } + }; + + _pCellInfo._getValue = function (rowidx, nowritable) { + if (nowritable) { + if (this.expr._value != "" && this.expr._value != null) { + return this._getAttrValue(this.expr, rowidx); + } + } + + return this._getAttrValue(this.text, rowidx); + }; + + _pCellInfo._setValue = function (rowidx, v) { + this._setAttrValue(this.text, rowidx, v); + }; + + _pCellInfo._getDisplaytype = function (rowidx) { + var dt = this.displaytype; + var d = this._getAttrValue(dt, rowidx); + if (d === undefined) { + d = "normal"; + } + if (d == "normal") { + var t = this.text; + if (t._bindtype == 1) { + var dataset = this._getBindDataset(); + if (!dataset) { + return "text"; + } + var colid = t._bindexpr; + var coltype = dataset._getColumnType(colid); + + switch (coltype) { + case 1: + case 9: + return "text"; + case 2: + case 3: + case 4: + return "number"; + case 5: + return "date"; + case 6: + return "time"; + case 7: + return "datetime"; + default: + return "none"; + } + } + else { + return "text"; + } + } + return d; + }; + + _pCellInfo._getEdittype = function (rowidx) { + var dt = this.edittype; + var d = this._getAttrValue(dt, rowidx); + + if (d == "normal") { + var t = this.text; + if (t._bindtype == 1) { + var dataset = this._getBindDataset(); + if (!dataset) { + return "text"; + } + var colid = t._bindexpr; + var colinfo = dataset._getColumnType(colid); + if (!colinfo) { + return "text"; + } + + var coltype = colinfo; + + switch (coltype) { + case 1: + case 2: + case 3: + case 4: + case 9: + return "text"; + case 5: + case 6: + case 7: + return "date"; + case 8: + return "none"; + } + } + else { + return "text"; + } + } + return d; + }; + + _pCellInfo._getWordwrap = function (rowidx) { + var wordwrap = this._getAttrValue(this.wordWrap, rowidx); + return wordwrap; + }; + + _pCellInfo._getAttrValue = function (attr, rowidx) { + if (attr == undefined) { + return undefined; + } + + if (attr._bindtype == undefined) { + return attr; + } + else if (attr._bindtype == 0) { + return attr._value; + } + else { + var dataset = this._getBindDataset(); + if (dataset == null) { + return undefined; + } + + if (attr._bindtype == 1) { + return dataset.getColumn(rowidx, attr._bindexpr); + } + else { + var bindexpr = attr._bindexpr; + var val = attr._value; + var s = val.toLowerCase().indexOf("bind:"); + if (s >= 0) { + bindexpr = bindexpr.substring(s, bindexpr.length); + bindexpr = dataset.getColumn(rowidx, bindexpr); + } + + var exprfn = this._getExprCacheFn(bindexpr); + if (exprfn == null) { + exprfn = dataset._createExprFunc(bindexpr); + this._setExprCacheFn(bindexpr, exprfn); + } + if ((typeof exprfn) == "function") { + dataset.__getParsedRow(dataset._viewRecords[rowidx]); + this.col = this._col; + this.row = this._row; + return exprfn.call(this, rowidx, rowidx, this._view, dataset, dataset._viewRecords, dataset._viewRecords[rowidx], []); + } + } + } + + return undefined; + }; + + _pCellInfo._setAttrValue = function (attr, rowidx, v) { + if (attr._bindtype == 1) { + var dataset = this._getBindDataset(); + if (dataset) { + dataset.setColumn(rowidx, attr._bindexpr, v); + } + } + }; + + _pCellInfo._getDefaultTextAlign = function (displayType, rowidx) { + var align; + + switch (displayType) { + case "normal": + displayType = this._getDisplaytype(rowidx); + if (displayType == "number") { + align = "right"; + } + else if (displayType == "date" || displayType == "time" || displayType == "datetime") { + align = "center"; + } + else { + align = "left"; + } + break; + case "mask": + var type = this._getAttrValue(this.maskedittype, rowidx); + if (type == "number") { + align = "right"; + } + else { + align = "left"; + } + break; + case "number": + case "exponent": + case "currency": + align = "right"; + break; + default: + align = "center"; + break; + } + return align; + }; + + _pCellInfo._getCheckboxsize = function (rowidx) { + var val = this._getAttrValue(this.checkboxsize, rowidx); + + if ((val === "" || val < 0) && this._view) { + val = this._view.cellcheckboxsize; + } + + return val; + }; + + _pCellInfo._getControlButtonsize = function (rowidx, control) { + var val = this._getAttrValue(this[control + "buttonsize"], rowidx); + + if (val == null && this._view) { + val = this._view["cell" + control + "buttonsize"]; + } + + return val; + }; + + _pCellInfo._getControlScrollbarsize = function (rowidx, control) { + var val = this._getAttrValue(this[control + "scrollbarsize"], rowidx); + + if (val == null || val < 0) { + if (this._view) { + val = this._view["cell" + control + "scrollbarsize"]; + } + } + else { + val = parseInt(val, 10); + } + + if (val == null || val < 0) { + val = undefined; + } + + return val; + }; + + _pCellInfo._getControlPopuptype = function (rowidx, control) { + var val = this._getAttrValue(this[control + "popuptype"], rowidx); + + if (!val && this._view) { + val = this._view["cell" + control + "popuptype"]; + } + + return val; + }; + + _pCellInfo._getControlPopupsize = function (rowidx, control) { + var val = this._getAttrValue(this[control + "popupsize"], rowidx); + + if (!val && this._view) { + val = this._view["cell" + control + "popupsize"]; + } + + return val; + }; + + _pCellInfo._afterProcBindTypeProp = function () { + }; + _pCellInfo._changedStyle = function (prop) { + }; + + _pCellInfo._getTooltipText = function (rowidx) { + var text = this._getAttrValue(this.tooltiptext, rowidx); + return text; + }; + + _pCellInfo._getTreeCheck = function (rowidx) { + return this._getAttrValue(this.treecheck, rowidx); + }; + + _pCellInfo._getTreeCollapseImage = function (rowidx) { + return this._getAttrValue(this.treecollapseimage, rowidx); + }; + + _pCellInfo._getTreeExpandImage = function (rowidx) { + return this._getAttrValue(this.treeexpandimage, rowidx); + }; + + _pCellInfo._getTreeItemImage = function (rowidx) { + return this._getAttrValue(this.treeitemimage, rowidx); + }; + + _pCellInfo._getTreeLevel = function (rowidx) { + var v = this._getAttrValue(this.treelevel, rowidx); + v = parseInt(v) | 0; + return v; + }; + + _pCellInfo._getTreeStartLevel = function (rowidx) { + var v = this._getAttrValue(this.treestartlevel, rowidx); + v = parseInt(v) | 0; + return v; + }; + + _pCellInfo._getTreeState = function (rowidx) { + return this._getAttrValue(this.treestate, rowidx); + }; + + _pCellInfo._setTreeCheck = function (rowidx, v) { + return this._setTreeBindValue(this.treecheck, rowidx, v); + }; + + _pCellInfo._setTreeCollapseImage = function (rowidx, v) { + return this._setTreeBindValue(this.treecollapseimage, rowidx, v); + }; + + _pCellInfo._setTreeExpandImage = function (rowidx, v) { + return this._setTreeBindValue(this.treeexpandimage, rowidx, v); + }; + + _pCellInfo._setTreeItemImage = function (rowidx, v) { + return this._setTreeBindValue(this.treeitemimage, rowidx, v); + }; + + _pCellInfo._setTreeLevel = function (rowidx, v) { + return this._setTreeBindValue(this.treelevel, rowidx, v); + }; + + _pCellInfo._setTreeStartLevel = function (rowidx, v) { + return this._setTreeBindValue(this.treestartlevel, rowidx, v); + }; + + _pCellInfo._setTreeState = function (rowidx, v) { + return this._setTreeBindValue(this.treestate, rowidx, v); + }; + + _pCellInfo._setTreeBindValue = function (attr, rowidx, v) { + if (attr._bindtype == 1) { + var dataset = this._getBindDataset(); + if (dataset) { + dataset._treeBindChanged = true; + dataset.setColumn(rowidx, v); + } + } + }; + + _pCellInfo._getLocale = function (rowidx) { + var locale = this._getAttrValue(this.locale, rowidx); + if (!locale && this._view) { + locale = this._view._getLocale(); + } + + return locale; + }; + _pCellInfo._getDisplayTypeValue = function (rowidx) { + var dt = this.displaytype; + var d = this._getAttrValue(dt, rowidx); + if (d === undefined) { + d = "normal"; + } + return d; + }; + _pCellInfo._getDisplayText = function (rowidx) { + var dataset = this._getBindDataset(); + if (dataset && this.subsumtext._value !== null && this.subsumtext._value !== undefined && dataset.getRowType(rowidx) == 16) { + return this._getAttrValue(this.subsumtext, rowidx); + } + + var d = this._getDisplayTypeValue(rowidx); + + if (d == "normal") { + var t = this.text; + if (t._bindtype == 1) { + if (!dataset) { + return "text"; + } + var colid = t._bindexpr; + var coltype = dataset._getColumnType(colid); + + switch (coltype) { + case 1: + case 9: + return this._getDisplayText_text(rowidx); + case 2: + case 3: + case 4: + return this._getDisplayText_number(rowidx); + case 5: + return this._getDisplayText_date(rowidx, 2); + case 6: + return this._getDisplayText_date(rowidx, 0); + case 7: + return this._getDisplayText_date(rowidx, 1); + default: + return ""; + } + } + } + else { + if (d == "mask" || d == "maskeditcontrol") { + var type = this._getAttrValue(this.maskedittype, rowidx); + + if (type == "number") { + return this._getDisplayText_masknumber(rowidx); + } + else { + return this._getDisplayText_maskstring(rowidx); + } + } + else if (d == "number") { + return this._getDisplayText_number(rowidx); + } + else if (d == "currency") { + return this._getDisplayText_currency(rowidx); + } + else if (d == "date") { + return this._getDisplayText_date(rowidx); + } + else if (d == "calendarcontrol") { + return this._getDisplayText_date(rowidx, null, true); + } + else if (d == "combotext") { + return this._getDisplayText_combo(rowidx); + } + else if (d == "combocontrol") { + return this._getDisplayText_combo(rowidx, true); + } + else if (d == "none") { + return ""; + } + } + + return this._getDisplayText_text(rowidx); + }; + + _pCellInfo._getTextValueForDisp = function (rowidx) { + if (this.expr._value != "" && this.expr._value != null) { + return this._getAttrValue(this.expr, rowidx); + } + + return this._getAttrValue(this.text, rowidx); + }; + + _pCellInfo._getDisplayText_text = function (rowidx) { + var v = this._getTextValueForDisp(rowidx); + + if (v != null) { + v = v.toString(); + } + + return v; + }; + + _pCellInfo._getDisplayText_maskstring = function (rowidx) { + var v = this._getTextValueForDisp(rowidx); + var mask = this._getAttrValue(this.maskeditformat, rowidx); + + if (v != null) { + v = v.toString(); + } + + if (mask && mask.length) { + var maskobj = this._maskstringtypeobj; + var maskchar = this._getAttrValue(this.maskeditmaskchar, rowidx); + var locale = this._getLocale(rowidx); + + maskobj.setLocale(locale); + maskobj.setMask(mask); + maskobj.setMaskChar(maskchar); + v = maskobj.applyMask(v); + } + return v; + }; + + _pCellInfo._getDisplayText_masknumber = function (rowidx) { + var v = this._getTextValueForDisp(rowidx); + var mask = this._getAttrValue(this.maskeditformat, rowidx); + + if (mask && mask.length) { + var locale = this._getLocale(rowidx); + var maskobj = this._masknumbertypeobj; + var limittype = this._getAttrValue(this.maskeditlimitbymask, rowidx); + + if (mask === ".") { + maskobj.setUseGrouping(true); + } + + maskobj.setLimitType(limittype); + maskobj.setLocale(locale); + maskobj.setMask(mask); + v = maskobj.applyMask(v); + } + else { + v = nexacro._toString(v); + } + return v; + }; + + _pCellInfo._getDisplayText_number = function (rowidx) { + var v = this._getTextValueForDisp(rowidx); + var limittype = this._getAttrValue(this.maskeditlimitbymask, rowidx); + var locale = this._getLocale(rowidx); + var maskobj = this._masknumbertypeobj; + + maskobj.setUseGrouping(true); + maskobj.setLimitType(limittype); + maskobj.setLocale(locale); + maskobj.setMask(""); + v = maskobj.applyMask(v); + + return v; + }; + + _pCellInfo._getDisplayText_currency = function (rowidx) { + var v = this._getTextValueForDisp(rowidx); + var locale = this._getLocale(rowidx); + + if (!isNaN(v)) { + var nexanum = new nexacro.Number(v); + v = nexanum.toLocaleCurrencyString(locale); + } + + return v; + }; + + _pCellInfo._getDisplayText_date = function (rowidx, colType, is_control) { + var v = this._getTextValueForDisp(rowidx); + var date = undefined; + var nullmask = false; + var is_date_empty = false; + var dateformatmask = this._getAttrValue(this.calendardateformat, rowidx); + var editformatmask = this._getAttrValue(this.calendareditformat, rowidx); + + v = (v) ? v : ""; + + if (v.constructor == Date) { + date = v; + } + else { + var strVal = v.toString(); + if (strVal.search(/\S/) > -1) { + if (colType == undefined) { + if (!editformatmask) { + if (strVal.length == 8) { + colType = 2; + } + else if (strVal.length == 6 || strVal.length == 9) { + colType = 0; + } + else { + colType = 1; + } + } + else { + var maskobj = new nexacro._EditMaskTypeDate(); + if (maskobj) { + if (editformatmask && editformatmask.length) { + maskobj.setDateMask(editformatmask); + maskobj.setEditMask(editformatmask); + if (editformatmask == "LONGDATE" || editformatmask == "SHORTDATE") { + colType = 1; + } + else { + var editformattype = maskobj.getEditFormatType(); + if (editformattype == 0) { + colType = 2; + } + else if (editformattype == 1) { + colType = 0; + } + else { + colType = 1; + } + } + } + } + else { + colType = 1; + } + } + } + date = this.__parseDate(strVal, colType); + + if (date && (date._isInvalidDate ? date._isInvalidDate() : isNaN(date.valueOf()))) { + if ((this.calendardisplayinvalidtype._value == "invalidtext" || this.calendardisplayinvalidtype._value == "default") && !is_control) { + return this._getAttrValue(this.calendardisplayinvalidtext, rowidx); + } + + return strVal; + } + } + else { + if (this.calendardisplaynulltype._value == "nulltext" && !is_control) { + return this._getAttrValue(this.calendardisplaynulltext, rowidx); + } + else if (this.calendardisplaynulltype._value == "nullmask" && !is_control) { + nullmask = true; + } + else if (this.calendardisplaynulltype._value == "default") { + } + else { + return ""; + } + } + } + + if (date == null) { + is_date_empty = true; + date = new nexacro.Date(); + date.setFullYear(0); + date.setMonth(0); + date.setDate(1); + } + + var dateStr; + var locale = this._getLocale(rowidx); + var locale_info = nexacro.Locale.getLocaleInfo(locale); + var format; + + if (dateformatmask == "SHORTDATE" || dateformatmask == "LONGDATE") { + if (dateformatmask == "SHORTDATE") { + format = locale_info.shortdate_format; + } + else { + format = locale_info.longdate_format; + } + + if (format == "") { + format = nexacro.Locale._default_shortdate_format; + } + + var b_ltr_mark = ((this._view && !this._view._isRtl()) && locale_info.direction == "rtl") ? true : false; + + dateStr = date.getLocaleFormatString(locale, format, b_ltr_mark); + } + else { + var yyyy = date.getFullYear(); + if (yyyy == 0) { + yyyy = "0000"; + } + else { + yyyy = yyyy.toString().padLeft(4, "0"); + } + + var MM = date.getMonth() + 1; + var MMMM = locale_info.month_names_long[date.getMonth()]; + MM = (MM < 10 ? "0" : "") + MM; + + var dddd = locale_info.weekday_names_long[date.getDay()]; + var ddd = locale_info.weekday_names_short[date.getDay()]; + var dd = date.getDate(); + + dd = (dd < 10 ? "0" : "") + dd; + + var yy = date.getYear() % 100; + var M = +MM; + var d = +dd; + + var hour = date.getHours(); + hour = (hour < 10 ? "0" : "") + hour; + var h = +hour; + + var minute = date.getMinutes(); + minute = (minute < 10 ? "0" : "") + minute; + var mn = +minute; + + var second = date.getSeconds(); + second = (second < 10 ? "0" : "") + second; + + var s = +second; + + var millisecond = date.getMilliseconds(); + millisecond = (millisecond < 10 ? "00" : millisecond < 100 ? "0" : "") + millisecond; + + if (is_date_empty) { + hour = h = "00"; + minute = mn = "00"; + second = s = "00"; + millisecond = "000"; + } + + format = dateformatmask; + + if (format == null || format.length == 0 || !format.match(/[yMdHhms]/)) { + format = "yyyy-MM-dd ddd"; + } + + if (nullmask) { + var maskchar1 = "_"; + var maskchar2 = maskchar1 + maskchar1; + var maskchar3 = maskchar2 + maskchar1; + var maskchar4 = maskchar3 + maskchar1; + + + dateStr = format.replace("yyyy", maskchar4); + dateStr = dateStr.replace("MMMM", "lunari"); + dateStr = dateStr.replace("MM", maskchar2); + dateStr = dateStr.replace("ddd", "week"); + dateStr = dateStr.replace("dd", maskchar2); + + dateStr = dateStr.replace("yy", maskchar2); + dateStr = dateStr.replace("M", maskchar1); + dateStr = dateStr.replace("d", maskchar1); + dateStr = dateStr.replace("tt", maskchar2); + dateStr = dateStr.replace("HH", maskchar2); + dateStr = dateStr.replace("hh", maskchar2); + dateStr = dateStr.replace("H", maskchar1); + dateStr = dateStr.replace("h", maskchar1); + dateStr = dateStr.replace("mm", maskchar2); + dateStr = dateStr.replace("m", maskchar1); + dateStr = dateStr.replace("sss", maskchar3); + dateStr = dateStr.replace("ss", maskchar2); + dateStr = dateStr.replace("s", maskchar1); + dateStr = dateStr.replace("lunari", maskchar4); + dateStr = dateStr.replace("week", maskchar3); + } + else { + var hh = hour; + var tt = "오전"; + if (hour > 12 && hour < 25) { + hh = hour < 22 ? "0" + (hour - 12) : hour - 12; + tt = "오후"; + } + + dateStr = format.replace("tt", tt); + dateStr = dateStr.replace("HH", hour); + dateStr = dateStr.replace("hh", hh); + dateStr = dateStr.replace("H", h); + dateStr = dateStr.replace("h", h); + dateStr = dateStr.replace("mm", minute); + dateStr = dateStr.replace("m", mn); + dateStr = dateStr.replace("sss", millisecond); + dateStr = dateStr.replace("ss", second); + dateStr = dateStr.replace("s", s); + + dateStr = dateStr.replace("dddd", "weekL"); + dateStr = dateStr.replace("ddd", "week"); + dateStr = dateStr.replace("yyyy", yyyy); + dateStr = dateStr.replace("MMMM", "lunari"); + dateStr = dateStr.replace("MM", MM); + dateStr = dateStr.replace("dd", dd); + dateStr = dateStr.replace("yy", yy); + dateStr = dateStr.replace("M", M); + dateStr = dateStr.replace("d", d); + dateStr = dateStr.replace("lunari", MMMM); + dateStr = dateStr.replace("weekL", dddd); + dateStr = dateStr.replace("week", ddd); + } + } + + return dateStr; + }; + + _pCellInfo.__parseDate = function (v, dFlag) { + var dateobj; + var maskobj = new nexacro._EditMaskTypeDate(); + if (/[^0-9]/.test(v)) { + dateobj = new Date(v); + if (isNaN(dateobj.valueOf())) { + return dateobj; + } + + dateobj = new nexacro.Date(dateobj.getFullYear(), dateobj.getMonth(), dateobj.getDate(), dateobj.getHours(), dateobj.getMinutes(), dateobj.getSeconds(), dateobj.getMilliseconds()); + } + else { + if (dFlag == 0) { + dateobj = maskobj.convertToDateObject(v, 1); + } + else if (dFlag == 1) { + dateobj = maskobj.convertToDateObject(v, 2); + } + else { + dateobj = maskobj.convertToDateObject(v, 0); + } + } + + return dateobj; + }; + + _pCellInfo._getDisplayText_combo = function (rowidx, is_control) { + var combodataset = this._getAttrValue(this.combodataset, rowidx); + var combocodecol = this._getAttrValue(this.combocodecol, rowidx); + var combodatacol = this._getAttrValue(this.combodatacol, rowidx); + if (combodataset && combodataset.length && combocodecol && combocodecol.length && combodatacol && combodatacol.length) { + var ds = this._findDataset(combodataset); + if (ds) { + var v = this._getTextValueForDisp(rowidx); + var text = ds.lookupNF(combocodecol, v, combodatacol); + if (text) { + return text.toString(); + } + } + } + + if (this.combodisplaynulltype._value == "nulltext" && !is_control) { + return this._getAttrValue(this.combodisplaynulltext, rowidx); + } + + return ""; + }; + + _pCellInfo._findDataset = function (combodataset) { + var view = this._view; + if (view) { + return view._findDataset(combodataset); + } + + return null; + }; + + _pCellInfo._loadXmlElement = function (cellElem, subcell_override_info, is_sub) { + var col = cellElem.getAttribute("col"), row = cellElem.getAttribute("row"), colspan = cellElem.getAttribute("colspan"), rowspan = cellElem.getAttribute("rowspan"); + + this._col = (col == null ? 0 : parseInt(col)); + this._row = (row == null ? 0 : parseInt(row)); + this._colspan = (colspan == null ? 1 : parseInt(colspan)); + this._rowspan = (rowspan == null ? 1 : parseInt(rowspan)); + + var _property_map = this._property_map; + var prop, attrval; + var i; + var n = _property_map.length; + + for (i = 0; i < n; i++) { + prop = _property_map[i][nexacro._CELLINFO_PMAP_PROPNAME]; + attrval = cellElem.getAttribute(prop); + + this._loadingxml = true; + if (attrval !== null && attrval !== undefined) { + this["set_" + prop](attrval); + } + this._loadingxml = false; + } + + if (!is_sub) { + var subcells = cellElem.getElementsByTagName("Cell"), subinfo, subcellElem; + + if (!subcell_override_info) { + subcell_override_info = nexacro.CellInfo; + } + + for (i = 0, n = subcells.length; i < n; i++) { + subcellElem = subcells[i]; + subinfo = new subcell_override_info((this._type + this._cellidx + "_sub" + i), this.parent, this._view, this._type, i); + subinfo._loadXmlElement(subcellElem, true); + subinfo._isSubCell = true; + this._subcells[i] = subinfo; + } + } + }; + + _pCellInfo._getXmlString = function () { + var strContents = ""; + + if (this._isSubCell) { + strContents += " "; + } + + strContents += " 1) { + strContents += "\" colspan=\"" + this._colspan; + } + if (this._rowspan > 1) { + strContents += "\" rowspan=\"" + this._rowspan; + } + + var _property_map = this._property_map; + var prop, bind, deft; + var i; + var n = _property_map.length; + + for (i = 0; i < n; i++) { + prop = _property_map[i][nexacro._CELLINFO_PMAP_PROPNAME]; + bind = _property_map[i][nexacro._CELLINFO_PMAP_EXPRBIND]; + deft = _property_map[i][nexacro._CELLINFO_PMAP_DEFTVALUE]; + + if (bind) { + if (this[prop]._value != deft) { + strContents += "\" " + prop + "=\"" + (typeof (this[prop]._value) == "string" ? nexacro._encodeXml(this[prop]._value) : this[prop]._value); + } + } + else { + if (this[prop] != deft) { + strContents += "\" " + prop + "=\"" + (typeof (this[prop]) == "string" ? nexacro._encodeXml(this[prop]) : this[prop]); + } + } + } + + var subcells = this._subcells; + + if (subcells.length > 0) { + strContents += "\">\n"; + + for (i = 0, n = subcells.length; i < n; i++) { + strContents += subcells[i]._getXmlString(true); + } + + strContents += "\n"; + } + else { + strContents += "\"/>\n"; + } + + return strContents; + }; + + _pCellInfo._hasEditor = function (datarow) { + var editType = this._getEdittype(datarow); + + switch (editType) { + case "none": + return false; + case "normal": + case "text": + case "combo": + case "date": + case "mask": + case "textarea": + case "button": + case "readonly": + return true; + } + return false; + }; + + delete _pCellInfo; +} + +if (!nexacro._CellControl) { + nexacro._CellControl = function (id, left, top, width, height, right, bottom, parent, refinfo, cellidx, view, rowidx) { + nexacro.Component.call(this, id, left, top, width, height, right, bottom, null, null, null, null, parent); + + var add_event_list = ["onexpandup", "onexpanddown", "oninput", "ondropdown", "oncloseup"]; + + this._view = view; + this._rowidx = (rowidx != undefined) ? rowidx : -9; + this.tabstop = false; + this._cellidx = cellidx; + this._refinfo = refinfo ? refinfo : this._makeCellInfo(id, null, view, id, cellidx); + this.subcells = []; + this.parentcell = (parent instanceof nexacro._CellControl) ? parent : null; + this.selected = false; + this.accessibilityrole = "gridcell"; + this._subComp = null; + this._text_elem = null; + this._curDisplayType = ""; + this._expand_width = 0; + this._expandCtrl = null; + this._isSubCell = (this.parentcell) ? true : false; + this._fakecell = false; + this._hideInner = false; + this._is_real_upelem = null; + this._editor = null; + this._client_mode = ""; + this._disp_show = true; + this._writable = false; + + this._cellExpandObj = "_CellExpandControl"; + this._cellButtonObj = "_CellButtonControl"; + this._cellCheckBoxObj = "_CellCheckboxControl"; + this._cellImageObj = "_CellImageControl"; + this._cellComboObj = "_CellComboControl"; + this._cellCalendarObj = "_CellCalendarControl"; + this._cellEditObj = "_CellEditControl"; + this._cellTextAreaObj = "_CellTextAreaControl"; + this._cellProgressBarObj = "_CellProgressBarControl"; + this._cellMaskEditObj = "_CellMaskEditControl"; + this._cellTreeObj = "_CellTreeControl"; + + for (var i = 0, n = add_event_list.length; i < n; i++) { + this._event_list[add_event_list[i]] = 1; + } + }; + + var _pCellControl = nexacro._createPrototype(nexacro.Component, nexacro._CellControl); + nexacro._CellControl.prototype = _pCellControl; + + _pCellControl._type_name = "CellControl"; + _pCellControl._is_subcontrol = true; + _pCellControl._is_simple_control = true; + _pCellControl._use_selected_status = true; + _pCellControl._use_readonly_status = true; + _pCellControl._is_use_auto_selected_status = true; + _pCellControl._avail_left = 0; + _pCellControl._avail_top = 0; + _pCellControl._avail_width = 0; + _pCellControl._avail_height = 0; + + _pCellControl.init = function (id, left, top, width, height, right, bottom, refinfo, cellidx, view, rowidx) { + nexacro.Component.prototype.init.call(this, id, left, top, width, height, right, bottom, null, null, null, null); + + var info = this._refinfo; + info.id = refinfo.name = id; + info._view = view; + info._type = ""; + info._cellidx = cellidx; + }; + + _pCellControl._makeCellInfo = function (id, parent, view, type, idx) { + return new nexacro.CellInfo(id, parent, view, type, idx); + }; + + _pCellControl._apply_normalproperty = function (prop, val) { + }; + + _pCellControl._getDisplaytype = function () { + var datarow = this._getDataRow(); + return this._refinfo._getDisplaytype(datarow); + }; + + _pCellControl._getCurrentStyleAlign = function (noflush) { + var align = { + textAlign : "center", + verticalAlign : "middle" + }; + + if (this._text_elem) { + align = this._text_elem._getComputedStyleAlign(noflush); + } + + return align; + }; + + _pCellControl.on_create_contents = function () { + this._disp_show = this._updateDisplayer(); + }; + + _pCellControl.on_created_contents = function (win) { + var control_elem = this._control_element; + if (control_elem) { + var subcells = this.subcells; + var subcells_len = subcells.length; + + if (subcells_len == 0) { + var sub_ctrl = this._subComp; + + if (sub_ctrl) { + sub_ctrl.on_created(win); + } + } + + var text_elem = this._text_elem; + + if (text_elem) { + text_elem.create(win); + } + + var expand_ctrl = this._expandCtrl; + + if (expand_ctrl) { + expand_ctrl.on_created(); + } + + if (nexacro._enableaccessibility && this._view && !this._view._accept_focus) { + var accessibility = this.accessibility; + + if (accessibility) { + this._view._accept_focus = true; + } + } + + for (var i = 0; i < subcells_len; i++) { + subcells[i].on_created(); + } + + if (!this._adjust_width || !this._adjust_height) { + this._setDisplay(false); + } + } + }; + + _pCellControl._on_changeStatus = function (status, value) { + this._status_changing = true; + nexacro.Component.prototype._on_changeStatus.call(this, status, value); + this._status_changing = false; + }; + + _pCellControl.on_changeStatus = function (changestatus, value, applystatus, currentstatus, currentuserstatus) { + if (this._isSubCell) { + return currentstatus; + } + + return nexacro.Component.prototype.on_changeStatus.call(this, changestatus, value, applystatus, currentstatus, currentuserstatus); + }; + + _pCellControl.on_create_contents_command = function (area) { + var str = ""; + var control_elem = this._control_element; + if (control_elem) { + var subcells = this.subcells; + var subcells_len = subcells.length; + + if (subcells_len == 0) { + var sub_ctrl = this._subComp; + + if (sub_ctrl) { + str += sub_ctrl.createCommand(); + } + } + else { + for (var i = 0; i < subcells_len; i++) { + str += subcells[i].createCommand(); + } + } + + var text_elem = this._text_elem; + + if (text_elem) { + str += text_elem.createCommand(); + } + + var expand_ctrl = this._expandCtrl; + + if (expand_ctrl) { + str += expand_ctrl.createCommand(); + } + } + return str; + }; + + _pCellControl.on_attach_contents_handle = function (win) { + var subcells = this.subcells; + var subcells_len = subcells.length; + + for (var i = 0; i < subcells_len; i++) { + subcells[i].attachHandle(win); + } + + var sub_ctrl = this._subComp; + if (sub_ctrl) { + sub_ctrl.attachHandle(win); + } + + var expand_ctrl = this._expandCtrl; + if (expand_ctrl) { + expand_ctrl.attachHandle(win); + } + + var text_elem = this._text_elem; + if (text_elem) { + text_elem.attachHandle(win); + } + + if (nexacro._enableaccessibility && this._view && !this._view._accept_focus) { + var accessibility = this.accessibility; + if (accessibility) { + this._view._accept_focus = true; + } + } + + if (!this._adjust_width || !this._adjust_height) { + this._setDisplay(false); + } + }; + + _pCellControl.on_destroy_contents = function () { + this._destroyDisplayer(); + + if (this._expandCtrl) { + this._expandCtrl.destroy(); + this._expandCtrl = null; + } + + var subcells = this.subcells; + var subcells_len = subcells.length; + var i; + + for (i = 0; i < subcells_len; i++) { + subcells[i].destroy(); + } + + if (this._tempdestroyeditor) { + this._tempdestroyeditor.destroy(); + } + + if (this._editor) { + this._editor.destroy(); + } + + if (this._tempdestroyeditor_list) { + for (i = 0; i < this._tempdestroyeditor_list.length; i++) { + this._tempdestroyeditor_list[i].destroy(); + } + this._tempdestroyeditor_list = null; + } + + this._tempdestroyeditor = this._editor = this.subcells = this._refinfo = this._view = this.parentcell = this._band = this._text_elem = this._is_real_upelem = null; + }; + + _pCellControl._makeEventInfoBase = function (evt_id) { + var cellobj = this; + var subcellobj = null; + + if (cellobj.parentcell) { + subcellobj = cellobj; + cellobj = cellobj.parentcell; + } + + var obj = { + cell : -1, + col : -1, + row : -9, + subrow : -1, + mergecell : -1, + mergecol : -1, + mergerow : -1, + pivotindex : -9, + eventid : "", + id : "" + }; + + if (evt_id) { + obj.eventid = obj.id = evt_id; + } + + obj.cell = cellobj._cellidx; + obj.col = cellobj._refinfo._col; + obj.row = cellobj._getDataRow(); + obj.subrow = cellobj._refinfo._row; + + if (subcellobj) { + obj.mergecell = subcellobj._cellidx; + obj.mergecol = subcellobj._refinfo._col; + obj.mergerow = subcellobj._refinfo._row; + } + return obj; + }; + + _pCellControl.on_fire_onexpandup = function (button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientX, clientY, from_comp, from_refer_comp) { + if (this.onexpandup && this.onexpandup._has_handlers) { + var evt = this._makeEventInfoBase("onexpandup"); + evt.button = button; + evt.altkey = alt_key; + evt.ctrlkey = ctrl_key; + evt.shiftkey = shift_key; + evt.screenX = screenX; + evt.screenY = screenY; + evt.canvasX = canvasX; + evt.canvasY = canvasY; + evt.clientX = clientX; + evt.clientY = clientY; + evt.fromobject = from_comp; + evt.fromreferenceobject = from_refer_comp; + return this.onexpandup._fireEvent(this, evt); + } + return false; + }; + + _pCellControl.on_fire_onexpanddown = function (button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientX, clientY, from_comp, from_refer_comp) { + if (this.onexpandup && this.onexpandup._has_handlers) { + var evt = this._makeEventInfoBase("onexpanddown"); + evt.button = button; + evt.altkey = alt_key; + evt.ctrlkey = ctrl_key; + evt.shiftkey = shift_key; + evt.screenX = screenX; + evt.screenY = screenY; + evt.canvasX = canvasX; + evt.canvasY = canvasY; + evt.clientX = clientX; + evt.clientY = clientY; + evt.fromobject = from_comp; + evt.fromreferenceobject = from_refer_comp; + return this.onexpandup._fireEvent(this, evt); + } + return false; + }; + + _pCellControl.on_fire_oninput = function () { + if (this.oninput && this.oninput._has_handlers) { + var evt = this._makeEventInfoBase("oninput"); + return this.oninput._fireEvent(this, evt); + } + return true; + }; + + _pCellControl.on_fire_ondropdown = function (obj) { + if (this.ondropdown && this.ondropdown._has_handlers) { + var evt = this._makeEventInfoBase("ondropdown"); + evt.value = this.__evtvalue(obj); + return this.ondropdown._fireCheckEvent(this, evt); + } + return true; + }; + + _pCellControl.on_fire_oncloseup = function (obj, pretext, posttext, prevalue, postvalue) { + if (this.oncloseup && this.oncloseup._has_handlers) { + var evt = this._makeEventInfoBase("oncloseup"); + evt.value = this.__evtvalue(obj, postvalue); + return this.oncloseup._fireEvent(this, evt); + } + return true; + }; + + _pCellControl.on_fire_onclick = function (button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientX, clientY, from_comp, from_refer_comp, clickitem) { + if (this.onclick && this.onclick._has_handlers) { + var subcomp = from_refer_comp; + + while (subcomp && subcomp instanceof nexacro.Component) { + if (subcomp instanceof nexacro._CellControl) { + break; + } + + var canvas = subcomp._getRecalcCanvasXY(from_refer_comp._control_element, canvasX, canvasY); + canvasX = canvas[0]; + canvasY = canvas[1]; + + if (this._subComp == subcomp) { + break; + } + + subcomp = subcomp.parent; + } + + if (this._subComp == from_comp) { + var padding = this._getCurrentStylePadding(); + + if (padding) { + canvasX += padding.left; + canvasY += padding.top; + clientX += padding.left; + clientY += padding.top; + } + } + + canvasX += this._adjust_left; + canvasY += this._adjust_top; + clientX += this._adjust_left; + clientY += this._adjust_top; + + var evt = this._makeEventInfoBase("onclick"); + evt.button = button; + evt.altkey = alt_key; + evt.ctrlkey = ctrl_key; + evt.shiftkey = shift_key; + evt.screenx = screenX; + evt.screeny = screenY; + evt.canvasx = canvasX; + evt.canvasy = canvasY; + evt.clientx = clientX; + evt.clienty = clientY; + evt.fromobject = from_comp; + evt.fromreferenceobject = from_refer_comp; + evt.clickitem = clickitem || ""; + return this.onclick._fireEvent(this, evt); + } + return false; + }; + + _pCellControl.on_fire_ondblclick = function (button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientX, clientY, from_comp, from_refer_comp, clickitem) { + nexacro._fireBeforeDblclick(this, button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientX, clientY, from_comp, from_refer_comp); + + if (this.ondblclick && this.ondblclick._has_handlers) { + var subcomp = from_refer_comp; + + while (subcomp && subcomp instanceof nexacro.Component) { + if (subcomp instanceof nexacro._CellControl) { + break; + } + + var canvas = subcomp._getRecalcCanvasXY(from_refer_comp._control_element, canvasX, canvasY); + canvasX = canvas[0]; + canvasY = canvas[1]; + + if (this._subComp == subcomp) { + break; + } + + subcomp = subcomp.parent; + } + + if (this._subComp == from_comp) { + var padding = this._getCurrentStylePadding(); + + if (padding) { + canvasX += padding.left; + canvasY += padding.top; + clientX += padding.left; + clientY += padding.top; + } + } + + canvasX += this._adjust_left; + canvasY += this._adjust_top; + clientX += this._adjust_left; + clientY += this._adjust_top; + + var evt = this._makeEventInfoBase("ondblclick"); + evt.button = button; + evt.altkey = alt_key; + evt.ctrlkey = ctrl_key; + evt.shiftkey = shift_key; + evt.screenx = screenX; + evt.screeny = screenY; + evt.canvasx = canvasX; + evt.canvasy = canvasY; + evt.clientx = clientX; + evt.clienty = clientY; + evt.fromobject = from_comp; + evt.fromreferenceobject = from_refer_comp; + evt.clickitem = clickitem || ""; + return this.ondblclick._fireEvent(this, evt); + } + return false; + }; + + _pCellControl._common_fire_lbuttonup = function (touchinfos, changedtouchinfos, button, altKey, ctrlKey, shiftKey, screenX, screenY, canvasX, canvasY, clientX, clientY, obj, from_refer_comp, from_elem) { + var window = this._getWindow(); + var elem = window._cur_ldown_elem; + + var comp = window.findComponent(elem, 0, 0)[0]; + var up_comp = window.findComponent(from_elem, 0, 0)[0]; + + if (elem != from_elem) { + while (comp) { + if (comp instanceof nexacro._CellControl) { + break; + } + + comp = comp.parent; + } + + while (up_comp) { + if (up_comp instanceof nexacro._CellControl) { + break; + } + + up_comp = up_comp.parent; + } + + if (comp == up_comp) { + this.on_fire_onclick(button, altKey, ctrlKey, shiftKey, screenX, screenY, canvasX, canvasY, clientX, clientY, obj, from_refer_comp, ""); + } + } + }; + + _pCellControl.on_fire_user_ontouchend = function (touchinfos, changedtouchinfos, from_comp, from_refer_comp) { + this._common_fire_lbuttonup(touchinfos, changedtouchinfos, "", false, false, false, -1, -1, -1, -1, -1, -1, from_comp, from_refer_comp, null); + return nexacro.Component.prototype.on_fire_user_ontouchend.call(this, touchinfos, changedtouchinfos, from_comp, from_refer_comp); + }; + + _pCellControl.on_fire_user_onlbuttonup = function (button, altKey, ctrlKey, shiftKey, screenX, screenY, canvasX, canvasY, clientX, clientY, obj, refer_comp, from_elem) { + this._common_fire_lbuttonup(null, null, button, altKey, ctrlKey, shiftKey, screenX, screenY, canvasX, canvasY, clientX, clientY, obj, refer_comp, from_elem); + return nexacro.Component.prototype.on_fire_user_onlbuttonup.call(this, button, altKey, ctrlKey, shiftKey, screenX, screenY, canvasX, canvasY, clientX, clientY, obj, refer_comp, from_elem); + }; + + _pCellControl.__evtvalue = function (obj, postvalue) { + var val = ""; + + if (obj && obj.value) { + val = obj.value; + } + else if (postvalue) { + val = postvalue; + } + + return val; + }; + + _pCellControl._destroyDisplayer = function (b_async) { + if (this._subComp) { + if (b_async) { + var subcomp = this._subComp; + nexacro._OnceCallbackTimer.callonce(this, function () { + if (subcomp) { + subcomp.destroy(); + } + }); + subcomp.set_visible(false); + this._subComp = null; + } + else { + this._subComp.destroy(); + this._subComp = null; + } + } + }; + + _pCellControl._getBindDataset = function () { + return this._view ? (this._view._getBindDataSet ? this._view._getBindDataSet() : this._view._binddataset) : null; + }; + + _pCellControl._applyEditorDataset = function (async, prevalue) { + if (!this._editor || !this._writable) { + return; + } + + var dataset = this._getBindDataset(); + if (dataset) { + var datarow = this._getDataRow(); + var colid = this._refinfo.text._bindexpr; + var value = this._editor._getValueData(); + var view = this._view; + + if (this._refinfo.text._bindtype == 1) { + view._is_async_recreate = async; + view._dsEventOccured = true; + + var fail = { + status : "" + }; + dataset.setColumn(datarow, colid, value, fail); + + if (fail.status == "cancolumnchange") { + this._editor.set_value(prevalue); + } + view._is_async_recreate = false; + view._dsEventOccured = false; + } + } + }; + + _pCellControl._getDataRow = function () { + return this._rowidx; + }; + + _pCellControl._isFakeCell = function () { + var datarow = this._getDataRow(); + var dataset = this._getBindDataset(); + var rowcount = (dataset) ? dataset.rowcount : 0; + + if (rowcount <= datarow || datarow < -2) { + return true; + } + + return false; + }; + + _pCellControl.on_change_containerRect = function (width, height) { + this._updateAvailableArea(); + }; + + _pCellControl.on_getIDCSSSelector = function () { + if (this._isSubCell) { + return "subcell"; + } + + return "cell"; + }; + + _pCellControl._getClassCSSSelector = function () { + var cssarr = nexacro.Component.prototype._getClassCSSSelector.call(this); + + if (this._rowidx >= 0 && this._rowidx % 2) { + if (!cssarr) { + cssarr = []; + } + + cssarr.push("oddcell"); + } + + return cssarr; + }; + + _pCellControl._getElementClassCSSSelector = function () { + var cssarr = this._getClassCSSSelector(this); + + if (cssarr) { + cssarr.push("dummy"); + cssarr.push("dummy"); + cssarr.push("dummy"); + } + + return cssarr; + }; + + _pCellControl._apply_setfocus = function (evt_name, self_flag) { + if (self_flag || nexacro._enableaccessibility) { + nexacro.Component.prototype._apply_setfocus.call(this, evt_name); + } + }; + + _pCellControl.on_apply_prop_tooltip = function () { + var datarow = this._getDataRow(); + + this.tooltiptext = this._refinfo._getTooltipText(datarow); + this.tooltiptype = this._refinfo.tooltiptype; + + nexacro.Component.prototype.on_apply_prop_tooltip.call(this); + }; + + _pCellControl.on_fire_onsize = function (width, height) { + if (width && height) { + this._setDisplay(true); + } + + var retn = nexacro.Component.prototype.on_fire_onsize.call(this, width, height); + + if (!width || !height) { + this._setDisplay(false); + } + + return retn; + }; + + _pCellControl._setDisplay = function (v) { + if (this._control_element) { + this._control_element.setElementDisplay((v) ? "" : "none"); + } + }; + + _pCellControl.on_apply_text = function () { + var text_elem = this._text_elem; + + if (text_elem) { + var cellinfo = this._refinfo; + var datarow = this._getDataRow(); + var displaytype = cellinfo._getDisplayTypeValue(datarow); + + var strtext = nexacro._toString(this._displaytext); + + if (displaytype == "decoratetext") { + text_elem.setElementDecorateText(strtext); + } + else { + if (text_elem.decoration != "") { + text_elem.decoration = ""; + text_elem.text = null; + } + + if (!text_elem.text && strtext) { + text_elem.setElementText(strtext); + if (this._expandCtrl && this._expandCtrl._is_created) { + this._control_element.bringToFrontElement(this._expandCtrl._control_element); + } + } + else { + text_elem.setElementText(strtext); + } + } + } + }; + + _pCellControl.on_apply_wordWrap = function () { + var text_elem = this._text_elem; + + if (text_elem) { + var datarow = this._getDataRow(); + var wordwrap = this._refinfo._getWordwrap(datarow); + text_elem.setElementWordWrap(wordwrap); + } + }; + + _pCellControl.on_apply_textAlign = function (halign) { + var text_elem = this._text_elem; + + if (halign) { + if (text_elem) { + text_elem.setElementTextAlign(halign); + } + + if (this._subComp) { + if (this._subComp._setAlign) { + this._subComp._setAlign(halign, this.verticalAlign); + } + else { + this._subComp.set_textAlign(halign); + } + } + } + }; + + _pCellControl.on_apply_verticalAlign = function (valign) { + var text_elem = this._text_elem; + + if (valign) { + if (text_elem) { + text_elem.setElementVerticalAlign(valign); + } + + if (this._subComp) { + if (this._subComp._setAlign) { + this._subComp._setAlign(this.textAlign, valign); + } + else { + this._subComp.set_verticalAlign(valign); + } + } + } + }; + + _pCellControl._needToggle = function () { + var datarow = this._getDataRow(); + var cellinfo = this._refinfo; + var displaytype = cellinfo._getDisplaytype(datarow); + var edittype = cellinfo._getEdittype(datarow); + + if (edittype != "checkbox") { + return; + } + + if (displaytype == "checkboxcontrol") { + if (this._subComp) { + this._subComp._toggleCheck(); + } + } + else { + var view = this._view; + var v = cellinfo._getValue(datarow); + v = nexacro._toBoolean(v); + v = (v) ? 0 : 1; + + if (cellinfo.text._bindtype == 1) { + var dataset = this._getBindDataset(); + view._dsEventOccured = true; + + dataset.setColumn(datarow, cellinfo.text._bindexpr, v); + + if (nexacro._enableaccessibility) { + this._setAccessibilityStatChecked(nexacro._toBoolean(v)); + } + + view._dsEventOccured = false; + } + } + }; + + _pCellControl.on_apply_checkboxAlign = function (halign, valign) { + var controlSizeW = this._subComp._adjust_width; + var controlSizeH = this._subComp._adjust_height; + var clientrect = this._getAvailableRect(); + var x = clientrect.left, y = clientrect.top; + var w = clientrect.width, h = clientrect.height; + + switch (halign) { + case "left": + break; + case "right": + x += (w - controlSizeW); + break; + default: + x += ((w - controlSizeW) / 2); + break; + } + switch (valign) { + case "top": + break; + case "bottom": + y += (h - controlSizeH); + break; + default: + y += ((h - controlSizeH) / 2); + break; + } + this._subComp.move(x, y, this._subComp._adjust_width, this._subComp._adjust_height); + }; + + _pCellControl.on_apply_textDecoration = function (textDecoration) { + var cellinfo = this._refinfo; + + if (!textDecoration && cellinfo.textDecoration) { + if (this.textDecoration != cellinfo.textDecoration) { + this.textDecoration = cellinfo.textDecoration; + textDecoration = nexacro.TextDecorationObject(this.textDecoration); + this._textdecoration = textDecoration; + } + else { + textDecoration = this._textdecoration; + } + } + + if (this._text_elem) { + this._text_elem.setElementTextDecoration(textDecoration); + } + else if (this._subComp) { + this._subComp.set_textDecoration(this.textDecoration); + } + }; + + _pCellControl._hideInnerElement = function () { + var subcells = this.subcells; + + for (var i = 0, n = subcells.length; i < n; i++) { + subcells[i].set_visible(false); + } + + if (this._subComp) { + this._subComp.set_visible(false); + } + else if (this._text_elem) { + this._text_elem.setElementVisible(false); + } + + this._hideInner = true; + this.__showExpand(false); + + if (this._curDisplayType == "treeitemcontrol") { + this._subComp._treeline_visible(false); + } + }; + + _pCellControl._isShowEditor = function () { + if (this._editor) { + return this._editor.visible; + } + + return false; + }; + + _pCellControl._isEnterDownable = function () { + var cellinfo = this._refinfo; + var datarow = this._getDataRow(); + var edittype = cellinfo._getEdittype(datarow); + + if (this._curDisplayType == "checkboxcontrol" && edittype == "checkbox") { + return true; + } + else if (edittype == "button") { + return false; + } + else if (this._isShowEditor()) { + return true; + } + + return false; + }; + + _pCellControl._showInnerElement = function () { + var subcells = this.subcells; + + for (var i = 0, n = subcells.length; i < n; i++) { + subcells[i].set_visible(true); + } + + if (this._isShowEditor() == false) { + if (this._subComp) { + this._subComp.set_visible(true); + } + else if (this._text_elem) { + this._text_elem.setElementVisible(true); + } + } + this._hideInner = false; + this.__showExpand(true); + + if (this._curDisplayType == "treeitemcontrol") { + this._subComp._treeline_visible(true); + } + }; + + _pCellControl.__showExpand = function (flag) { + if (!this._expandCtrl) { + return; + } + + if (this._fakecell) { + this._expandCtrl.set_visible(false); + return; + } + + var cellinfo = this._refinfo; + var datarow = this._getDataRow(); + var expandshow = cellinfo._getAttrValue(cellinfo.expandshow, datarow); + + if (expandshow == "show") { + if (flag == false) { + this._expandCtrl.set_visible(this.selected); + } + else { + this._expandCtrl.set_visible(true); + } + } + else { + this._expandCtrl.set_visible(false); + } + }; + + _pCellControl._createDisplayer = function (displayType) { + var view = this._view; + var cellinfo = this._refinfo; + + switch (displayType) { + case "buttoncontrol": + this._createButtonDisplayer(); + break; + case "checkboxcontrol": + this._createCheckboxDisplayer(); + break; + case "imagecontrol": + this._createImageDisplayer(); + break; + case "treeitemcontrol": + this._createTreeDisplayer(); + if (view) { + view._treeCellinfo = cellinfo; + } + break; + case "combocontrol": + this._createComboDisplayer(); + break; + case "calendarcontrol": + this._createCalendarDisplayer(); + break; + case "maskeditcontrol": + this._createMaskEditDisplayer(); + break; + case "textareacontrol": + this._createTextAreaDisplayer(); + break; + case "progressbarcontrol": + this._createBarDisplayer(); + break; + case "editcontrol": + this._createEditDisplayer(); + break; + default: + this._createTextDisplayer(); + break; + } + + if (this._subComp) { + this._subComp.on_changeUserStatus = function (changestatus, value, applyuserstatus, currentstatus, currentuserstatus) { + if (this._displaymode) { + if (changestatus == "nulltext" && value) { + return changestatus; + } + else { + return applyuserstatus; + } + } + return applyuserstatus; + }; + } + + this._curDisplayType = displayType; + this.on_apply_textAlign(cellinfo.textAlign); + this.on_apply_verticalAlign(cellinfo.verticalAlign); + }; + + _pCellControl._isChangeDisplayer = function (displayType) { + var view = this._view; + var cur_disptype = this._curDisplayType; + + if ((displayType != cur_disptype) || (view && view._changeDisplayer)) { + return true; + } + + return false; + }; + + _pCellControl._updateDisplayer = function () { + var show = true; + var view = this._view; + var cellinfo = this._refinfo; + var datarow = this._getDataRow(); + var displayType = cellinfo._getDisplayTypeValue(datarow); + if (displayType === undefined) { + displayType = "normal"; + } + if (cellinfo.displaytype._bindtype > 0 && displayType === "treeitemcontrol") { + if (!view._hasTree && view._setTreeCellinfo) { + view._setTreeCellinfo(cellinfo); + view._useexprtree = true; + } + } + var expandshow = cellinfo._getAttrValue(cellinfo.expandshow, datarow); + var expandsize = cellinfo._getAttrValue(cellinfo.expandsize, datarow); + if (expandsize !== 0 && !expandsize) { + expandsize = 16; + } + + if (expandshow == "show") { + if (!this._expandCtrl) { + this._createExpandDisplayer(); + } + else { + if (this._expand_width != expandsize) { + this._expandCtrl.destroy(); + this._expandCtrl = null; + this._createExpandDisplayer(); + } + } + this._changeClientmode("expand"); + } + else { + if (this._expandCtrl) { + this._expand_width = 0; + this._expandCtrl.destroy(); + this._expandCtrl = null; + + this._changeClientmode("text"); + } + } + + if (this._isChangeDisplayer(displayType)) { + if (this._curDisplayType != "") { + this._destroyDisplayer(view ? view._lbuttondown_proc : null); + } + + this._createDisplayer(displayType); + + var def_align = cellinfo._getDefaultTextAlign(displayType, datarow); + var textelem = this._text_elem; + + if (textelem) { + textelem.setElementTextAlignByClassCSSSelector(def_align); + } + + if (this._subComp && !this._subComp._is_created) { + this._subComp.on_created(); + } + + this._updateEditor(); + } + else { + this.on_apply_wordWrap(); + } + + var fake = this._isFakeCell(); + + if (fake && view) { + if (view.fillareatype == "datarow") { + if (!this._isDisplayDataType(displayType)) { + if (displayType != "date") { + show = false; + if (fake != this._fakecell || view._resetfillarea) { + this._hideInnerElement(); + this._fakecell = fake; + } + } + } + } + else if (view.fillareatype == "linerow") { + show = false; + if (fake != this._fakecell || view._resetfillarea) { + this._hideInnerElement(); + this._fakecell = fake; + } + } + else if (view.fillareatype == "controlrow") { + if (this._isDisplayDataType(displayType)) { + show = false; + if (fake != this._fakecell || view._resetfillarea) { + this._hideInnerElement(); + this._fakecell = fake; + } + } + } + } + else { + if (fake != this._fakecell) { + this._showInnerElement(); + this._fakecell = fake; + } + } + return show; + }; + + _pCellControl._isUpdateArea = function () { + return true; + }; + + _pCellControl.set_select = function (v, no_apply) { + if (this.selected != v) { + this.selected = v; + + if (!no_apply) { + this.on_apply_select(v); + } + } + }; + + _pCellControl.on_apply_select = function (select) { + this._updateAll(); + }; + + + _pCellControl._isSelectedColor = function () { + var useselcolor = this._view ? this._view.useselcolor : false; + return (this.selected && ((useselcolor == undefined) ? true : useselcolor)); + }; + + _pCellControl._getRemoveLine = function () { + var remove_l, remove_t, remove_r, remove_b; + + if (this._isSubCell) { + remove_l = true; + remove_t = true; + remove_r = true; + remove_b = true; + } + else { + remove_l = true; + remove_t = true; + remove_r = false; + remove_b = false; + } + + return [remove_l, remove_t, remove_r, remove_b]; + }; + + _pCellControl.__update = function (status, onlycontents, nochk_updatearea) { + if (!this._is_alive) { + return false; + } + + var cellinfo = this._refinfo; + var view = this._view; + var evenodd_change = false; + + if (this.parent._rowidx >= 0) { + if (this._rowidx != this.parent._rowidx) { + var oldrowidx = this._rowidx; + this._rowidx = this.parent._rowidx; + if ((this._rowidx % 2) != (oldrowidx % 2)) { + evenodd_change = true; + } + + this._updateEditor(); + } + } + + var datarow = this._getDataRow(); + + var cssname = cellinfo._getAttrValue(cellinfo.cssclass, datarow); + + if (this.cssclass != cssname) { + this.set_cssclass(cssname); + } + else { + if (evenodd_change) { + this.on_apply_cssclass(); + } + } + + cellinfo._setCellControlProperty(this, datarow); + + var control_elem = this._control_element; + if (control_elem) { + if (!nochk_updatearea && this._isUpdateArea() == false) { + return false; + } + + var readonly = view ? !!view.readonly : false; + + if (this._is_use_auto_selected_status) { + this._changeUserStatus("selected", this._isSelectedColor()); + } + + if (cellinfo._blinked_status[datarow]) { + this._changeUserStatus("blinked", true); + } + else { + this._changeUserStatus("blinked", false); + } + + this._changeStatus("readonly", readonly); + + this._disp_show = this._updateDisplayer(); + + if (!onlycontents && status) { + this._changeStatus(status, true); + } + + this._displaytext = this._getDisplayText(); + this.on_apply_text(); + this.on_apply_textDecoration(); + + var subComp = this._subComp; + if (subComp) { + subComp._updateAll(true, readonly); + } + + if (this._expandCtrl) { + this._expandCtrl._updateAll(true, readonly); + } + + this.on_apply_prop_tooltip(); + + if (nexacro._enableaccessibility) { + this.on_apply_accessibility(); + } + } + return true; + }; + + _pCellControl._updateAll = function (status, onlycontents, nochk_updatearea) { + if (this.__update(status, onlycontents, nochk_updatearea)) { + var control_elem = this._control_element; + if (control_elem) { + var remove_line = this._getRemoveLine(); + var remove_l, remove_t, remove_r, remove_b; + + remove_l = remove_line[0]; + remove_t = remove_line[1]; + remove_r = remove_line[2]; + remove_b = remove_line[3]; + + if (this.subcells.length > 0) { + for (var i = 0, n = this.subcells.length; i < n; i++) { + this.subcells[i]._updateAll(); + } + } + else { + if (this._disp_show && this._hideInner) { + this._showInnerElement(); + } + } + + if (!onlycontents) { + this._control_element.setElementBorderNone(remove_l, remove_t, remove_r, remove_b); + } + + if (control_elem._mode == "text") { + this._changeClientmode("text"); + } + } + } + }; + + _pCellControl._updateAllEx = function () { + if (!this._is_alive) { + return false; + } + + var cellinfo = this._refinfo; + var view = this._view; + var evenodd_change = false; + + if (this.parent._rowidx >= 0) { + if (this._rowidx != this.parent._rowidx) { + var oldrowidx = this._rowidx; + this._rowidx = this.parent._rowidx; + if ((this._rowidx % 2) != (oldrowidx % 2)) { + evenodd_change = true; + } + } + } + + var datarow = this._getDataRow(); + + var cssname = cellinfo._getAttrValue(cellinfo.cssclass, datarow); + + if (this.cssclass != cssname) { + this.set_cssclass(cssname); + } + else { + if (evenodd_change) { + this.on_apply_cssclass(); + } + } + + cellinfo._setCellControlPropertyForAutosize(this, datarow); + + var control_elem = this._control_element; + if (control_elem) { + var readonly = view ? !!view.readonly : false; + + if (this._is_use_auto_selected_status) { + this._changeUserStatus("selected", this._isSelectedColor()); + } + + this._changeStatus("readonly", readonly); + this._disp_show = this._updateDisplayer(); + + this._displaytext = this._getDisplayText(); + this.on_apply_text(); + this.on_apply_textDecoration(); + + var subComp = this._subComp; + if (subComp) { + subComp._updateAll(true, readonly); + } + + if (this._expandCtrl) { + this._expandCtrl._updateAll(true, readonly); + } + + var remove_line = this._getRemoveLine(); + var remove_l, remove_t, remove_r, remove_b; + + remove_l = remove_line[0]; + remove_t = remove_line[1]; + remove_r = remove_line[2]; + remove_b = remove_line[3]; + + + + this._control_element.setElementBorderNone(remove_l, remove_t, remove_r, remove_b); + } + return true; + }; + + _pCellControl.on_apply_accessibility = function () { + nexacro.Component.prototype.on_apply_accessibility.call(this); + + if (this._subComp) { + this._subComp.on_apply_accessibility(); + } + }; + + _pCellControl.on_apply_prop_cssclass = function () { + if (this._editor) { + this._editor.on_apply_cssclass(); + } + + if (this._subComp) { + this._subComp.on_apply_cssclass(); + } + + if (this._expandCtrl) { + this._expandCtrl.on_apply_cssclass(); + } + }; + + _pCellControl.on_apply_cursor = function (cursor) { + nexacro.Component.prototype.on_apply_cursor.call(this, cursor); + + if (this._subComp) { + this._subComp.set_cursor(cursor); + } + }; + + _pCellControl._getAvailableRect = function () { + var rect = { + left : 0, + top : 0, + right : 0, + bottom : 0, + width : 0, + height : 0 + }; + rect.left = this._getClientLeft(); + rect.top = this._getClientTop(); + rect.right = this._getClientLeft() + this._getClientWidth(); + rect.bottom = this._getClientTop() + this._getClientHeight(); + rect.width = this._getClientWidth(); + rect.height = this._getClientHeight(); + + var expand_ctrl = this._expandCtrl; + + if (expand_ctrl && expand_ctrl.visible) { + rect.width -= expand_ctrl.width; + rect.right -= expand_ctrl.width; + } + + return rect; + }; + + _pCellControl._changeClientmode = function (mode) { + var control_elem = this._control_element; + if (control_elem) { + var padding = this._getCurrentStylePadding(); + + if (this._refinfo._subcells.length) { + mode = "normal"; + } + else if (mode == "expand") { + if (this._client_mode != "normal") { + mode = "expandtext"; + } + else { + mode = "normal"; + } + } + else if (mode == "text") { + if (this._expandCtrl) { + mode = "expandtext"; + } + else { + if (padding) { + mode = (padding.right > 0 || padding.bottom > 0) ? "expandtext" : "text"; + } + } + } + + if (mode == "text" || mode == "expandtext") { + if (!this._text_elem) { + this._text_elem = new nexacro.TextBoxElement(control_elem, "text"); + } + } + else { + if (this._text_elem) { + this._text_elem.destroy(); + this._text_elem = null; + } + } + + this._updateAvailableArea(true); + this._client_mode = mode; + } + }; + + _pCellControl._createExpandDisplayer = function () { + var control_elem = this._control_element; + if (control_elem) { + var cellinfo = this._refinfo; + var datarow = this._getDataRow(); + var border = this._getCurrentStyleBorder(); + var padding = this._getCurrentStylePadding(); + + this._expand_width = cellinfo._getAttrValue(cellinfo.expandsize, datarow); + + var l = this._adjust_width - this._expand_width - ((border) ? border.right._width : 0) - ((padding) ? padding.right : 0); + var t = this._getClientTop(); + var r = l + this._expand_width; + var b = t + this._getClientHeight(); + + if (l < 0) { + l = this._getClientLeft(); + r = l + this._getClientWidth(); + } + + var expCtrl = this._expandCtrl = new nexacro[this._cellExpandObj](this, l, t, r, b); + expCtrl.createComponent(); + } + }; + + _pCellControl._createTextDisplayer = function () { + var control_elem = this._control_element; + if (control_elem) { + this._changeClientmode("text"); + + var text_elem = this._text_elem; + if (text_elem) { + if (!this._is_created) { + this._displaytext = this._getDisplayText(); + this.on_apply_text(); + } + else { + text_elem.create(this._getWindow()); + } + this.on_apply_textDecoration(); + this.on_apply_wordWrap(); + } + } + }; + + _pCellControl._createButtonDisplayer = function () { + var control_elem = this._control_element; + if (control_elem) { + var rect = this._getControlRect(); + this._changeClientmode("normal"); + var controlComp = new nexacro[this._cellButtonObj]("cellbutton", rect.left, rect.top, rect.width, rect.height, this, true); + controlComp.createComponent(true); + var datarow = this._getDataRow(); + var wordwrap = this._refinfo._getWordwrap(datarow); + controlComp.set_wordWrap(wordwrap); + + this._subComp = controlComp; + } + }; + + _pCellControl._createCheckboxDisplayer = function () { + var control_elem = this._control_element; + if (control_elem) { + this._changeClientmode("normal"); + var controlComp = new nexacro[this._cellCheckBoxObj]("cellcheckbox", 0, 0, 0, 0, this, true); + controlComp.createComponent(true); + controlComp._skip_mobile_tabfocus = true; + this._subComp = controlComp; + } + }; + + _pCellControl._createImageDisplayer = function () { + var control_elem = this._control_element; + if (control_elem) { + var rect = this._getControlRect(); + this._changeClientmode("normal"); + var controlComp = new nexacro[this._cellImageObj]("cellimage", rect.left, rect.top, rect.width, rect.height, this); + controlComp.createComponent(true); + + this._subComp = controlComp; + } + }; + + _pCellControl._createComboDisplayer = function () { + var control_elem = this._control_element; + if (control_elem) { + var rect = this._getControlRect(); + this._changeClientmode("normal"); + var controlComp = new nexacro[this._cellComboObj]("cellcombo", rect.left, rect.top, rect.width, rect.height, this, true); + controlComp.createComponent(true); + controlComp.comboedit._input_element._isUseDelCaret = true; + + this._subComp = controlComp; + } + }; + + _pCellControl._createCalendarDisplayer = function () { + var control_elem = this._control_element; + if (control_elem) { + var rect = this._getControlRect(); + this._changeClientmode("normal"); + var controlComp = this._subComp = new nexacro[this._cellCalendarObj]("cellcalendar", rect.left, rect.top, rect.width, rect.height, this, true); + controlComp.createComponent(true); + controlComp.calendaredit._input_element._isUseDelCaret = true; + + this._subComp = controlComp; + } + }; + + _pCellControl._createEditDisplayer = function () { + var control_elem = this._control_element; + if (control_elem) { + var rect = this._getControlRect(); + this._changeClientmode("normal"); + var controlComp = this._subComp = new nexacro[this._cellEditObj]("celledit", rect.left, rect.top, rect.width, rect.height, this, true); + controlComp.createComponent(true); + controlComp._input_element._isUseDelCaret = true; + + this._subComp = controlComp; + } + }; + + _pCellControl._createMaskEditDisplayer = function () { + var control_elem = this._control_element; + if (control_elem) { + var rect = this._getControlRect(); + this._changeClientmode("normal"); + var controlComp = this._subComp = new nexacro[this._cellMaskEditObj]("cellmaskedit", rect.left, rect.top, rect.width, rect.height, this, true, true); + controlComp.createComponent(true); + controlComp._input_element._isUseDelCaret = true; + + this._subComp = controlComp; + } + }; + + + _pCellControl._createTextAreaDisplayer = function () { + var control_elem = this._control_element; + if (control_elem) { + var rect = this._getControlRect(); + this._changeClientmode("normal"); + var controlComp = this._subComp = new nexacro[this._cellTextAreaObj]("celltextarea", rect.left, rect.top, rect.width, rect.height, this, true); + controlComp.createComponent(true); + controlComp._input_element._isUseDelCaret = true; + var datarow = this._getDataRow(); + var wordwrap = this._refinfo._getWordwrap(datarow); + controlComp.set_wordWrap(wordwrap); + + this._subComp = controlComp; + } + }; + + _pCellControl._createBarDisplayer = function () { + var control_elem = this._control_element; + if (control_elem) { + var rect = this._getControlRect(); + this._changeClientmode("normal"); + var controlComp = this._subComp = new nexacro[this._cellProgressBarObj]("cellprogressbar", rect.left, rect.top, rect.width, rect.height, this, true); + controlComp.createComponent(true); + + this._subComp = controlComp; + } + }; + + _pCellControl._createTreeDisplayer = function (doc, target) { + var control_elem = this._control_element; + if (control_elem) { + var rect = this._getControlRect(); + var left = rect.left; + var top = rect.top; + var width = rect.width; + var height = rect.height; + + this._changeClientmode("normal"); + var controlComp = this._subComp = new nexacro[this._cellTreeObj]("celltreeitem", left, top, width, height, null, null, this); + controlComp.createComponent(true); + this._subComp = controlComp; + } + }; + + _pCellControl._updateAvailableArea = function (force) { + var rc = this._getAvailableRect(); + var subcomp = this._subComp; + + var l = rc.left; + var t = rc.top; + var w = rc.width; + var h = rc.height; + + if (!force) { + if (this._avail_left == l && this._avail_top == t && this._avail_width == w && this._avail_height == h) { + return false; + } + } + + if (subcomp) { + if (this._curDisplayType == "checkboxcontrol") { + this.on_apply_checkboxAlign("center", "middle"); + } + else { + var ctrlrc = this._getControlRect(); + subcomp.move(ctrlrc.left, ctrlrc.top, ctrlrc.width, ctrlrc.height); + } + } + + if (this._text_elem) { + this._text_elem.setElementPosition(l, t); + this._text_elem.setElementSize(w, h); + } + + if (this._editor && this._isConditionEditor()) { + this._editor.move(l, t, w, h); + } + + var expand_ctrl = this._expandCtrl; + + if (expand_ctrl) { + var left = this._getClientWidth() + this._getClientLeft() - this._expand_width; + var top = rc.top; + var width = this._expand_width; + var height = rc.height; + + if (left < 0) { + left = rc.left; + width = this._getClientWidth(); + } + + expand_ctrl.move(left, top, width, height); + } + + this._avail_left = rc.left; + this._avail_top = rc.top; + this._avail_width = rc.width; + this._avail_height = rc.height; + + return true; + }; + + _pCellControl._isEnable = function () { + if (this._view && this._view._enable !== undefined) { + return this._view._enable; + } + + if (this.parent && this.parent._isEnable) { + return this.parent._isEnable(); + } + + return true; + }; + + _pCellControl._getDisplayText = function () { + if (this._refinfo) { + var datarow = this._getDataRow(); + return this._refinfo._getDisplayText(datarow); + } + return ""; + }; + + _pCellControl._isDisplayDataType = function (displayType) { + if (displayType == "number" || displayType == "exponent" || displayType == "currency" || + displayType == "normal" || displayType == "text" || displayType == "decoratetext" || displayType == "mask" || displayType == "combotext" || displayType == "date") { + return true; + } + + return false; + }; + + _pCellControl._updateEditor = function () { + var text_elem = this._text_elem; + var editComp = this._editor; + + if (editComp) { + if (this._isConditionEditor()) { + if (text_elem) { + text_elem.setElementVisible(false); + } + if (this._subComp) { + this._subComp.set_visible(false); + } + + var rect = this._getControlRect(); + editComp.move(rect.left, rect.top, rect.width, rect.height); + } + else { + if (text_elem) { + text_elem.setElementVisible(true); + } + if (this._subComp) { + this._subComp.set_visible(true); + } + + editComp.move(-10, -10, 0, 0); + } + } + }; + + _pCellControl._isConditionEditor = function () { + return true; + }; + + _pCellControl._getAutoEnter = function () { + return this._view.autoenter; + }; + _pCellControl._getAutoUpdateType = function () { + return this._view.autoupdatetype; + }; + + _pCellControl._showEditor = function () { + if (this._isShowEditor()) { + return; + } + + var text_elem = this._text_elem; + var editComp; + var view = this._view; + + if (text_elem) { + text_elem.setElementVisible(false); + } + if (this._subComp) { + this._subComp._changeStatus("mouseover", false); + + if (nexacro._isTouchInteraction) { + nexacro._OnceCallbackTimer.callonce(this, function () { + this._subComp.set_visible(false); + }); + } + else { + this._subComp.set_visible(false); + } + } + editComp = this._createEditor(); + editComp._EditUpdateAll(); + editComp.set_visible(true); + + editComp._setFocus(false); + if (editComp.setCaretPos && !editComp.autoselect) { + editComp.setCaretPos(0); + } + else if (editComp.comboedit && editComp.comboedit.setCaretPos) { + editComp.comboedit.setCaretPos(0); + } + + if (nexacro._isTouchInteraction || (view && view.selectchangetype == "up")) { + editComp._setFocus(false); + } + + if (view && view.autoenter == "select" && view._lbuttondown_proc) { + editComp._user_push = true; + editComp._changeStatus("focused", true); + editComp._is_pushed_area = true; + editComp._is_push = true; + } + else { + editComp._changeStatus("focused", true); + } + this._editor = editComp; + }; + + _pCellControl._hideEditor = function () { + var text = this._text_elem; + if (text) { + text.setElementVisible(true); + } + + if (this._subComp) { + this._subComp.set_visible(true); + } + + var value; + if (this._editor) { + value = this._editor._getValueData(); + this._destroyEditor(); + } + return value; + }; + + _pCellControl._hasEditor = function () { + return this._refinfo._hasEditor(this._getDataRow()); + }; + + _pCellControl._destroyEditor = function () { + if (this._editor) { + if (this._tempdestroyeditor) { + if (!this._tempdestroyeditor_list) { + this._tempdestroyeditor_list = []; + } + + this._tempdestroyeditor_list.push(this._tempdestroyeditor); + + nexacro._OnceCallbackTimer.callonce(this, function () { + var tempeditor = this._tempdestroyeditor_list.pop(); + tempeditor.destroy(); + }); + } + + var editComp = this._tempdestroyeditor = this._editor; + editComp.set_visible(false); + if (nexacro._Browser == "IE") { + var control_elem = editComp.getElement(); + if (control_elem) { + control_elem.setElementDisplay("none"); + } + } + + if (nexacro._Browser == "Safari") { + nexacro._OnceCallbackTimer.callonce(editComp, function () { + editComp.set_visible(false); + }); + } + else { + if (this._control_element) { + this._control_element.setElementFocus(); + } + } + + this._editor = null; + } + }; + + _pCellControl._getFormatSize = function () { + return null; + }; + + _pCellControl._getControlRect = function () { + var rect = this._getAvailableRect(); + var fomatsize = this._getFormatSize(); + var cellinfo = this._refinfo; + var controlautosizingtype = cellinfo._getAttrValue(cellinfo.controlautosizingtype, this._getDataRow()); + + if (fomatsize != null) { + var left = rect.left, top = rect.top; + var width, height, right, bottom; + + var border = this._getCurrentStyleBorder(); + var padding = this._getCurrentStylePadding(); + var fixwidth = fomatsize[0] - (border ? border.left._width + border.right._width : 0) - (padding ? padding.left + padding.right : 0); + var fixheight = fomatsize[1] - (border ? border.top._width + border.bottom._width : 0) - (padding ? padding.top + padding.bottom : 0); + + if (controlautosizingtype == "none") { + width = fixwidth; + + if (width < rect.width) { + left += (rect.width - width) / 2; + } + + right = left + width; + + height = fixheight; + + if (height < rect.height) { + top += (rect.height - height) / 2; + } + + bottom = top + height; + + rect.left = left; + rect.top = top; + rect.width = width; + rect.height = height; + rect.right = right; + rect.bottom = bottom; + } + else if (controlautosizingtype == "width") { + height = fixheight; + + if (height < rect.height) { + top += (rect.height - height) / 2; + } + + bottom = top + height; + + rect.top = top; + rect.height = height; + rect.bottom = bottom; + } + else if (controlautosizingtype == "height") { + width = fixwidth; + + if (width < rect.width) { + left += (rect.width - width) / 2; + } + + right = left + width; + + rect.left = left; + rect.width = width; + rect.right = right; + } + } + + return rect; + }; + + _pCellControl._createidx = 0; + _pCellControl._createEditor = function () { + var cellinfo = this._refinfo; + var datarow = this._getDataRow(); + var editType = cellinfo._getEdittype(datarow); + + var creator = this["_createEditor_" + editType]; + + if (creator == null) { + creator = this._createEditor_text; + } + + this._destroyEditor(); + + this._editor = creator.call(this); + this._editor._update_datarow = this._getDataRow(); + + this._createidx++; + + return this._editor; + }; + + _pCellControl._createEditor_text = function () { + var datarow = this._getDataRow(); + var rect = this._getControlRect(); + var cellinfo = this._refinfo; + var cEdit = new nexacro[this._cellEditObj]("celledit" + this._createidx, rect.left, rect.top, rect.width, rect.height, this); + var v = cellinfo._getValue(datarow); + var editmaxlength = cellinfo._getAttrValue(cellinfo.editmaxlength, datarow); + var dataset = this._getBindDataset(); + + if (editmaxlength == 0) { + editmaxlength = dataset ? dataset._getColumnSize(cellinfo.text._bindtype == 1 ? cellinfo.text._bindexpr : 0) : 0; + } + + cEdit.set_maxlength(editmaxlength); + cEdit.set_value(v); + + cEdit.createComponent(); + + this._writable = true; + + return cEdit; + }; + + _pCellControl._createEditor_mask = function () { + var rect = this._getControlRect(); + var cellinfo = this._refinfo; + var cMaskEdit = new nexacro[this._cellMaskEditObj]("cellmaskedit" + this._createidx, rect.left, rect.top, rect.width, rect.height, this); + var datarow = this._getDataRow(); + var value = cellinfo._getValue(datarow); + var locale = cellinfo._getLocale(datarow); + var mask = cellinfo._getAttrValue(cellinfo.maskeditformat, datarow); + var type = cellinfo._getAttrValue(cellinfo.maskedittype, datarow); + + cMaskEdit.set_type(type); + if (mask) { + cMaskEdit.set_format(mask); + } + + cMaskEdit.set_locale(locale); + cMaskEdit.set_value(value); + + cMaskEdit.createComponent(); + + this._writable = true; + + return cMaskEdit; + }; + + _pCellControl._createEditor_combo = function () { + var rect = this._getControlRect(); + var cCombo = new nexacro[this._cellComboObj]("cellcombo" + this._createidx, rect.left, rect.top, rect.width, rect.height, this); + cCombo.createComponent(); + + this._writable = true; + + return cCombo; + }; + + _pCellControl._createEditor_date = function () { + var datarow = this._getDataRow(); + var rect = this._getControlRect(); + var cellinfo = this._refinfo; + var cCalendar = new nexacro[this._cellCalendarObj]("cellcalendar" + this._createidx, rect.left, rect.top, rect.width, rect.height, this); + var v = cellinfo._getValue(datarow); + var calendardateformat = cellinfo._getAttrValue(cellinfo.calendardateformat, datarow); + var calendareditformat = cellinfo._getAttrValue(cellinfo.calendareditformat, datarow); + var locale = cellinfo._getLocale(datarow); + + if (this._displaymode == true && !v) { + v = cellinfo._getDisplayText(datarow); + } + + cCalendar.createComponent(); + + if (!calendardateformat) { + calendardateformat = nexacro.Calendar.prototype.dateformat; + } + if (!calendareditformat) { + calendareditformat = nexacro.Calendar.prototype.editformat; + } + + cCalendar.set_dateformat(calendardateformat); + cCalendar.set_editformat(calendareditformat); + cCalendar.set_locale(locale); + cCalendar.set_value(v); + + cCalendar._recalcLayout(); + + this._writable = true; + + return cCalendar; + }; + + _pCellControl._createEditor_textarea = function (readonly) { + var datarow = this._getDataRow(); + var rect = this._getControlRect(); + var cellinfo = this._refinfo; + var cTextArea = new nexacro[this._cellTextAreaObj]("celltextarea" + this._createidx, rect.left, rect.top, rect.width, rect.height, this); + var v; + + if (cTextArea._displaymode == true || readonly) { + v = cellinfo._getDisplayText(datarow); + } + else { + v = cellinfo._getValue(datarow); + } + + var wordwrap = cellinfo._getWordwrap(datarow); + var textareamaxlength = cellinfo._getAttrValue(cellinfo.textareamaxlength, datarow); + var dataset = this._getBindDataset(); + var textareabartype = cellinfo._getAttrValue(cellinfo.textareascrollbartype, datarow); + var textareascrolltype = cellinfo._getAttrValue(cellinfo.textareascrolltype, datarow); + + if (textareamaxlength == 0) { + textareamaxlength = dataset ? dataset._getColumnSize(cellinfo._col) : 0; + } + + cTextArea.set_maxlength(textareamaxlength); + cTextArea.set_wordWrap(wordwrap); + cTextArea.set_value(v); + cTextArea.set_scrollbartype(textareabartype); + cTextArea.set_scrolltype(textareascrolltype); + + cTextArea.createComponent(); + + if (readonly) { + cTextArea.set_readonly(true); + } + + this._writable = !readonly; + + return cTextArea; + }; + + _pCellControl._createEditor_readonly = function () { + return this._createEditor_textarea(true); + }; + + _pCellControl._createEditor_button = function () { + var rect = this._getControlRect(); + var cButton = new nexacro[this._cellButtonObj]("cellbutton" + this._createidx, rect.left, rect.top, rect.width, rect.height, this); + cButton.createComponent(); + + if (nexacro._Browser == "IE" && !nexacro._enableaccessibility) { + nexacro._OnceCallbackTimer.callonce(this, function () { + cButton._control_element.setElementFocus(); + }, 0); + } + + this._writable = false; + + return cButton; + }; + + + _pCellControl._getAccessibilityLabel = function (is_no_make) { + var label = nexacro.Component.prototype._getAccessibilityLabel.call(this); + + if (!label && this.subcells.length > 0) { + var subcells = this.subcells; + var subcell_text; + + for (var i = 0, n = subcells.length; i < n; i++) { + if (subcell_text = subcells[i]._getDisplayText()) { + if (label) { + label = label + " " + subcell_text; + } + else { + label = subcell_text; + } + } + } + } + + if ((nexacro._accessibilitytype == 4 || nexacro._accessibilitytype == 5) && !is_no_make) { + var tmp_label = this._getAccessibilityMakeAddLabel(); + label = tmp_label + " " + label; + } + + return label; + }; + + _pCellControl._isEditable = function () { + if (this._editor) { + return (this._editor.visible && this._editor._adjust_width > 0); + } + + return false; + }; + + _pCellControl._setAccessibilityStatFocus = function () { + if (nexacro._accessibilitytype == 4 || nexacro._accessibilitytype == 5) { + return; + } + var acclabel = this._refinfo._getAttrValue(this._refinfo.accessibilitylabel, this._getDataRow()); + this.set_accessibilitylabel(acclabel); + this.on_apply_accessibility(); + + this.on_apply_prop_accessibilitydescription(); + this.on_apply_prop_accessibilityaction(); + var tmp_label = ""; + + tmp_label = this._getAccessibilityMakeAddLabel() + " " + this._getCellAccessibilityLabel(); + this._setAccessibilityStatSelected(this.selected); + tmp_label = tmp_label.trim(); + + this._setAccessibilityLabel(tmp_label); + if (this._editor && this._editor.visible && this._editor._adjust_width > 0) { + this._editor._setAccessibilityStatFocus(); + } + else if (this._subComp && this._curDisplayType != "treeitemcontrol") { + this._subComp._setAccessibilityStatFocus(); + } + else { + nexacro.Component.prototype._setAccessibilityStatFocus.call(this); + } + }; + + _pCellControl._getCellAccessibilityLabel = function () { + var tmpLabel = ""; + + + tmpLabel = this._getAccessibilityLabel(); + + + if (this._subComp) { + var subComp = this._subComp; + var displayType = this._curDisplayType; + + if (displayType == "checkboxcontrol") { + this._setAccessibilityStatChecked(subComp.isChecked()); + } + else if (displayType == "treeitemcontrol") { + var datarow = this._getDataRow(); + var cellinfo = this._refinfo; + var state = this._getTreeStatus(); + var level = cellinfo._getTreeLevel(datarow); + var startlevel = cellinfo._getTreeStartLevel(datarow); + + switch (state) { + case 0: + this._setAccessibilityStatExpanded(false); + break; + case 1: + this._setAccessibilityStatExpanded(true); + break; + default: + this._setAccessibilityStatExpanded(undefined); + } + this._setAccessibilityInfoLevel(level - startlevel + 1); + } + } + return tmpLabel; + }; + + _pCellControl._getTreeStatus = function () { + }; + + _pCellControl.__getAccessibilityMakeAddLabelMiddleClass = function () { + return ""; + }; + + _pCellControl._getAccessibilityMakeAddLabel = function () { + var tmpLabel = "", view = this._view; + + var desclevel = this._getDescLevel(); + if (desclevel == "none" || desclevel == "child") { + return ""; + } + + if (view._is_first_focus && view._control_element) { + tmpLabel = view._getAccessibilityLabel(); + } + + + tmpLabel += this.__getAccessibilityMakeAddLabelMiddleClass(); + return tmpLabel; + }; + + _pCellControl._getAccessibilityRoleParentType = function () { + }; + + _pCellControl._getAccessibilityRole = function () { + var role = this.accessibilityrole; + + if (role == "gridcell") { + var _role = this._getAccessibilityRoleParentType(); + + if (_role) { + role = _role; + } + + if (this._curDisplayType == "treeitemcontrol") { + role = "treeitem"; + } + else if (this._subComp) { + role = this._subComp._getAccessibilityRole(); + } + } + return role; + }; + + _pCellControl.on_get_accessibility_label = function () { + var usedecoratetext = false; + if (this._refinfo) { + var dt = this._refinfo.displaytype; + if (dt == "checkboxcontrol") { + return ""; + } + + usedecoratetext = (dt == "decoratetext" ? true : false); + } + + + var label = this._getDisplayText(); + if (usedecoratetext) { + return nexacro._getDisplayTextfromDecorateText(label); + } + return label; + }; + + + _pCellControl._setAccessibilityNotifyEvent = function (direction) { + var label = this._getAccessibilityMakeAddLabel(); + label += " " + this._getCellAccessibilityLabel(); + label = label.trim(); + this._setAccessibilityLabel(label); + return nexacro.Component.prototype._setAccessibilityNotifyEvent.call(this, (direction && direction > 0) ? 0 : 1); + }; + + _pCellControl._getComputedStyleWithProp = function (prop) { + var obj; + + if (prop == "background") { + obj = this._control_element._getComputedStyleBackgroundColor(); + } + else if (prop == "textAlign" || prop == "verticalAlign") { + var align = this._getCurrentStyleAlign(); + obj = align[prop]; + } + else if (prop == "font" || prop == "color" || prop == "wordSpacing" || prop == "letterSpacing") { + obj = this._getCurrentStyleInheritValue(prop, "enabled"); + } + else if (prop == "border") { + obj = this._getCurrentStyleBorder(); + } + else if (prop == "textDecoration" || prop == "borderRadius" || prop == "cursor" || prop == "opacity") { + if (prop == "textDecoration") { + prop = "-nexa-text-decoration"; + } + if (prop == "borderRadius") { + prop = "border-radius"; + } + + obj = nexacro._getStyleProperty(this, prop); + } + else { + obj = this._getCSSStyleValue(prop, "enabled"); + } + + return obj; + }; + + _pCellControl._getComputedStyle = function (is_subcomp) { + var ctrl_cs = { + "styles" : { + }, + "subcomp" : { + "styles" : null + } + }; + var properties = this._computed_prop_list; + var prop; + + for (var i = 0, n = properties.length; i < n; i++) { + prop = properties[i]; + ctrl_cs.styles[prop] = this._getComputedStyleWithProp(prop); + } + + if (is_subcomp && this._subComp) { + ctrl_cs.subcomp = this._subComp._getComputedStyle(); + } + + return ctrl_cs; + }; + + _pCellControl._setComputedStyle = function (ctrl_cs) { + var properties = this._computed_prop_list; + var subcomp = this._subComp; + + for (var i = 0; i < properties.length; i++) { + var prop_name = properties[i]; + var func_name = "set_" + prop_name; + + if (ctrl_cs.styles) { + var val = ctrl_cs.styles[prop_name]; + val = val && val.value ? val.value : val; + + if (this[func_name]) { + this[func_name].call(this, val); + } + } + } + + if (subcomp) { + subcomp._setComputedStyle(ctrl_cs.subcomp); + } + }; + + _pCellControl.on_apply_padding = function (padding) { + var control_elem = this._control_element; + if (control_elem) { + this._updateAvailableArea(); + } + }; + + _pCellControl.on_apply_prop_enable = function (v) { + nexacro.Component.prototype.on_apply_prop_enable.call(this, v); + + if (this._subComp) { + this._subComp._setEnable(v); + } + }; + + _pCellControl.on_apply_prop_rtl = function () { + if (this._is_created) { + return; + } + + var v = this.rtl = this._refinfo._getAttrValue(this._refinfo.rtl, this._getDataRow()); + this._rtl = nexacro._isBoolean(v) ? nexacro._toBoolean(v) : undefined; + + nexacro.Component.prototype.on_apply_prop_rtl.call(this); + + if (this._subComp) { + this._subComp.set_rtl(this.rtl); + } + }; + _pCellControl._getPositionInRootComponent = nexacro._emptyFn; + + nexacro._CellExpandControl = function (parent, left, top, right, bottom, controlmode) { + nexacro.Button.call(this, "cellexpandbutton", left, top, right - left, bottom - top, null, null, null, null, null, null, parent); + + + this._controlmode = (controlmode) ? true : false; + this._view = parent._view; + this._cellobj = parent; + this._cellinfo = parent._refinfo; + this._setControl(); + }; + + var _pCellExpand = nexacro._createPrototype(nexacro.Button, nexacro._CellExpandControl); + nexacro._CellExpandControl.prototype = _pCellExpand; + _pCellExpand._is_subcontrol = true; + + _pCellExpand.on_destroy_contents = function () { + nexacro.Button.prototype.on_destroy_contents.call(this); + this._view = null; + this._cellobj = null; + this._cellinfo = null; + }; + + _pCellExpand._isEnable = function () { + if (this._view && this._view._enable !== undefined) { + return this._view._enable; + } + + if (this.parent && this.parent._isEnable) { + return this.parent._isEnable(); + } + + return true; + }; + + _pCellExpand._updateAll = function (onlycontents, breadonly) { + var control_elem = this._control_element; + if (control_elem) { + if (breadonly !== undefined) { + if (this.on_apply_readonly) { + this.on_apply_readonly(breadonly); + } + else { + this._changeStatus("readonly", breadonly); + } + } + var datarow = this._cellobj._getDataRow(); + + if (!onlycontents) { + this._apply_status(this._oldstatus, this._status, this._olduserstatus, this._userstatus); + } + + if (this._cellinfo) { + var icon = this._cellinfo._getAttrValue(this._cellinfo.expandimage, datarow); + + if (icon) { + this.set_icon(icon); + } + + var text = this._cellinfo._getAttrValue(this._cellinfo.expandchar, datarow); + this.set_text(text); + } + } + }; + + _pCellExpand._setAlign = function (halign, valign) { + var elem = this._text_elem; + + if (elem) { + if (halign) { + this.set_textAlign(halign); + } + if (valign) { + this.set_verticalAlign(valign); + } + } + }; + + _pCellExpand.on_fire_ondblclick = function (button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientX, clientY, from_comp, from_refer_comp) { + return this._cellobj.on_fire_ondblclick(button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientX, clientY, from_comp, from_refer_comp, "expandbutton"); + }; + + _pCellExpand.on_fire_onclick = function (button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientX, clientY, from_comp, from_refer_comp) { + return this._cellobj.on_fire_onclick(button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientX, clientY, from_comp, from_refer_comp, "expandbutton"); + }; + + _pCellExpand._setAccessibilityStatFocus = function () { + var cellobj = this._cellobj; + this._control_element.setElementAccessibilityLabel(cellobj._getAccessibilityLabel()); + this._control_element.setElementAccessibilityAction(cellobj.accessibilityaction); + this._control_element.setElementAccessibilityDescription(cellobj.accessibilitydescription); + this._control_element.setElementAccessibilityParentLabel(cellobj._getAccessibilityMakeAddLabel().trim()); + + nexacro.Button.prototype._setAccessibilityStatFocus.call(this); + }; + + _pCellExpand.on_get_accessibility_description = function () { + if (this._cellobj) { + var tooltiptext = this._cellobj.tooltiptext; + return nexacro._isNull(tooltiptext) ? "" : tooltiptext; + } + return ""; + }; + + _pCellExpand.on_get_accessibility_label = function () { + return this.text; + }; + + nexacro._CellButtonControl = function (id, left, top, width, height, parent, displaymode, controlmode) { + nexacro.Button.call(this, id, left, top, width, height, null, null, null, null, null, null, parent); + + this.tabstop = false; + this._clickevt_able = true; + this._displaymode = (displaymode) ? true : false; + this._controlmode = (controlmode) ? true : false; + this._view = parent._view; + this._cellinfo = parent._refinfo; + this._cellobj = parent; + this._setControl(); + }; + + var _pCellButton = nexacro._createPrototype(nexacro.Button, nexacro._CellButtonControl); + nexacro._CellButtonControl.prototype = _pCellButton; + _pCellButton._is_subcontrol = true; + + _pCellButton.on_getIDCSSSelector = function () { + return "cellbutton"; + }; + + _pCellButton.on_destroy_contents = function () { + nexacro.Button.prototype.on_destroy_contents.call(this); + this._view = null; + this._cellinfo = null; + this._cellobj = null; + }; + + _pCellButton._apply_setfocus = function (evt_name) { + if (!this._displaymode || nexacro._enableaccessibility) { + nexacro.Button.prototype._apply_setfocus.call(this, evt_name); + } + }; + + _pCellButton._isEnable = function () { + if (this._view && this._view._enable !== undefined) { + return this._view._enable; + } + + if (this.parent && this.parent._isEnable) { + return this.parent._isEnable(); + } + + return true; + }; + + _pCellButton.on_fire_onclick = function (button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientX, clientY, from_comp, from_refer_comp) { + nexacro.Button.prototype.on_fire_onclick.call(this, button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientX, clientY, from_comp, from_refer_comp); + this._cellobj.on_fire_onclick(button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientX, clientY, from_comp, from_refer_comp, "control"); + return true; + }; + + _pCellButton.on_fire_ondblclick = function (button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientX, clientY, from_comp, from_refer_comp) { + nexacro.Button.prototype.on_fire_ondblclick.call(this, button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientX, clientY, from_comp, from_refer_comp); + this._cellobj.on_fire_ondblclick(button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientX, clientY, from_comp, from_refer_comp, "control"); + return true; + }; + + _pCellButton._EditUpdateAll = function () { + if (this._control_element) { + this._updateAll(); + + var datarow = this._cellobj._getDataRow(); + var wordwrap = this._cellinfo._getWordwrap(datarow); + this.set_wordWrap(wordwrap); + } + }; + + _pCellButton._setProperty = function (onlycontrolprop) { + var cellinfo = this._cellinfo; + var cellobj = this._cellobj; + var datarow = cellobj._getDataRow(); + + if (onlycontrolprop) { + return; + } + + var v; + if (this._displaymode == true) { + v = cellinfo._getDisplayText(datarow); + } + else { + v = cellinfo._getValue(datarow, !this._writable); + } + + if (v != null) { + this.set_text(v); + } + else { + this.set_text(""); + } + }; + + _pCellButton._getValueData = function () { + }; + + _pCellButton._updateAll = function (onlycontents, breadonly) { + if (breadonly !== undefined) { + if (this.on_apply_readonly) { + this.on_apply_readonly(breadonly); + } + else { + this._changeStatus("readonly", breadonly); + } + } + if (!onlycontents) { + this._apply_status(this._oldstatus, this._status, this._olduserstatus, this._userstatus); + } + + this._setProperty(); + }; + + _pCellButton._setAccessibilityStatFocus = function () { + var cellobj = this._cellobj; + this._control_element.setElementAccessibilityLabel(cellobj._getAccessibilityLabel()); + this._control_element.setElementAccessibilityAction(cellobj.accessibilityaction); + this._control_element.setElementAccessibilityDescription(cellobj.accessibilitydescription); + this._control_element.setElementAccessibilityParentLabel(cellobj._getAccessibilityMakeAddLabel().trim()); + + nexacro.Component.prototype._setAccessibilityStatFocus.call(this); + }; + + _pCellButton.on_get_accessibility_description = function () { + if (this._cellobj) { + var tooltiptext = this._cellobj.tooltiptext; + return nexacro._isNull(tooltiptext) ? "" : tooltiptext; + } + return ""; + }; + + _pCellButton.on_get_accessibility_label = function () { + return this.text; + }; + + _pCellButton._getAccessibilityRole = function () { + return this._cellobj ? this._cellobj.accessibilityrole : this.accessibilityrole ? this.accessibilityrole : "none"; + }; + + _pCellButton._getComputedStyle = function () { + if (!nexacro._getComputedStyleProperties) { + return; + } + + var properties = this._computed_prop_list; + properties = properties.toString(); + + var ctrl_cs = { + "styles" : null + }; + + var str = nexacro._getComputedStyleProperties(this._control_element, properties, null, true); + eval("ctrl_cs.styles = " + str); + + return ctrl_cs; + }; + + _pCellButton._setComputedStyle = function (ctrl_cs) { + var properties = this._computed_prop_list; + for (var i = 0; i < properties.length; i++) { + var prop_name = properties[i]; + var func_name = "set_" + prop_name; + + if (ctrl_cs.styles) { + if (this[func_name]) { + this[func_name].call(this, ctrl_cs.styles[prop_name]); + } + } + } + }; + + _pCellButton._getCurrentStyleAlign = function (noflush) { + return this._cellobj._getCurrentStyleAlign(noflush); + }; + + nexacro._CellProgressBarControl = function (id, left, top, width, height, parent, controlmode) { + nexacro.ProgressBar.call(this, id, left, top, width, height, null, null, null, null, null, null, parent); + + this.tabstop = false; + this.max = 100; + this.min = 0; + this.step = 1; + this._controlmode = (controlmode) ? true : false; + this._view = parent._view; + this._cellinfo = parent._refinfo; + this._cellobj = parent; + this._setControl(); + }; + var _pCellBar = nexacro._CellProgressBarControl.prototype = nexacro._createPrototype(nexacro.ProgressBar, nexacro._CellProgressBarControl); + _pCellBar._is_subcontrol = true; + + _pCellBar.on_destroy_contents = function () { + nexacro.ProgressBar.prototype.on_destroy_contents.call(this); + this._view = null; + this._cellinfo = null; + this._cellobj = null; + }; + + _pCellBar.set_text = function (v) { + var retn = nexacro.Component.prototype.set_text.call(this, v); + this.set_pos(parseInt(this._displaytext)); + return retn; + }; + + _pCellBar._isEnable = function () { + if (this._view && this._view._enable !== undefined) { + return this._view._enable; + } + + if (this.parent && this.parent._isEnable) { + return this.parent._isEnable(); + } + + return true; + }; + + _pCellBar.on_fire_onclick = function (button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientX, clientY, from_comp, from_refer_comp) { + return this._cellobj.on_fire_onclick(button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientX, clientY, from_comp, from_refer_comp, "control"); + }; + + _pCellBar.on_fire_ondblclick = function (button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientX, clientY, from_comp, from_refer_comp) { + return this._cellobj.on_fire_ondblclick(button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientX, clientY, from_comp, from_refer_comp, "control"); + }; + + _pCellBar._getDisplayText = function () { + if (this.parent) { + return this.parent._getDisplayText(); + } + + return ""; + }; + + _pCellBar._updateAll = function (onlycontents, breadonly) { + if (breadonly !== undefined) { + if (this.on_apply_readonly) { + this.on_apply_readonly(breadonly); + } + else { + this._changeStatus("readonly", breadonly); + } + } + if (!onlycontents) { + this._apply_status(this._oldstatus, this._status, this._olduserstatus, this._userstatus); + } + + this._setProperty(); + }; + + _pCellBar._setProperty = function (onlycontrolprop) { + var cellinfo = this._cellinfo; + var cellobj = this._cellobj; + var datarow = cellobj._getDataRow(); + + cellinfo._setCellChildControlProperty("progressbar", this, datarow); + + if (onlycontrolprop) { + return; + } + + var v = cellinfo._getDisplayText(datarow); + + if (v != null) { + this.set_text(v); + } + else { + this.set_text(""); + } + }; + + _pCellBar._setAccessibilityStatFocus = function () { + var cellobj = this._cellobj; + this._control_element.setElementAccessibilityLabel(cellobj._getAccessibilityLabel()); + this._control_element.setElementAccessibilityAction(cellobj.accessibilityaction); + this._control_element.setElementAccessibilityDescription(cellobj.accessibilitydescription); + this._control_element.setElementAccessibilityParentLabel(cellobj._getAccessibilityMakeAddLabel().trim()); + + nexacro.Component.prototype._setAccessibilityStatFocus.call(this); + }; + + _pCellBar.on_get_accessibility_description = function () { + if (this._cellobj) { + var tooltiptext = this._cellobj.tooltiptext; + return nexacro._isNull(tooltiptext) ? "" : tooltiptext; + } + return ""; + }; + + _pCellBar._getComputedStyle = function () { + if (!nexacro._getComputedStyleProperties) { + return; + } + + var properties = this._computed_prop_list; + properties = properties.toString(); + + var ctrl_cs = { + "styles" : null, + "progressbaritem" : { + styles : null + }, + "progressbartext" : { + styles : null + }, + "progressstartcap" : { + styles : null + }, + "progressendcap" : { + styles : null + } + }; + + var str = nexacro._getComputedStyleProperties(this._control_element, properties, null, true); + eval("ctrl_cs.styles = " + str); + + if (this.progressbaritem) { + str = nexacro._getComputedStyleProperties(this.progressbaritem._control_element, properties, null, true); + eval("ctrl_cs.progressbaritem.styles = " + str); + } + if (this.progressbartext) { + str = nexacro._getComputedStyleProperties(this.progressbartext._control_element, properties, null, true); + eval("ctrl_cs.progressbartext.styles = " + str); + } + if (this.progressstartcap) { + str = nexacro._getComputedStyleProperties(this.progressstartcap._control_element, properties, null, true); + eval("ctrl_cs.progressstartcap.styles = " + str); + } + if (this.progressendcap) { + str = nexacro._getComputedStyleProperties(this.progressendcap._control_element, properties, null, true); + eval("ctrl_cs.progressendcap.styles = " + str); + } + return ctrl_cs; + }; + + _pCellBar._setComputedStyle = function (ctrl_cs) { + var properties = this._computed_prop_list; + var progressbaritem = this.progressbaritem; + var progressbartext = this.progressbartext; + var progressstartcap = this.progressstartcap; + var progressendcap = this.progressendcap; + + for (var i = 0; i < properties.length; i++) { + var prop_name = properties[i]; + var func_name = "set_" + prop_name; + + if (ctrl_cs.styles) { + if (this[func_name]) { + this[func_name].call(this, ctrl_cs.styles[prop_name]); + } + } + + if (progressbaritem) { + if (ctrl_cs.progressbaritem.styles) { + if (progressbaritem[func_name]) { + progressbaritem[func_name].call(progressbaritem, ctrl_cs.progressbaritem.styles[prop_name]); + } + } + } + if (progressbartext) { + if (ctrl_cs.progressbartext.styles) { + if (progressbartext[func_name]) { + progressbartext[func_name].call(progressbartext, ctrl_cs.progressbartext.styles[prop_name]); + } + } + } + if (progressstartcap) { + if (ctrl_cs.progressstartcap.styles) { + if (progressstartcap[func_name]) { + progressstartcap[func_name].call(progressstartcap, ctrl_cs.progressstartcap.styles[prop_name]); + } + } + } + if (progressendcap) { + if (ctrl_cs.progressendcap.styles) { + if (progressendcap[func_name]) { + progressendcap[func_name].call(progressendcap, ctrl_cs.progressendcap.styles[prop_name]); + } + } + } + } + }; + + _pCellBar._getCurrentStyleAlign = function (noflush) { + return this._cellobj._getCurrentStyleAlign(noflush); + }; + + nexacro._CellEditControl = function (id, left, top, width, height, parent, displaymode, controlmode) { + nexacro.Edit.call(this, id, left, top, width, height, null, null, null, null, null, null, parent, displaymode); + + this.tabstop = false; + + if (displaymode) { + this._displaymode = true; + this.readonly = true; + } + else { + this._displaymode = false; + } + + this._controlmode = (controlmode) ? true : false; + this._view = parent._view; + this._cellinfo = parent._refinfo; + this._cellobj = parent; + + this._setControl(); + }; + + var _pCellEdit = nexacro._createPrototype(nexacro.Edit, nexacro._CellEditControl); + nexacro._CellEditControl.prototype = _pCellEdit; + _pCellEdit._is_subcontrol = true; + + _pCellEdit.on_getIDCSSSelector = function () { + return "celledit"; + }; + + _pCellEdit.on_destroy_contents = function () { + nexacro.Edit.prototype.on_destroy_contents.call(this); + this._view = null; + this._cellinfo = null; + this._cellobj = null; + }; + + _pCellEdit._apply_setfocus = function (evt_name, self_flag, callback) { + if (this._view._onceTime_focus && !callback) { + nexacro._OnceCallbackTimer.callonce(this, function () { + var _win = this._getWindow(); + if (!_win || !_win._isActiveLayerComponent(this)) { + return; + } + + this._apply_setfocus(evt_name, self_flag, true); + }, 0); + return; + } + return nexacro.Edit.prototype._apply_setfocus.call(this, evt_name, self_flag); + }; + + _pCellEdit.setOnlyElementFocus = function () { + if (this._input_element) { + this._input_element._applyElementFocus(); + } + }; + + _pCellEdit.on_fire_oninput = function () { + nexacro.Edit.prototype.on_fire_oninput.call(this); + return this._cellobj.on_fire_oninput(); + }; + + _pCellEdit.on_fire_onclick = function (button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientX, clientY, from_comp, from_refer_comp, clickitem) { + nexacro.Edit.prototype.on_fire_onclick.call(this, button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientX, clientY, from_comp, from_refer_comp); + this._cellobj.on_fire_onclick(button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientX, clientY, from_comp, from_refer_comp, clickitem); + return true; + }; + + _pCellEdit.on_fire_ondblclick = function (button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientX, clientY, from_comp, from_refer_comp) { + if (this._displaymode) { + this.setSelect(0, 0); + } + + nexacro.Edit.prototype.on_fire_ondblclick.call(this, button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientX, clientY, from_comp, from_refer_comp); + this._cellobj.on_fire_ondblclick(button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientX, clientY, from_comp, from_refer_comp, "control"); + return true; + }; + + _pCellEdit.on_getBindableProperties = function () { + if (!this._displaymode) { + return "value"; + } + }; + + _pCellEdit._isEnable = function () { + if (this._view && this._view._enable !== undefined) { + return this._view._enable; + } + + if (this.parent && this.parent._isEnable) { + return this.parent._isEnable(); + } + + return true; + }; + + _pCellEdit._updateAll = function (onlycontents, breadonly) { + if (breadonly !== undefined) { + if (this.on_apply_readonly) { + this.on_apply_readonly(breadonly); + } + else { + this._changeStatus("readonly", breadonly); + } + } + if (!onlycontents) { + this._apply_status(this._oldstatus, this._status, this._olduserstatus, this._userstatus); + } + + this._setProperty(); + }; + + _pCellEdit._setProperty = function (onlycontrolprop) { + var cellinfo = this._cellinfo; + var cellobj = this._cellobj; + var datarow = cellobj._getDataRow(); + + cellinfo._setCellChildControlProperty("edit", this, datarow); + + if (this._view) { + this.set_usesoftkeyboard(this._view.usesoftkeyboard); + } + + if (onlycontrolprop) { + return; + } + + var v; + if (this._displaymode == true) { + v = cellinfo._getDisplayText(datarow); + } + else { + v = cellinfo._getValue(datarow); + } + + this.set_value(v); + }; + + _pCellEdit._setEditingValue = function (value) { + return this.set_value(value); + }; + + _pCellEdit._EditUpdateAll = function () { + this._updateAll(); + }; + + _pCellEdit._getEditingText = function () { + return this.text; + }; + + _pCellEdit._getEditingValue = function () { + return this.value; + }; + + _pCellEdit._getValueData = function () { + return this.value; + }; + + _pCellEdit._setAccessibilityStatFocus = function () { + var cellobj = this._cellobj; + this._control_element.setElementAccessibilityLabel(cellobj._getAccessibilityLabel()); + this._control_element.setElementAccessibilityAction(cellobj.accessibilityaction); + this._control_element.setElementAccessibilityDescription(cellobj.accessibilitydescription); + this._control_element.setElementAccessibilityParentLabel(cellobj._getAccessibilityMakeAddLabel().trim()); + nexacro.Component.prototype._setAccessibilityStatFocus.call(this); + }; + + _pCellEdit.on_get_accessibility_description = function () { + if (this._cellobj) { + var tooltiptext = this._cellobj.tooltiptext; + return nexacro._isNull(tooltiptext) ? "" : tooltiptext; + } + return ""; + }; + + _pCellEdit._getComputedStyle = function () { + if (!nexacro._getComputedStyleProperties) { + return; + } + + var properties = this._computed_prop_list; + properties = properties.toString(); + + var ctrl_cs = { + "styles" : null + }; + + var str = nexacro._getComputedStyleProperties(this._control_element, properties, null, true); + eval("ctrl_cs.styles = " + str); + + return ctrl_cs; + }; + + _pCellEdit._setComputedStyle = function (ctrl_cs) { + var properties = this._computed_prop_list; + for (var i = 0; i < properties.length; i++) { + var prop_name = properties[i]; + var func_name = "set_" + prop_name; + + if (ctrl_cs.styles) { + if (this[func_name]) { + this[func_name].call(this, ctrl_cs.styles[prop_name]); + } + } + } + }; + + _pCellEdit._getCurrentStyleAlign = function (noflush) { + var align = { + textAlign : "center", + verticalAlign : "middle" + }; + + if (this._input_element) { + align = this._input_element._getComputedStyleAlign(noflush); + } + + return align; + }; + + nexacro._CellTextAreaControl = function (id, left, top, width, height, parent, displaymode, controlmode) { + nexacro.TextArea.call(this, id, left, top, width, height, null, null, null, null, null, null, parent, displaymode); + this.tabstop = false; + + if (displaymode) { + this._displaymode = true; + this.readonly = true; + } + else { + this._displaymode = false; + } + + this._controlmode = (controlmode) ? true : false; + this._view = parent._view; + this._cellinfo = parent._refinfo; + this._cellobj = parent; + + this._setControl(); + }; + + var _pCellTextArea = nexacro._createPrototype(nexacro.TextArea, nexacro._CellTextAreaControl); + nexacro._CellTextAreaControl.prototype = _pCellTextArea; + _pCellTextArea._is_subcontrol = true; + + _pCellTextArea.on_getIDCSSSelector = function () { + return "celltextarea"; + }; + + _pCellTextArea.on_destroy_contents = function () { + nexacro.TextArea.prototype.on_destroy_contents.call(this); + this._view = null; + this._cellinfo = null; + this._cellobj = null; + }; + + _pCellTextArea._apply_setfocus = function (evt_name, self_flag, callback) { + if (this._view._onceTime_focus && !callback) { + nexacro._OnceCallbackTimer.callonce(this, function () { + var _win = this._getWindow(); + if (!_win || !_win._isActiveLayerComponent(this)) { + return; + } + + this._apply_setfocus(evt_name, self_flag, true); + }, 0); + return; + } + return nexacro.TextArea.prototype._apply_setfocus.call(this, evt_name, self_flag); + }; + + _pCellTextArea.setOnlyElementFocus = _pCellEdit.setOnlyElementFocus; + + _pCellTextArea.on_fire_oninput = function () { + nexacro.TextArea.prototype.on_fire_oninput.call(this); + return this._cellobj.on_fire_oninput(); + }; + + _pCellTextArea.on_fire_onclick = function (button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientX, clientY, from_comp, from_refer_comp, clickitem) { + nexacro.TextArea.prototype.on_fire_onclick.call(this, button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientX, clientY, from_comp, from_refer_comp); + this._cellobj.on_fire_onclick(button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientX, clientY, from_comp, from_refer_comp, clickitem); + return true; + }; + + _pCellTextArea.on_fire_ondblclick = function (button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientX, clientY, from_comp, from_refer_comp) { + if (this._displaymode) { + this.setSelect(0, 0); + } + + nexacro.TextArea.prototype.on_fire_ondblclick.call(this, button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientX, clientY, from_comp, from_refer_comp); + this._cellobj.on_fire_ondblclick(button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientX, clientY, from_comp, from_refer_comp, "control"); + return true; + }; + + _pCellTextArea.on_keydown_basic_action = function (keycode, alt_key, ctrl_key, shift_key, refer_comp) { + nexacro.TextArea.prototype.on_keydown_basic_action.call(this, keycode, alt_key, ctrl_key, shift_key, refer_comp); + + var cellinfo = this._cellinfo; + var cellobj = this._cellobj; + var datarow = cellobj._getDataRow(); + var acceptsenter = cellinfo._getAttrValue(cellinfo.textareaacceptsenter, datarow); + acceptsenter = nexacro._toBoolean(acceptsenter); + + if (keycode == nexacro.Event.KEY_ENTER) { + if ((acceptsenter && (!ctrl_key && !alt_key)) || (!acceptsenter && (ctrl_key || alt_key))) { + var input_elem = this._input_element; + var pos = this.getCaretPos(); + var text = this.text; + var chars = text.split(""); + + chars.splice(pos, 0, "\n"); + var newValue = chars.join(""); + var newPos = pos + "\n".length; + + if (input_elem && (this.maxlength == 0 || newValue.length <= this.maxlength)) { + nexacro._OnceCallbackTimer.callonce(this, function () { + input_elem.updateElementText(newValue, newPos); + + if (this.scrollbartype == "none" && (this.scrolltype == "both" || this.scrolltype == "vertical")) { + var textsize = nexacro._getTextSize("A", this._getCurrentStyleInheritValue("font"), false, undefined, "none", this._getCurrentStyleInheritValue("wordSpacing"), this._getCurrentStyleInheritValue("letterSpacing")); + + var caretline = this._getCaretLine(); + var control_elem = this.getElement(); + var clientheight = control_elem.getClientHeight(); + + var scroll_pos = (textsize[1] * caretline) - clientheight; + if (scroll_pos > 0) { + input_elem.setElementVScrollPos(scroll_pos); + var adjust_scrollpos = scroll_pos + (textsize[1] - (scroll_pos % textsize[1])); + input_elem.setElementVScrollPos(adjust_scrollpos); + } + } + }, 0); + input_elem.stopSysEvent(); + } + } + } + }; + + _pCellTextArea.on_getBindableProperties = function () { + if (!this._displaymode) { + return "value"; + } + }; + + _pCellTextArea._isEnable = _pCellEdit._isEnable; + + _pCellTextArea._updateAll = function (onlycontents, breadonly) { + if (breadonly !== undefined) { + if (this.on_apply_readonly) { + this.on_apply_readonly(breadonly); + } + else { + this._changeStatus("readonly", breadonly); + } + } + if (!onlycontents) { + this._apply_status(this._oldstatus, this._status, this._olduserstatus, this._userstatus); + } + + this._setProperty(); + }; + + _pCellTextArea._setProperty = function (onlycontrolprop) { + var cellinfo = this._cellinfo; + var cellobj = this._cellobj; + var datarow = cellobj._getDataRow(); + var v; + + if (!onlycontrolprop) { + if (this._displaymode == true || this.readonly) { + v = cellinfo._getDisplayText(datarow); + } + else { + v = cellinfo._getValue(datarow); + } + + this.set_value(v); + } + + cellinfo._setCellChildControlProperty("textarea", this, datarow); + + if (this._displaymode == true) { + this.set_scrollbartype("none"); + } + else { + v = cellinfo._getAttrValue(cellinfo.textareascrollbartype, datarow); + + if (v != null) { + this.set_scrollbartype(v); + } + else { + this.set_scrollbartype("none"); + } + } + + v = cellinfo._getAttrValue(cellinfo.textareascrolltype, datarow); + + if (v != null) { + this.set_scrolltype(v); + } + else { + this.set_scrolltype("none"); + } + + v = cellinfo._getControlScrollbarsize(datarow, "textarea"); + if (v != null) { + this.set_scrollbarsize(v); + } + + if (this._view) { + this.set_usesoftkeyboard(this._view.usesoftkeyboard); + } + }; + + _pCellTextArea._setEditingValue = function (value) { + return this.set_value(value); + }; + + _pCellTextArea._EditUpdateAll = function () { + if (this._control_element) { + var datarow = this._cellobj._getDataRow(); + + this._updateAll(); + + var wordwrap = this._cellinfo._getWordwrap(datarow); + this.set_wordWrap(wordwrap); + } + }; + + _pCellTextArea._getEditingText = function () { + return this.text; + }; + + _pCellTextArea._getEditingValue = function () { + return this.value; + }; + + _pCellTextArea._getValueData = function () { + return this.value; + }; + + _pCellTextArea._setAccessibilityStatFocus = function () { + var cellobj = this._cellobj; + this._control_element.setElementAccessibilityLabel(cellobj._getAccessibilityLabel()); + this._control_element.setElementAccessibilityAction(cellobj.accessibilityaction); + this._control_element.setElementAccessibilityDescription(cellobj.accessibilitydescription); + this._control_element.setElementAccessibilityParentLabel(cellobj._getAccessibilityMakeAddLabel().trim()); + + nexacro.Component.prototype._setAccessibilityStatFocus.call(this); + }; + + _pCellTextArea.on_get_accessibility_description = function () { + if (this._cellobj) { + var tooltiptext = this._cellobj.tooltiptext; + return nexacro._isNull(tooltiptext) ? "" : tooltiptext; + } + return ""; + }; + + _pCellTextArea._getComputedStyle = function () { + if (!nexacro._getComputedStyleProperties) { + return; + } + + var properties = this._computed_prop_list; + properties = properties.toString(); + + var ctrl_cs = { + "styles" : null, + "hscrollbar" : { + styles : null, + "decbutton" : { + styles : null + }, + "incbutton" : { + styles : null + }, + "trackbar" : { + styles : null + } + }, + "vscrollbar" : { + styles : null, + "decbutton" : { + styles : null + }, + "incbutton" : { + styles : null + }, + "trackbar" : { + styles : null + } + } + }; + + var str = nexacro._getComputedStyleProperties(this._control_element, properties, null, true); + eval("ctrl_cs.styles = " + str); + + if (this.hscrollbar) { + str = nexacro._getComputedStyleProperties(this.hscrollbar._control_element, properties, null, true); + eval("ctrl_cs.hscrollbar.styles = " + str); + + str = nexacro._getComputedStyleProperties(this.hscrollbar.decbutton._control_element, properties, null, true); + eval("ctrl_cs.hscrollbar.decbutton.styles = " + str); + + str = nexacro._getComputedStyleProperties(this.hscrollbar.incbutton._control_element, properties, null, true); + eval("ctrl_cs.hscrollbar.incbutton.styles = " + str); + + str = nexacro._getComputedStyleProperties(this.hscrollbar.trackbar._control_element, properties, null, true); + eval("ctrl_cs.hscrollbar.trackbar.styles = " + str); + } + if (this.vscrollbar) { + str = nexacro._getComputedStyleProperties(this.vscrollbar._control_element, properties, null, true); + eval("ctrl_cs.vscrollbar.styles = " + str); + + str = nexacro._getComputedStyleProperties(this.vscrollbar.decbutton._control_element, properties, null, true); + eval("ctrl_cs.vscrollbar.decbutton.styles = " + str); + + str = nexacro._getComputedStyleProperties(this.vscrollbar.incbutton._control_element, properties, null, true); + eval("ctrl_cs.vscrollbar.incbutton.styles = " + str); + + str = nexacro._getComputedStyleProperties(this.vscrollbar.trackbar._control_element, properties, null, true); + eval("ctrl_cs.vscrollbar.trackbar.styles = " + str); + } + return ctrl_cs; + }; + + _pCellTextArea._setComputedStyle = function (ctrl_cs) { + var properties = this._computed_prop_list; + var hscrollbar = this.hscrollbar; + var vscrollbar = this.vscrollbar; + + for (var i = 0; i < properties.length; i++) { + var prop_name = properties[i]; + var func_name = "set_" + prop_name; + + if (ctrl_cs.styles) { + if (this[func_name]) { + this[func_name].call(this, ctrl_cs.styles[prop_name]); + } + } + + if (hscrollbar) { + if (ctrl_cs.hscrollbar.styles) { + if (hscrollbar[func_name]) { + hscrollbar[func_name].call(hscrollbar, ctrl_cs.hscrollbar.styles[prop_name]); + } + } + if (ctrl_cs.hscrollbar.decbutton.styles) { + if (hscrollbar.decbutton[func_name]) { + hscrollbar.decbutton[func_name].call(hscrollbar.decbutton, ctrl_cs.hscrollbar.decbutton.styles[prop_name]); + } + } + if (ctrl_cs.hscrollbar.incbutton.styles) { + if (hscrollbar.incbutton[func_name]) { + hscrollbar.incbutton[func_name].call(hscrollbar.incbutton, ctrl_cs.hscrollbar.incbutton.styles[prop_name]); + } + } + if (ctrl_cs.hscrollbar.trackbar.styles) { + if (hscrollbar.trackbar[func_name]) { + hscrollbar.trackbar[func_name].call(hscrollbar.trackbar, ctrl_cs.hscrollbar.trackbar.styles[prop_name]); + } + } + } + + if (vscrollbar) { + if (ctrl_cs.vscrollbar.styles) { + if (vscrollbar[func_name]) { + vscrollbar[func_name].call(vscrollbar, ctrl_cs.vscrollbar.styles[prop_name]); + } + } + if (ctrl_cs.vscrollbar.decbutton.styles) { + if (vscrollbar.decbutton[func_name]) { + vscrollbar.decbutton[func_name].call(vscrollbar.decbutton, ctrl_cs.vscrollbar.decbutton.styles[prop_name]); + } + } + if (ctrl_cs.vscrollbar.incbutton.styles) { + if (vscrollbar.incbutton[func_name]) { + vscrollbar.incbutton[func_name].call(vscrollbar.incbutton, ctrl_cs.vscrollbar.incbutton.styles[prop_name]); + } + } + if (ctrl_cs.vscrollbar.trackbar.styles) { + if (vscrollbar.trackbar[func_name]) { + vscrollbar.trackbar[func_name].call(vscrollbar.trackbar, ctrl_cs.vscrollbar.trackbar.styles[prop_name]); + } + } + } + } + }; + + _pCellTextArea._getCurrentStyleAlign = function (noflush) { + var align = { + textAlign : "center", + verticalAlign : "middle" + }; + + if (this._input_element) { + align = this._input_element._getComputedStyleAlign(noflush); + } + + return align; + }; + + nexacro._CellMaskEditControl = function (id, left, top, width, height, parent, displaymode, controlmode) { + nexacro.MaskEdit.call(this, id, left, top, width, height, null, null, null, null, null, null, parent, displaymode); + + this._displaymode = (displaymode) ? true : false; + this.tabstop = false; + this._controlmode = (controlmode) ? true : false; + this._view = parent._view; + this._cellinfo = parent._refinfo; + this._cellobj = parent; + + this._setControl(); + }; + + var _pCellMaskEdit = nexacro._createPrototype(nexacro.MaskEdit, nexacro._CellMaskEditControl); + nexacro._CellMaskEditControl.prototype = _pCellMaskEdit; + _pCellMaskEdit._is_subcontrol = true; + + _pCellMaskEdit.on_getIDCSSSelector = function () { + return "cellmaskedit"; + }; + + _pCellMaskEdit.on_destroy_contents = function () { + nexacro.MaskEdit.prototype.on_destroy_contents.call(this); + this._view = null; + this._cellinfo = null; + this._cellobj = null; + }; + + _pCellMaskEdit._apply_setfocus = function (evt_name, self_flag, callback) { + if (this._view._onceTime_focus && !callback) { + nexacro._OnceCallbackTimer.callonce(this, function () { + var _win = this._getWindow(); + if (!_win || !_win._isActiveLayerComponent(this)) { + return; + } + + this._apply_setfocus(evt_name, self_flag, true); + }, 0); + return; + } + return nexacro.MaskEdit.prototype._apply_setfocus.call(this, evt_name, self_flag); + }; + + _pCellMaskEdit.setOnlyElementFocus = _pCellEdit.setOnlyElementFocus; + + + _pCellMaskEdit.on_fire_oninput = function () { + nexacro.MaskEdit.prototype.on_fire_oninput.call(this); + return this._cellobj.on_fire_oninput(); + }; + + _pCellMaskEdit.on_fire_onclick = function (button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientX, clientY, from_comp, from_refer_comp, clickitem) { + nexacro.MaskEdit.prototype.on_fire_onclick.call(this, button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientX, clientY, from_comp, from_refer_comp); + this._cellobj.on_fire_onclick(button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientX, clientY, from_comp, from_refer_comp, clickitem); + return true; + }; + + _pCellMaskEdit.on_fire_ondblclick = function (button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientX, clientY, from_comp, from_refer_comp) { + if (this._displaymode) { + this.setSelect(0, 0); + } + + nexacro.MaskEdit.prototype.on_fire_ondblclick.call(this, button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientX, clientY, from_comp, from_refer_comp); + this._cellobj.on_fire_ondblclick(button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientX, clientY, from_comp, from_refer_comp, "control"); + return true; + }; + + _pCellMaskEdit._isEnable = _pCellEdit._isEnable; + + _pCellMaskEdit._updateAll = function (onlycontents, breadonly) { + if (breadonly !== undefined) { + if (this.on_apply_readonly) { + this.on_apply_readonly(breadonly); + } + else { + this._changeStatus("readonly", breadonly); + } + } + if (!onlycontents) { + this._apply_status(this._oldstatus, this._status, this._olduserstatus, this._userstatus); + } + + this._setProperty(); + }; + + _pCellMaskEdit._setProperty = function (onlycontrolprop) { + var cellinfo = this._cellinfo; + var cellobj = this._cellobj; + var datarow = cellobj._getDataRow(); + var dataset = cellinfo._getBindDataset(); + + cellinfo._setCellChildControlProperty("maskedit", this, datarow); + + if (!onlycontrolprop) { + var v; + if (dataset && cellinfo.subsumtext._value != "" && dataset.getRowType(datarow) == 16) { + v = cellinfo._getAttrValue(cellinfo.subsumtext, datarow); + } + else { + v = cellinfo._getValue(datarow); + } + + this.set_value(v); + } + + if (this._view) { + this.set_usesoftkeyboard(this._view.usesoftkeyboard); + } + }; + + _pCellMaskEdit._setEditingValue = function (value) { + return this.set_value(value); + }; + + _pCellMaskEdit._EditUpdateAll = function () { + this._updateAll(); + }; + + _pCellMaskEdit._getEditingText = function () { + return this.text; + }; + + _pCellMaskEdit._getEditingValue = function () { + return this.value; + }; + + _pCellMaskEdit._getValueData = function () { + return this.value; + }; + + _pCellMaskEdit._setAccessibilityStatFocus = function () { + var cellobj = this._cellobj; + this._control_element.setElementAccessibilityLabel(cellobj._getAccessibilityLabel()); + this._control_element.setElementAccessibilityAction(cellobj.accessibilityaction); + this._control_element.setElementAccessibilityDescription(cellobj.accessibilitydescription); + this._control_element.setElementAccessibilityParentLabel(cellobj._getAccessibilityMakeAddLabel().trim()); + + nexacro.Component.prototype._setAccessibilityStatFocus.call(this); + }; + + _pCellMaskEdit.on_get_accessibility_description = function () { + if (this._cellobj) { + var tooltiptext = this._cellobj.tooltiptext; + return nexacro._isNull(tooltiptext) ? "" : tooltiptext; + } + return ""; + }; + + _pCellMaskEdit._getComputedStyle = function () { + if (!nexacro._getComputedStyleProperties) { + return; + } + + var properties = this._computed_prop_list; + properties = properties.toString(); + + var ctrl_cs = { + "styles" : null + }; + + var str = nexacro._getComputedStyleProperties(this._control_element, properties, null, true); + eval("ctrl_cs.styles = " + str); + + return ctrl_cs; + }; + + _pCellMaskEdit._setComputedStyle = function (ctrl_cs) { + var properties = this._computed_prop_list; + for (var i = 0; i < properties.length; i++) { + var prop_name = properties[i]; + var func_name = "set_" + prop_name; + + if (ctrl_cs.styles) { + if (this[func_name]) { + this[func_name].call(this, ctrl_cs.styles[prop_name]); + } + } + } + }; + + _pCellMaskEdit._getCurrentStyleAlign = function (noflush) { + var align = { + textAlign : "center", + verticalAlign : "middle" + }; + + if (this._input_element) { + align = this._input_element._getComputedStyleAlign(noflush); + } + + return align; + }; + nexacro._CellCalendarPopupControl = function (id, left, top, width, height, right, bottom, minwidth, maxwidth, minheight, maxheight, parent) { + nexacro._CalendarPopupControl.call(this, id, left, top, width, height, right, bottom, minwidth, maxwidth, minheight, maxheight, parent); + }; + + var _pCellCalendarPopupControl = nexacro._createPrototype(nexacro._CalendarPopupControl, nexacro._CellCalendarPopupControl); + nexacro._CellCalendarPopupControl.prototype = _pCellCalendarPopupControl; + + + + _pCellCalendarPopupControl._is_subcontrol = true; + + _pCellCalendarPopupControl._getPopupParentPos = function () { + var calendar = this.parent; + + + + var rect; + var bandrect; + if (calendar.parent._getPositionInRootComponent) { + var ret = calendar.parent._getPositionInRootComponent(); + rect = ret[0]; + bandrect = ret[1]; + var calendar_size = [rect.width, rect.height]; + var calendar_elem_pos = nexacro._getElementPositionInFrame(calendar.getElement(), true); + var xgap = 0; + var ygap = 0; + if (0 > bandrect.orgl) { + xgap = Math.abs(bandrect.orgl) - (calendar._adjust_left); + } + if (0 > bandrect.orgt) { + ygap = Math.abs(bandrect.orgt) - (calendar._adjust_top); + } + + + return { + "x" : calendar_elem_pos.x, + "y" : calendar_elem_pos.y, + "width" : calendar_size[0], + "height" : calendar_size[1], + "xgap" : xgap, + "ygap" : ygap + }; + } + else { + return nexacro._CalendarPopupControl.prototype._getPopupParentPos.call(this); + } + }; + nexacro._CellCalendarControl = function (id, left, top, width, height, parent, displaymode, controlmode) { + nexacro.Calendar.call(this, id, left, top, width, height, null, null, null, null, null, null, parent, displaymode); + + this.tabstop = false; + this.ondropdown = "grid"; + this.readonly = this._displaymode = (displaymode) ? true : false; + this._controlmode = (controlmode) ? true : false; + this._view = parent._view; + this._cellinfo = parent._refinfo; + this._cellobj = parent; + this._setControl(); + }; + + var _pCellCalendar = nexacro._createPrototype(nexacro.Calendar, nexacro._CellCalendarControl); + nexacro._CellCalendarControl.prototype = _pCellCalendar; + _pCellCalendar._is_subcontrol = true; + + _pCellCalendar.on_getIDCSSSelector = function () { + return "cellcalendar"; + }; + + _pCellCalendar.on_create_contents = function (win) { + nexacro.Calendar.prototype.on_create_contents.call(this, win); + }; + + _pCellCalendar.on_destroy_contents = function () { + nexacro.Calendar.prototype.on_destroy_contents.call(this); + this._view = null; + this._cellinfo = null; + this._cellobj = null; + }; + + _pCellCalendar._apply_setfocus = function (evt_name) { + if (!this._displaymode || nexacro._enableaccessibility) { + return nexacro.Calendar.prototype._apply_setfocus.call(this, evt_name); + } + }; + + _pCellCalendar.setOnlyElementFocus = function () { + if (this.calendaredit && this.calendaredit._input_element) { + this.calendaredit._input_element._applyElementFocus(); + } + }; + + _pCellCalendar._getPopupSizeArr = function () { + if (this.type != "monthonly") { + return nexacro.Calendar.prototype._getPopupSizeArr.call(this); + } + + var size = this.popupsize; + if (!size) { + size = this.getOffsetWidth() + " " + this.getOffsetHeight(); + } + + size = size.split(/\s+/); + + var width = +size[0]; + var height = size[1] ? +size[1] : width; + + return { + width : width, + height : height + }; + }; + + _pCellCalendar._setValueCtrl = function (fire_event, post_text, post_value) { + this._currentformat = "editformat"; + var edit = this.calendaredit; + + if (edit && edit.value != undefined) { + var pre_value = this.value; + var pre_text = this.text; + var cur_value, cur_text; + + if (post_text != undefined) { + cur_value = post_value; + cur_text = edit.text; + } + else { + cur_value = edit.value; + cur_text = edit.text; + } + + if (pre_value != cur_value.trim()) { + if (fire_event) { + if (!this._on_value_change(pre_text, pre_value, cur_text, cur_value)) { + cur_value = pre_value; + } + } + + this._setValue(cur_value); + edit._setValue(cur_value); + this._default_value = this.value; + this._default_text = this.text; + } + } + }; + + _pCellCalendar._createPopupControl = function () { + var popupcontrol = this._popupcontrol; + if (!popupcontrol) { + popupcontrol = this._popupcontrol = new nexacro._CellCalendarPopupControl("calendarpopup", 0, 0, 0, 0, null, null, null, null, null, null, this); + popupcontrol.createComponent(true); + } + }; + + _pCellCalendar.on_fire_oninput = function () { + nexacro.Calendar.prototype.on_fire_oninput.call(this); + return this._cellobj.on_fire_oninput(); + }; + + _pCellCalendar.on_fire_oncloseup = function (obj, pretext, posttext, prevalue, postvalue, isselect) { + this._cellobj.on_fire_oncloseup(obj, pretext, posttext, prevalue, postvalue, isselect); + }; + + _pCellCalendar.on_fire_ondropdown = function (obj) { + return this._cellobj.on_fire_ondropdown(obj); + }; + + _pCellCalendar.on_fire_sys_onkeydown = function (keycode, alt_key, ctrl_key, shift_key, fire_comp, refer_comp) { + var ret = nexacro.Calendar.prototype.on_fire_sys_onkeydown.call(this, keycode, alt_key, ctrl_key, shift_key, fire_comp, refer_comp); + + if (this._view) { + if (this._isPopupVisible()) { + this._view._is_editor_keyaction = false; + } + else { + this._view._is_editor_keyaction = true; + } + } + + return ret; + }; + + _pCellCalendar.on_fire_onclick = function (button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientX, clientY, from_comp, from_refer_comp, clickitem) { + nexacro.Calendar.prototype.on_fire_onclick.call(this, button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientX, clientY, from_comp, from_refer_comp); + this._cellobj.on_fire_onclick(button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientX, clientY, this, from_refer_comp, "control"); + return true; + }; + + _pCellCalendar.on_fire_ondblclick = function (button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientX, clientY, from_comp, from_refer_comp) { + if (this._displaymode) { + this.setSelect(0, 0); + } + + nexacro.Calendar.prototype.on_fire_ondblclick.call(this, button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientX, clientY, from_comp, from_refer_comp); + this._cellobj.on_fire_ondblclick(button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientX, clientY, this, from_refer_comp, "control"); + return true; + }; + + _pCellCalendar._on_edit_oneditclick = function (obj, e) { + nexacro.Calendar.prototype._on_edit_oneditclick.call(this, obj, e); + + if (this._displaymode) { + return this._cellobj.on_fire_onclick(e.button, e.altkey, e.ctrlkey, e.shiftkey, e.screenx, e.screeny, e.canvasx, e.canvasy, e.clientx, e.clienty, e.fromobject, e.fromreferenceobject, "control"); + } + }; + _pCellCalendar._on_edit_onkeydown = function (obj, e) { + if (!this._displaymode && this.visible) { + return nexacro.Calendar.prototype._on_edit_onkeydown.call(this, obj, e); + } + else { + return false; + } + }; + _pCellCalendar._on_drop_onclick = function (obj, e) { + nexacro.Calendar.prototype._on_drop_onclick.call(this, obj, e); + + if (this._displaymode) { + return this._cellobj.on_fire_onclick(e.button, e.altkey, e.ctrlkey, e.shiftkey, e.screenx, e.screeny, e.canvasx, e.canvasy, e.clientx, e.clienty, e.fromobject, e.fromreferenceobject, "control"); + } + }; + + _pCellCalendar.on_fire_onchanged = function (obj, pre_text, pre_value, post_text, post_value) { + if (!obj._displaymode) { + var update = this._cellobj._getAutoUpdateType(); + if (update == "dateselect" || update == "itemselect") { + this._cellobj._applyEditorDataset(true, pre_value); + } + return (nexacro.Calendar.prototype.on_fire_onchanged.call(this, obj, pre_text, pre_value, post_text, post_value)); + } + }; + + _pCellCalendar.on_getBindableProperties = function () { + if (!this._displaymode) { + return "value"; + } + }; + + _pCellCalendar._isEnable = function () { + if (this._view && this._view._enable !== undefined) { + return this._view._enable; + } + + if (this.parent && this.parent._isEnable) { + return this.parent._isEnable(); + } + + return true; + }; + + _pCellCalendar._getDisplayText = function () { + if (this.parent) { + return this.parent._getDisplayText(); + } + + return ""; + }; + + _pCellCalendar._updateAll = function (onlycontents, breadonly) { + if (breadonly !== undefined) { + if (this.on_apply_readonly) { + this.on_apply_readonly(breadonly); + } + else { + this._changeStatus("readonly", breadonly); + } + } + if (!onlycontents) { + this._apply_status(this._oldstatus, this._status, this._olduserstatus, this._userstatus); + } + + this._setProperty(); + }; + + _pCellCalendar._setProperty = function (onlycontrolprop) { + var cellinfo = this._cellinfo; + var cellobj = this._cellobj; + var view = this._view; + var datarow = cellobj._getDataRow(); + var dataset = cellinfo._getBindDataset(); + + var calendardateformat = cellinfo._getAttrValue(cellinfo.calendardateformat, datarow); + if (!calendardateformat) { + calendardateformat = nexacro.Calendar.prototype.dateformat; + } + + this.set_dateformat(calendardateformat); + + var calendareditformat = cellinfo._getAttrValue(cellinfo.calendareditformat, datarow); + + if (!calendareditformat) { + calendareditformat = nexacro.Calendar.prototype.editformat; + } + + this.set_editformat(calendareditformat); + + if (view) { + this.set_locale(view._getLocale()); + this.set_usesoftkeyboard(view.usesoftkeyboard); + } + + var org_v; + if (dataset && cellinfo.subsumtext._value != "" && dataset.getRowType(datarow) == 16) { + org_v = cellinfo._getAttrValue(cellinfo.subsumtext, datarow); + } + else { + org_v = cellinfo._getValue(datarow); + } + + var v = org_v; + + if (!onlycontrolprop) { + if (this._displaymode == true && !v) { + var maskobj = this._masktypeobj; + v = cellinfo._getDisplayText(datarow); + v = maskobj.removeMask(v.split('')); + v = maskobj.changeNormalizeValue(v); + } + this.set_value(v); + } + + var buttonsize = cellinfo._getControlButtonsize(datarow, "calendar"); + this.set_buttonsize(buttonsize); + var popuptype = cellinfo._getControlPopuptype(datarow, "calendar"); + if (popuptype) { + this.set_popuptype(popuptype); + } + + if (this._displaymode == true) { + if (nexacro._isNull(org_v)) { + var calendardisplaynulltype = cellinfo._getAttrValue(cellinfo.calendardisplaynulltype, datarow); + if (calendardisplaynulltype != "default") { + if (!onlycontrolprop) { + this.set_value(org_v); + } + + if (calendardisplaynulltype == "nulltext") { + v = cellinfo._getAttrValue(cellinfo.calendardisplaynulltext, datarow); + if (v != null) { + this.set_displaynulltext(v); + } + } + else if (calendardisplaynulltype == "nullmask") { + this.set_displaynulltext(""); + } + else { + this.set_displaynulltext(""); + this.set_dateformat(""); + } + } + } + else { + if (this._isInvalidValue(org_v)) { + var calendardisplayinvalidtype = cellinfo._getAttrValue(cellinfo.calendardisplayinvalidtype, datarow); + + if (!onlycontrolprop) { + this.set_value(org_v); + } + + this.set_dateformat(""); + this.set_displayinvalidtext(""); + + if (calendardisplayinvalidtype == "invalidtext" || calendardisplayinvalidtype == "default") { + v = cellinfo._getAttrValue(cellinfo.calendardisplayinvalidtext, datarow); + if (v != null) { + this.set_displayinvalidtext(v); + } + } + else { + this.set_displayinvalidtext(org_v); + } + } + } + } + + var calendarpopupsize = cellinfo._getControlPopupsize(datarow, "calendar"); + if (calendarpopupsize) { + this.set_popupsize(calendarpopupsize); + } + + cellinfo._setCellChildControlProperty("calendar", this, datarow); + }; + + _pCellCalendar._setEditingValue = function (value) { + return this.calendaredit.set_value(value); + }; + + + _pCellCalendar._EditUpdateAll = function () { + this._updateAll(); + }; + + _pCellCalendar._getEditingText = function () { + return this.calendaredit.text; + }; + + _pCellCalendar._getEditingValue = function () { + return this.calendaredit.value; + }; + + _pCellCalendar._getValueData = function () { + this._setValueCtrl(true); + return this.value; + }; + + _pCellCalendar._getDlgCode = function (keycode, altKey, ctrlKey, shiftKey) { + var _want_arrows = this._want_arrows; + this._is_first_focus = false; + return { + want_tab : (this._view ? this._view._acceptstab : false), + want_return : false, + want_escape : false, + want_chars : false, + want_arrows : _want_arrows + }; + }; + + _pCellCalendar._getChildren = function () { + return [this.calendaredit, this.dropbutton]; + }; + + _pCellCalendar._setAccessibilityStatFocus = function () { + var label = ""; + var cellobj = this._cellobj; + var addlabel = cellobj._getAccessibilityMakeAddLabel(); + var tmp_label = cellobj._getAccessibilityLabel(); + tmp_label = (tmp_label != cellobj._displaytext) ? tmp_label : ""; + label = addlabel + " " + tmp_label; + label = label.trim(); + this.calendaredit._control_element.setElementAccessibilityLabel(label); + + nexacro.Component.prototype._setAccessibilityStatFocus.call(this); + }; + + _pCellCalendar.on_get_accessibility_description = function () { + if (this._cellobj) { + var tooltiptext = this._cellobj.tooltiptext; + return nexacro._isNull(tooltiptext) ? "" : tooltiptext; + } + return ""; + }; + + _pCellCalendar._on_dataset_onvaluechanged = function (obj, e) { + if (!this._displaymode) { + nexacro.Combo.prototype._on_dataset_onvaluechanged.call(this, obj, e); + } + }; + + _pCellCalendar._on_dataset_onrowsetchanged = function (obj, e) { + if (!this._displaymode) { + nexacro.Combo.prototype._on_dataset_onrowsetchanged.call(this, obj, e); + } + }; + + _pCellCalendar._getComputedStyle = function () { + if (!nexacro._getComputedStyleProperties) { + return; + } + + var properties = this._computed_prop_list; + properties = properties.toString(); + + var ctrl_cs = { + "styles" : null, + "calendaredit" : { + styles : null + }, + "dropbutton" : { + styles : null + }, + "calendarspinupbutton" : { + styles : null + }, + "calendarspindownbutton" : { + styles : null + } + }; + + var str = nexacro._getComputedStyleProperties(this._control_element, properties, null, true); + eval("ctrl_cs.styles = " + str); + + if (this.calendaredit) { + str = nexacro._getComputedStyleProperties(this.calendaredit._control_element, properties, null, true); + eval("ctrl_cs.calendaredit.styles = " + str); + } + if (this.dropbutton) { + str = nexacro._getComputedStyleProperties(this.dropbutton._control_element, properties, null, true); + eval("ctrl_cs.dropbutton.styles = " + str); + } + if (this.calendarspinupbutton) { + str = nexacro._getComputedStyleProperties(this.calendarspinupbutton._control_element, properties, null, true); + eval("ctrl_cs.calendarspinupbutton.styles = " + str); + } + if (this.calendarspindownbutton) { + str = nexacro._getComputedStyleProperties(this.calendarspindownbutton._control_element, properties, null, true); + eval("ctrl_cs.calendarspindownbutton.styles = " + str); + } + + return ctrl_cs; + }; + + _pCellCalendar._setComputedStyle = function (ctrl_cs) { + var properties = this._computed_prop_list; + var calendaredit = this.calendaredit; + var dropbutton = this.dropbutton; + var calendarspinupbutton = this.calendarspinupbutton; + var calendarspindownbutton = this.calendarspindownbutton; + + for (var i = 0; i < properties.length; i++) { + var prop_name = properties[i]; + var func_name = "set_" + prop_name; + + if (ctrl_cs.styles) { + if (this[func_name]) { + this[func_name].call(this, ctrl_cs.styles[prop_name]); + } + } + + if (calendaredit) { + if (ctrl_cs.calendaredit.styles) { + if (calendaredit[func_name]) { + calendaredit[func_name].call(calendaredit, ctrl_cs.calendaredit.styles[prop_name]); + } + } + } + if (dropbutton) { + if (ctrl_cs.dropbutton.styles) { + if (dropbutton[func_name]) { + dropbutton[func_name].call(dropbutton, ctrl_cs.dropbutton.styles[prop_name]); + } + } + } + if (calendarspinupbutton) { + if (ctrl_cs.calendarspinupbutton.styles) { + if (calendarspinupbutton[func_name]) { + calendarspinupbutton[func_name].call(calendarspinupbutton, ctrl_cs.calendarspinupbutton.styles[prop_name]); + } + } + } + if (calendarspindownbutton) { + if (ctrl_cs.calendarspindownbutton.styles) { + if (calendarspindownbutton[func_name]) { + calendarspindownbutton[func_name].call(calendarspindownbutton, ctrl_cs.calendarspindownbutton.styles[prop_name]); + } + } + } + } + }; + + _pCellCalendar._getCurrentStyleAlign = function (noflush) { + var align = { + textAlign : "center", + verticalAlign : "middle" + }; + var calendaredit = this.calendaredit; + + if (calendaredit && calendaredit._input_element) { + align = calendaredit._input_element._getComputedStyleAlign(noflush); + } + + return align; + }; + + _pCellCalendar._setAccessibilityInputLabel = nexacro._emptyFn; + + _pCellCalendar.on_apply_readonly = function (readonly) { + nexacro.Calendar.prototype.on_apply_readonly.call(this, this._view.readonly); + }; + + _pCellCalendar.on_apply_prop_enable = function (v) { + if (this.calendaredit) { + this.calendaredit._setEnable(v); + } + if (this.dropbutton && !this._view.readonly) { + this.dropbutton._setEnable(v); + } + if (this.calendarspinupbutton && !this._view.readonly) { + this.calendarspinupbutton._setEnable(v); + } + if (this.calendarspindownbutton && !this._view.readonly) { + this.calendarspindownbutton._setEnable(v); + } + if (this.datepicker) { + this.datepicker._setEnable(v); + } + }; + nexacro._CellComboPopupControl = function (id, left, top, width, height, right, bottom, minwidth, maxwidth, minheight, maxheight, parent) { + nexacro._ComboPopupControl.call(this, id, left, top, width, height, right, bottom, minwidth, maxwidth, minheight, maxheight, parent); + }; + + var _pCellComboPopupControl = nexacro._createPrototype(nexacro._ComboPopupControl, nexacro._CellComboPopupControl); + nexacro._CellComboPopupControl.prototype = _pCellComboPopupControl; + + + + _pCellComboPopupControl._is_subcontrol = true; + + _pCellComboPopupControl._getPopupParentPos = function () { + var combo = this.parent; + + var rect; + var bandrect; + if (combo.parent._getPositionInRootComponent) { + var ret = combo.parent._getPositionInRootComponent(); + rect = ret[0]; + bandrect = ret[1]; + + var combo_size = [rect.width, rect.height]; + var combo_elem_pos = nexacro._getElementPositionInFrame(combo.getElement(), true); + var xgap = 0; + var ygap = 0; + if (0 > bandrect.orgl) { + xgap = Math.abs(bandrect.orgl) - (combo._adjust_left); + } + if (0 > bandrect.orgt) { + ygap = Math.abs(bandrect.orgt) - (combo._adjust_top); + } + + + return { + "x" : combo_elem_pos.x, + "y" : combo_elem_pos.y, + "width" : combo_size[0], + "height" : combo_size[1], + "xgap" : xgap, + "ygap" : ygap + }; + } + else { + return nexacro._ComboPopupControl.prototype._getPopupParentPos.call(this); + } + }; + nexacro._CellComboControl = function (id, left, top, width, height, parent, displaymode, controlmode) { + nexacro.Combo.call(this, id, left, top, width, height, null, null, null, null, null, null, parent, displaymode); + this.tabstop = false; + + if (displaymode) { + this._displaymode = true; + this.readonly = true; + } + else { + this._displaymode = false; + } + + this._controlmode = (controlmode) ? true : false; + this._view = parent._view; + this._cellinfo = parent._refinfo; + this._cellobj = parent; + this._setControl(); + }; + + var _pCellCombo = nexacro._createPrototype(nexacro.Combo, nexacro._CellComboControl); + nexacro._CellComboControl.prototype = _pCellCombo; + _pCellCombo._is_subcontrol = true; + + _pCellCombo.on_getIDCSSSelector = function () { + return "cellcombo"; + }; + + _pCellCombo.on_create_contents = function () { + nexacro.Combo.prototype.on_create_contents.call(this); + }; + + _pCellCombo.setOnlyElementFocus = function () { + if (this.comboedit && this.comboedit._input_element) { + this.comboedit._input_element._applyElementFocus(); + } + }; + + _pCellCombo.on_destroy_contents = function () { + nexacro.Combo.prototype.on_destroy_contents.call(this); + this._view = null; + this._cellinfo = null; + this._cellobj = null; + }; + + _pCellCombo._apply_setfocus = function (evt_name) { + if (!this._displaymode || nexacro._enableaccessibility) { + return nexacro.Combo.prototype._apply_setfocus.call(this, evt_name); + } + }; + + _pCellCombo.on_fire_oncloseup = function (obj, beforeIndex, beforeText, beforeValue, afterIndex, afterText, afterValue, isSelect) { + nexacro.Combo.prototype.on_fire_oncloseup.call(this, obj, beforeIndex, beforeText, beforeValue, afterIndex, afterText, afterValue, isSelect); + this._cellobj.on_fire_oncloseup(obj, beforeText, afterText, beforeValue, afterValue, isSelect); + }; + + _pCellCombo.on_fire_user_onkeydown = function (keycode, alt_key, ctrl_key, shift_key, fire_comp, refer_comp) { + var view = this._view; + if (view) { + if (keycode == nexacro.Event.KEY_DOWN || keycode == nexacro.Event.KEY_UP + || (keycode == nexacro.Event.KEY_DOWN && alt_key)) { + view._is_editor_keyaction = false; + } + } + + nexacro.Combo.prototype.on_fire_user_onkeydown.call(this, keycode, alt_key, ctrl_key, shift_key, fire_comp, refer_comp); + + if (!this._displaymode) { + return this._cellobj.on_fire_user_onkeydown(keycode, alt_key, ctrl_key, shift_key, fire_comp, refer_comp); + } + }; + + _pCellCombo.on_fire_sys_onmousewheel = function (wheelDeltaX, wheelDeltaY, button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientX, clientY, comp, refer_comp) { + if (!this._displaymode) { + return nexacro.Combo.prototype.on_fire_sys_onmousewheel.call(this, wheelDeltaX, wheelDeltaY, button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientX, clientY, comp, refer_comp); + } + }; + + _pCellCombo.on_fire_ondropdown = function (obj) { + return this._cellobj.on_fire_ondropdown(obj); + }; + + _pCellCombo.on_fire_onclick = function (button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientX, clientY, from_comp, from_refer_comp) { + nexacro.Combo.prototype.on_fire_onclick.call(this, button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientX, clientY, from_comp, from_refer_comp); + this._cellobj.on_fire_onclick(button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientX, clientY, this, from_refer_comp, "control"); + return true; + }; + + _pCellCombo.on_fire_ondblclick = function (button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientX, clientY, from_comp, from_refer_comp) { + if (this._displaymode) { + this.setSelect(0, 0); + } + + nexacro.Combo.prototype.on_fire_ondblclick.call(this, button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientX, clientY, from_comp, from_refer_comp); + this._cellobj.on_fire_ondblclick(button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientX, clientY, this, from_refer_comp, "control"); + return true; + }; + + _pCellCombo._on_edit_oneditclick = function (obj, e) { + nexacro.Combo.prototype._on_edit_oneditclick.call(this, obj, e); + + if (this._displaymode) { + return this._cellobj.on_fire_onclick(e.button, e.altkey, e.ctrlkey, e.shiftkey, e.screenx, e.screeny, e.canvasx, e.canvasy, e.clientx, e.clienty, e.fromobject, e.fromreferenceobject, "control"); + } + }; + _pCellCombo._on_edit_onkeydown = function (obj, e) { + if (!this._displaymode && this.visible) { + return nexacro.Combo.prototype._on_edit_onkeydown.call(this, obj, e); + } + else { + return false; + } + }; + _pCellCombo._on_drop_onclick = function (obj, e) { + nexacro.Combo.prototype._on_drop_onclick.call(this, obj, e); + + if (this._displaymode) { + return this._cellobj.on_fire_onclick(e.button, e.altkey, e.ctrlkey, e.shiftkey, e.screenx, e.screeny, e.canvasx, e.canvasy, e.clientx, e.clienty, e.fromobject, e.fromreferenceobject, "control"); + } + }; + + _pCellCombo.on_fire_oninput = function () { + nexacro.Combo.prototype.on_fire_oninput.call(this); + return this._cellobj.on_fire_oninput(); + }; + + _pCellCombo.on_lbuttondown_basic_action = function (elem, button, alt_key, ctrl_key, shift_key, canvasX, canvasY, screenX, screenY, refer_comp) { + var retn = nexacro.Component.prototype.on_lbuttondown_basic_action.call(this, elem, button, alt_key, ctrl_key, shift_key, canvasX, canvasY, screenX, screenY, refer_comp); + if (this._isPopupVisible() && this == refer_comp) { + this._closePopup(); + } + + return retn; + }; + + _pCellCombo.on_fire_onitemchanged = function (obj, preindex, pretext, prevalue, postindex, posttext, postvalue) { + if (!obj._displaymode) { + var update = this._cellobj._getAutoUpdateType(); + if (update == "comboselect" || update == "itemselect") { + this._cellobj._applyEditorDataset(true, prevalue); + } + return (nexacro.Combo.prototype.on_fire_onitemchanged.call(this, obj, preindex, pretext, prevalue, postindex, posttext, postvalue)); + } + }; + + _pCellCombo.on_getBindableProperties = function () { + if (!this._displaymode) { + return "value"; + } + }; + + _pCellCombo._isEnable = function () { + if (this._view && this._view._enable !== undefined) { + return this._view._enable; + } + + if (this.parent && this.parent._isEnable) { + return this.parent._isEnable(); + } + + return true; + }; + + _pCellCombo._updateAll = function (onlycontents, breadonly) { + if (breadonly !== undefined) { + if (this.on_apply_readonly) { + this.on_apply_readonly(breadonly); + } + else { + this._changeStatus("readonly", breadonly); + } + } + if (!onlycontents) { + this._apply_status(this._oldstatus, this._status, this._olduserstatus, this._userstatus); + } + + this._setProperty(); + }; + + _pCellCombo._setProperty = function (onlycontrolprop) { + var cellinfo = this._cellinfo, cellobj = this._cellobj; + + var datarow = cellobj._getDataRow(); + + var buttonsize = cellinfo._getControlButtonsize(datarow, "combo"); + this.set_buttonsize(buttonsize); + var popuptype = cellinfo._getControlPopuptype(datarow, "combo"); + if (popuptype) { + this.set_popuptype(popuptype); + } + var scrollsize = cellinfo._getControlScrollbarsize(datarow, "combo"); + if (scrollsize != null) { + this.set_scrollbarsize(scrollsize); + } + var popupsize = cellinfo._getControlPopupsize(datarow, "combo"); + if (popupsize) { + this.set_popupsize(popupsize); + } + + var v; + + v = cellinfo._getAttrValue(cellinfo.combodisplaynulltype, datarow); + if (v == "nulltext") { + v = cellinfo._getAttrValue(cellinfo.combodisplaynulltext, datarow); + if (v != null) { + this.set_displaynulltext(v); + } + } + else { + this.set_displaynulltext(""); + } + + cellinfo._setCellChildControlProperty("combo", this, datarow); + + if (!onlycontrolprop) { + if (this._displaymode == true) { + this.value = cellinfo._getValue(datarow); + v = cellinfo._getDisplayText(datarow); + this.set_text(v); + } + else { + v = cellinfo._getValue(datarow); + this.set_value(v); + } + } + + if (this._view) { + this.set_usesoftkeyboard(this._view.usesoftkeyboard); + } + }; + + _pCellCombo._setEditingValue = function (value) { + return this.comboedit.set_value(value); + }; + + _pCellCombo.on_apply_text = function (text) { + if (this._displaymode == true) { + if (!nexacro._isNull(this.value)) { + this._setEditValue(text); + } + else { + if (this.displaynulltext || text == "") { + this._setEditValue(undefined); + } + else { + this._setEditValue(text); + } + } + } + else { + return nexacro.Combo.prototype.on_apply_text.call(this, text); + } + }; + + _pCellCombo._EditUpdateAll = function () { + this._updateAll(); + }; + + _pCellCombo._getEditingText = function () { + return this.comboedit.text; + }; + + _pCellCombo._getEditingValue = function () { + return this.comboedit.value; + }; + + _pCellCombo._getValueData = function () { + return this.value; + }; + + _pCellCombo._getDlgCode = function (keycode, altKey, ctrlKey, shiftKey) { + var _want_arrows = this._want_arrows; + this._is_first_focus = false; + return { + want_tab : (this._view ? this._view._acceptstab : false), + want_return : false, + want_escape : false, + want_chars : false, + want_arrows : _want_arrows + }; + }; + + _pCellCombo._getChildren = function () { + return [this.comboedit, this.dropbutton]; + }; + + _pCellCombo._setAccessibilityStatFocus = function () { + var label = ""; + var cellobj = this._cellobj; + var addlabel = cellobj._getAccessibilityMakeAddLabel(); + var tmp_label = cellobj._getAccessibilityLabel(); + tmp_label = (tmp_label != cellobj._displaytext) ? tmp_label : ""; + label = addlabel + " " + tmp_label; + label = label.trim(); + this.comboedit._control_element.setElementAccessibilityLabel(label); + + nexacro.Combo.prototype._setAccessibilityStatFocus.call(this); + }; + + _pCellCombo.on_get_accessibility_description = function () { + if (this._cellobj) { + var tooltiptext = this._cellobj.tooltiptext; + return nexacro._isNull(tooltiptext) ? "" : tooltiptext; + } + return ""; + }; + + _pCellCombo._on_dataset_onvaluechanged = function (obj, e) { + if (!this._displaymode) { + nexacro.Combo.prototype._on_dataset_onvaluechanged.call(this, obj, e); + } + }; + + _pCellCombo._on_dataset_onrowsetchanged = function (obj, e) { + if (!this._displaymode) { + nexacro.Combo.prototype._on_dataset_onrowsetchanged.call(this, obj, e); + } + }; + + _pCellCombo._getComputedStyle = function () { + if (!nexacro._getComputedStyleProperties) { + return; + } + + var properties = this._computed_prop_list; + properties = properties.toString(); + + var ctrl_cs = { + "styles" : null, + "comboedit" : { + styles : null + }, + "dropbutton" : { + styles : null + } + }; + + var str = nexacro._getComputedStyleProperties(this._control_element, properties, null, true); + eval("ctrl_cs.styles = " + str); + + if (this.comboedit) { + str = nexacro._getComputedStyleProperties(this.comboedit._control_element, properties, null, true); + eval("ctrl_cs.comboedit.styles = " + str); + } + if (this.dropbutton) { + str = nexacro._getComputedStyleProperties(this.dropbutton._control_element, properties, null, true); + eval("ctrl_cs.dropbutton.styles = " + str); + } + return ctrl_cs; + }; + + _pCellCombo._setComputedStyle = function (ctrl_cs) { + var properties = this._computed_prop_list; + var comboedit = this.comboedit; + var dropbutton = this.dropbutton; + + for (var i = 0; i < properties.length; i++) { + var prop_name = properties[i]; + var func_name = "set_" + prop_name; + + if (ctrl_cs.styles) { + if (this[func_name]) { + this[func_name].call(this, ctrl_cs.styles[prop_name]); + } + } + + if (comboedit) { + if (ctrl_cs.comboedit.styles) { + if (comboedit[func_name]) { + comboedit[func_name].call(comboedit, ctrl_cs.comboedit.styles[prop_name]); + } + } + } + if (dropbutton) { + if (ctrl_cs.dropbutton.styles) { + if (dropbutton[func_name]) { + dropbutton[func_name].call(dropbutton, ctrl_cs.dropbutton.styles[prop_name]); + } + } + } + } + }; + + _pCellCombo._getCurrentStyleAlign = function (noflush) { + var align = { + textAlign : "center", + verticalAlign : "middle" + }; + var comboedit = this.comboedit; + + if (comboedit && comboedit._input_element) { + align = this.comboedit._input_element._getComputedStyleAlign(noflush); + } + + return align; + }; + + _pCellCombo._setAccessibilityInputLabel = nexacro._emptyFn; + + _pCellCombo.on_apply_readonly = function (readonly) { + nexacro.Combo.prototype.on_apply_readonly.call(this, this._view.readonly); + }; + + _pCellCombo.on_apply_prop_enable = function (v) { + if (this.comboedit) { + this.comboedit._setEnable(v); + } + if (this.dropbutton && !this._view.readonly) { + this.dropbutton._setEnable(v); + } + if (this.combolist) { + this.combolist._setEnable(v); + } + }; + _pCellCombo._createPopupControl = function () { + var popupcontrol = this._popupcontrol; + if (!popupcontrol) { + popupcontrol = this._popupcontrol = new nexacro._CellComboPopupControl("combopopup", 0, 0, 0, 0, null, null, null, null, null, null, this); + popupcontrol._setType(this.popuptype); + + popupcontrol.createComponent(true); + } + }; + nexacro._CellCheckboxControlBase = function (id, left, top, width, height, parent) { + nexacro.CheckBox.call(this, id, left, top, width, height, null, null, null, null, null, null, parent); + this.tabstop = false; + this._is_usetextbox = false; + + var wnd = parent; + while (wnd) { + if (wnd._refinfo) { + this._cellobj = wnd; + this._cellinfo = wnd._refinfo; + this._view = wnd._view; + break; + } + wnd = wnd.parent; + } + this.checked = false; + this._setControl(); + }; + + var _pCellCheckboxBase = nexacro._createPrototype(nexacro.CheckBox, nexacro._CellCheckboxControlBase); + nexacro._CellCheckboxControlBase.prototype = _pCellCheckboxBase; + _pCellCheckboxBase._is_subcontrol = true; + + _pCellCheckboxBase._apply_setfocus = function (evt_name, callback) { + }; + + _pCellCheckboxBase.on_create_contents = function () { + this._adjustAlign(); + nexacro.CheckBox.prototype.on_create_contents.call(this); + }; + + _pCellCheckboxBase.on_destroy_contents = function () { + nexacro.CheckBox.prototype.on_destroy_contents.call(this); + this._view = null; + this._cellinfo = null; + this._cellobj = null; + }; + + _pCellCheckboxBase.on_fire_onclick = function (button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientX, clientY, from_comp, from_refer_comp) { + return this.parent.on_fire_onclick(button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientX, clientY, from_comp, from_refer_comp, "control"); + }; + + _pCellCheckboxBase.on_fire_ondblclick = function (button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientX, clientY, from_comp, from_refer_comp) { + return this.parent.on_fire_ondblclick(button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientX, clientY, from_comp, from_refer_comp, "control"); + }; + + _pCellCheckboxBase._isEnable = function () { + if (this._view && this._view._enable !== undefined) { + return this._view._enable; + } + + if (this.parent && this.parent._isEnable) { + return this.parent._isEnable(); + } + + return true; + }; + _pCellCheckboxBase._on_icon_onload = function (url, width, height) { + nexacro._IconText.prototype._on_icon_onload.call(this, url, width, height); + + this._adjustAlign(undefined, undefined, width, height); + }; + _pCellCheckboxBase._adjustAlign = function (halign, valign, w, h) { + var prect = this._cellobj._getAvailableRect(); + var left = prect.left; + var top = prect.top; + var right = prect.right; + var bottom = prect.bottom; + var width = prect.width; + var height = prect.height; + var datarow = this._cellobj._getDataRow(); + var controlSize = this._cellinfo._getCheckboxsize(datarow); + + if (controlSize < 0 || controlSize == undefined) { + var size = this._on_getFitSize(w, h); + controlSize = size[1]; + } + + if (!halign) { + halign = "center"; + } + if (!valign) { + valign = "middle"; + } + + if (halign == "center") { + left += ((width - controlSize) / 2); + } + else if (halign == "right") { + left = right - controlSize; + } + + if (valign == "middle") { + top += ((height - controlSize) / 2); + } + else if (valign == "bottom") { + top = bottom - controlSize; + } + + this.move(left, top, controlSize, controlSize); + }; + + _pCellCheckboxBase._updateAll = function (onlycontents, breadonly) { + if (breadonly !== undefined) { + if (this.on_apply_readonly) { + this.on_apply_readonly(breadonly); + } + else { + this._changeStatus("readonly", breadonly); + } + } + if (!onlycontents) { + this._apply_status(this._oldstatus, this._status, this._olduserstatus, this._userstatus); + } + + this._adjustAlign(); + this._setProperty(); + }; + + _pCellCheckboxBase._getCheckValue = function () { + var cellinfo = this._cellinfo; + var cellobj = this._cellobj; + var datarow = cellobj._getDataRow(); + var v = cellinfo._getTextValueForDisp(datarow); + + return v; + }; + + _pCellCheckboxBase._setProperty = function (onlycontrolprop) { + var cellinfo = this._cellinfo, cellobj = this._cellobj; + + var datarow = cellobj._getDataRow(); + cellinfo._setCellChildControlProperty("checkbox", this, datarow); + + if (onlycontrolprop) { + return; + } + + var v = this._getCheckValue(); + this.set_value(v); + this.checked = this._isChecked(v); + this._cellobj._setAccessibilityStatChecked(this.checked); + }; + + _pCellCheckboxBase._setAccessibilityStatFocus = function () { + var cellobj = this._cellobj; + this._control_element.setElementAccessibilityLabel(cellobj._getAccessibilityLabel()); + this._control_element.setElementAccessibilityAction(cellobj.accessibilityaction); + this._control_element.setElementAccessibilityDescription(cellobj.accessibilitydescription); + this._control_element.setElementAccessibilityParentLabel(cellobj._getAccessibilityMakeAddLabel().trim()); + + this._setAccessibilityStatChecked(this.isChecked()); + cellobj._setAccessibilityStatChecked(this.isChecked()); + nexacro.Component.prototype._setAccessibilityStatFocus.call(this); + }; + + _pCellCheckboxBase.on_get_accessibility_description = function () { + if (this._cellobj) { + var tooltiptext = this._cellobj.tooltiptext; + return nexacro._isNull(tooltiptext) ? "" : tooltiptext; + } + return ""; + }; + + _pCellCheckboxBase.on_get_accessibility_label = function () { + return ""; + }; + + _pCellCheckboxBase._getComputedStyle = function () { + var ctrl_cs = { + "styles" : null + }; + return ctrl_cs; + }; + + _pCellCheckboxBase._setComputedStyle = function (ctrl_cs) { + }; + + _pCellCheckboxBase._getCurrentStyleAlign = function (noflush) { + return this._cellobj._getCurrentStyleAlign(noflush); + }; + + _pCellCheckboxBase._on_getFitSize = function (w, h) { + var control_elem = this.getElement(); + if (control_elem) { + var total_w = 0; + var total_h = 0; + + var border = this._getCurrentStyleBorder(); + if (border) { + total_w += border._getBorderWidth(); + total_h += border._getBorderHeight(); + } + + var icon = this._icon || this._getCSSStyleValue("icon"); + if (icon) { + var icon_pos = this.iconPosition || this._getCSSStyleValue("iconPosition"); + var icon_size; + if (w !== undefined && h !== undefined) { + icon_size = { + width : w, + height : h + }; + } + else { + icon_size = nexacro._getImageSize(icon.url, this._on_icon_onload, this, this._view ? this._view._getRefFormBaseUrl() : undefined, icon.value) || { + width : 0, + height : 0 + }; + } + + if (icon_pos == "top" || icon_pos == "bottom") { + total_h += icon_size.height; + total_w = Math.max(total_w, icon_size.width); + } + else { + total_w += icon_size.width; + total_h = Math.max(total_h, icon_size.height); + } + } + + return [total_w, total_h]; + } + + return [this._adjust_width, this._adjust_height]; + }; + + nexacro._CellCheckboxControl = function (id, left, top, width, height, parent, controlmode) { + nexacro._CellCheckboxControlBase.call(this, id, left, top, width, height, parent); + this._controlmode = (controlmode) ? true : false; + }; + + var _pCellCheckbox = nexacro._createPrototype(nexacro._CellCheckboxControlBase, nexacro._CellCheckboxControl); + nexacro._CellCheckboxControl.prototype = _pCellCheckbox; + + _pCellCheckbox.on_fire_onclick = function (button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientX, clientY, from_comp, from_refer_comp) { + if (!this._is_alive) { + return; + } + + if (this._cellobj._isFakeCell()) { + return false; + } + + if (this._view && this._view.selectchangetype != "down") { + if (nexacro._toBoolean(this._view.readonly) == false) { + this._toggleCheck(); + } + } + + return this._cellobj.on_fire_onclick(button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientX, clientY, from_comp, from_refer_comp, "control"); + }; + + _pCellCheckbox.on_fire_ondblclick = function (button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientX, clientY, from_comp, from_refer_comp) { + if (this._cellobj._isFakeCell()) { + return false; + } + + return this._cellobj.on_fire_ondblclick(button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientX, clientY, from_comp, from_refer_comp, "control"); + }; + + _pCellCheckbox._toggleCheck = function () { + var cellobj = this._cellobj; + var cellinfo = this._cellinfo; + var view = this._view; + var datarow = cellobj._getDataRow(); + var editType = cellinfo._getEdittype(datarow); + + if (view && (editType == "checkboxcontrol" || editType == "checkbox")) { + var v = this._isChecked(this.value); + + if (v) { + v = nexacro._isNull(this.falsevalue) ? 0 : this.falsevalue; + } + else { + v = nexacro._isNull(this.truevalue) ? 1 : this.truevalue; + } + + if (cellinfo.text._bindtype == 1) { + view._dsEventOccured = true; + var dataset = cellobj._getBindDataset(); + if (dataset && dataset.setColumn(datarow, cellinfo.text._bindexpr, v)) { + v = cellinfo._getTextValueForDisp(datarow); + this.set_value(v); + } + view._dsEventOccured = false; + } + } + }; + + _pCellCheckbox._getDisplayText = function () { + if (this.parent) { + return this.parent._getDisplayText(); + } + + return ""; + }; + + _pCellCheckbox._getCurrentStyleAlign = function (noflush) { + return this._cellobj._getCurrentStyleAlign(noflush); + }; + + nexacro._CellImageControl = function (id, left, top, width, height, parent) { + nexacro._ImageAreaControl.call(this, id, left, top, width, height, null, null, null, null, null, null, parent); + + this.tabstop = false; + this.imagewidth = 0; + this.imageheight = 0; + this._view = parent._view; + this._cellinfo = parent._refinfo; + this._cellobj = parent; + this._img_elem = null; + this._img_type = "url"; + this.accessibilityrole = "image"; + }; + + var _pCellImage = nexacro._createPrototype(nexacro._ImageAreaControl, nexacro._CellImageControl); + nexacro._CellImageControl.prototype = _pCellImage; + + _pCellImage.on_destroy_contents = function () { + nexacro._ImageAreaControl.prototype.on_destroy_contents.call(this); + this._view = null; + this._cellinfo = null; + this._cellobj = null; + }; + + _pCellImage.on_apply_text = function () { + this.set_image(this._getDisplayText()); + }; + + _pCellImage.on_fire_onclick = function (button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientX, clientY, from_comp, from_refer_comp) { + return this.parent.on_fire_onclick(button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientX, clientY, from_comp, from_refer_comp, "cellimage"); + }; + + _pCellImage.on_fire_user_ontouchstart = function (touchinfos, changedtouchinfos, from_comp, from_refer_comp) { + return this.parent.on_fire_user_ontouchstart(touchinfos, changedtouchinfos, this, from_refer_comp); + }; + + _pCellImage.on_fire_ondblclick = function (button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientX, clientY, from_comp, from_refer_comp) { + return this.parent.on_fire_ondblclick(button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientX, clientY, this, from_refer_comp, "cellimage"); + }; + + _pCellImage.on_fire_onsize = function (width, height) { + if (this._complete) { + this.__apply_text(); + } + return nexacro._ImageAreaControl.prototype.on_fire_onsize.call(this, width, height); + }; + + _pCellImage._isEnable = function () { + if (this._view && this._view._enable !== undefined) { + return this._view._enable; + } + + if (this.parent && this.parent._isEnable) { + return this.parent._isEnable(); + } + + return true; + }; + + _pCellImage._getDisplayText = function () { + if (this.parent) { + return this.parent._getDisplayText(); + } + + return ""; + }; + + _pCellImage._updateAll = function (onlycontents, breadonly) { + if (breadonly !== undefined) { + if (this.on_apply_readonly) { + this.on_apply_readonly(breadonly); + } + else { + this._changeStatus("readonly", breadonly); + } + } + if (!onlycontents) { + this._apply_status(this._oldstatus, this._status, this._olduserstatus, this._userstatus); + } + + this._setProperty(); + }; + + _pCellImage._setProperty = function (onlycontrolprop) { + var cellinfo = this._cellinfo; + var cellobj = this._cellobj; + var datarow = cellobj._getDataRow(); + + if (!onlycontrolprop) { + this.on_apply_text(); + } + + cellinfo._setCellChildControlProperty("image", this, datarow); + }; + + _pCellImage._adjustAlign = function (halign, valign) { + if (!halign) { + halign = "center"; + } + if (!valign) { + valign = "middle"; + } + + this.set_imagealign(halign + " " + valign); + this._updateElementPositions(); + }; + + _pCellImage._setAccessibilityStatFocus = function () { + var cellobj = this._cellobj; + this._control_element.setElementAccessibilityLabel(cellobj._getAccessibilityLabel()); + this._control_element.setElementAccessibilityAction(cellobj.accessibilityaction); + this._control_element.setElementAccessibilityDescription(cellobj.accessibilitydescription); + this._control_element.setElementAccessibilityParentLabel(cellobj._getAccessibilityMakeAddLabel().trim()); + + nexacro.Component.prototype._setAccessibilityStatFocus.call(this); + }; + + _pCellImage.on_get_accessibility_description = function () { + if (this._cellobj) { + var tooltiptext = this._cellobj.tooltiptext; + return nexacro._isNull(tooltiptext) ? "" : tooltiptext; + } + return ""; + }; + + _pCellImage.on_get_accessibility_label = function () { + return this.text; + }; + + _pCellImage._getComputedStyle = function () { + var ctrl_cs = { + "styles" : null + }; + return ctrl_cs; + }; + + _pCellImage._setComputedStyle = function (ctrl_cs) { + }; + + _pCellImage._getCurrentStyleAlign = function (noflush) { + return this._cellobj._getCurrentStyleAlign(noflush); + }; + + nexacro._CellTreeControl = function (id, left, top, width, height, right, bottom, parent) { + nexacro.Component.call(this, id, left, top, width, height, right, bottom, null, null, null, null, parent); + this.tabstop = false; + this._view = parent._view; + this._cellinfo = parent._refinfo; + this._cellobj = parent; + this._leftline_ctrls = []; + this._btnimg_ctrl = null; + this._chk_ctrl = null; + this._img_ctrl = null; + this._text_ctrl = null; + this._displaytext = ""; + this._upline_ctrl = null; + this._downline_ctrl = null; + this._clicktarget = null; + this._checkboxObj = "_CellCheckboxControlBase"; + }; + + var _pCellTree = nexacro._createPrototype(nexacro.Component, nexacro._CellTreeControl); + nexacro._CellTreeControl.prototype = _pCellTree; + _pCellTree._is_subcontrol = true; + _pCellTree._type_name = "CellTreeItemControl"; + + _pCellTree._apply_setfocus = function (evt_name) { + }; + + _pCellTree.on_create_contents = function () { + this._createLines(true); + this._createCheckbox(true); + this._createImage(true); + this._createButton(true); + this._createText(true); + }; + + _pCellTree._createLines = function (bCreateOnly) { + if (!this._view || !this._view.treeuseline) { + return; + } + + if (!this._rightline_ctrl) { + this._rightline_ctrl = new nexacro._CellTreeLineControl("treerightline", 0, 0, 0, 0, null, null, this.parent); + this._childctrl_setevent(this._rightline_ctrl); + this._rightline_ctrl.createComponent(bCreateOnly); + } + if (!this._upline_ctrl) { + this._upline_ctrl = new nexacro._CellTreeLineControl("treeupline", 0, 0, 0, 0, null, null, this.parent); + this._childctrl_setevent(this._upline_ctrl); + this._upline_ctrl.createComponent(bCreateOnly); + } + if (!this._downline_ctrl) { + this._downline_ctrl = new nexacro._CellTreeLineControl("treedownline", 0, 0, 0, 0, null, null, this.parent); + this._childctrl_setevent(this._downline_ctrl); + this._downline_ctrl.createComponent(bCreateOnly); + } + }; + + _pCellTree._createCheckbox = function (bCreateOnly) { + if (!this._view && !this._view.treeusecheckbox) { + return; + } + + if (!this._chk_ctrl) { + this._chk_ctrl = new nexacro[this._checkboxObj]("treeitemcheckbox", 0, 0, 0, 0, this); + this._childctrl_setevent(this._chk_ctrl); + this._chk_ctrl._getCheckValue = function () { + var cellinfo = this._cellinfo; + var cellobj = this._cellobj; + var datarow = cellobj._getDataRow(); + + if (cellinfo.treecheck._bindtype > 0) { + return cellinfo._getAttrValue(cellinfo.treecheck, datarow); + } + else { + return this._view._treeChecked[datarow]; + } + }; + if (nexacro._enableaccessibility) { + this._chk_ctrl.accessibilityenable = false; + } + this._chk_ctrl.createComponent(bCreateOnly); + } + }; + + _pCellTree._createImage = function (bCreateOnly) { + if (!this._view || !this._view.treeuseimage) { + return; + } + + if (!this._img_ctrl) { + this._img_ctrl = new nexacro._TreeItemIconControl("treeitemimage", 0, 0, 0, 0, null, null, this); + this._childctrl_setevent(this._img_ctrl); + + if (nexacro._enableaccessibility) { + this._img_ctrl.accessibilityenable = false; + } + + this._img_ctrl.createComponent(bCreateOnly); + } + }; + + _pCellTree._createButton = function (bCreateOnly) { + this._btnimg_ctrl = new nexacro._TreeItemIconControl("treeitembutton", 0, 0, 0, 0, null, null, this); + this._childctrl_setevent(this._btnimg_ctrl); + + if (nexacro._enableaccessibility) { + this._btnimg_ctrl.accessibilityenable = false; + } + + this._btnimg_ctrl.createComponent(bCreateOnly); + }; + + _pCellTree._createText = function (bCreateOnly) { + this._text_ctrl = new nexacro._TreeItemTextControl("treeitemtext", 0, 0, 0, 0, null, null, null, null, null, null, this); + this._text_ctrl._setControl(); + this._childctrl_setevent(this._text_ctrl); + this._text_ctrl.createComponent(bCreateOnly); + }; + + _pCellTree._childctrl_setevent = function (obj) { + obj.on_fire_onclick = function (button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientX, clientY, from_comp, from_refer_comp) { + var clickitem = this.id; + + if (clickitem == "treeitemtext" || clickitem == "treeitemimage") { + clickitem = ""; + } + + return this.parent.on_fire_onclick(button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientX, clientY, from_comp, from_refer_comp, clickitem); + }; + + obj.on_fire_ondblclick = function (button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientX, clientY, from_comp, from_refer_comp) { + var clickitem = this.id; + + if (clickitem == "treeitemtext" || clickitem == "treeitemimage") { + clickitem = ""; + } + + return this.parent.on_fire_ondblclick(button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientX, clientY, from_comp, from_refer_comp, clickitem); + }; + + obj._on_last_lbuttonup = function () { + return this.parent._on_last_lbuttonup(); + }; + }; + + _pCellTree.on_created_contents = function (win) { + var leftlines = this._leftline_ctrls; + + for (var i = 0, n = leftlines.length; i < n; i++) { + leftlines[i].on_created(win); + } + + if (this._rightline_ctrl) { + this._rightline_ctrl.on_created(win); + } + + if (this._upline_ctrl) { + this._upline_ctrl.on_created(win); + } + + if (this._downline_ctrl) { + this._downline_ctrl.on_created(win); + } + + if (this._btnimg_ctrl) { + this._btnimg_ctrl.on_created(win); + } + + if (this._chk_ctrl) { + this._chk_ctrl.on_created(win); + } + + if (this._img_ctrl) { + this._img_ctrl.on_created(win); + } + + if (this._text_ctrl) { + this._text_ctrl.on_created(win); + } + + this._is_created = true; + }; + + _pCellTree.on_attach_contents_handle = _pCellTree.on_created_contents; + + _pCellTree.on_destroy_contents = function () { + var leftlines = this._leftline_ctrls; + + for (var i = 0, n = leftlines.length; i < n; i++) { + leftlines[i].destroy(); + } + + this._leftline_ctrls = null; + + if (this._rightline_ctrl) { + this._rightline_ctrl.destroy(); + this._rightline_ctrl = null; + } + if (this._upline_ctrl) { + this._upline_ctrl.destroy(); + this._upline_ctrl = null; + } + if (this._downline_ctrl) { + this._downline_ctrl.destroy(); + this._downline_ctrl = null; + } + if (this._btnimg_ctrl) { + this._btnimg_ctrl.destroy(); + this._btnimg_ctrl = null; + } + if (this._chk_ctrl) { + this._chk_ctrl.destroy(); + this._chk_ctrl = null; + } + if (this._img_ctrl) { + this._img_ctrl.destroy(); + this._img_ctrl = null; + } + if (this._text_ctrl) { + this._text_ctrl.destroy(); + this._text_ctrl = null; + } + + this._clicktarget = null; + this._view = null; + this._cellinfo = null; + this._cellobj = null; + }; + + _pCellTree.on_apply_text = function () { + var text_ctrl = this._text_ctrl; + + if (text_ctrl) { + text_ctrl.set_text(this._displaytext); + } + }; + + _pCellTree.on_fire_ondblclick = function (button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientX, clientY, from_comp, from_refer_comp, clickitem) { + return this._cellobj.on_fire_ondblclick(button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientX, clientY, from_comp, from_refer_comp, clickitem); + }; + + _pCellTree.on_fire_onclick = function (button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientX, clientY, from_comp, from_refer_comp, clickitem) { + return this._cellobj.on_fire_onclick(button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientX, clientY, from_comp, from_refer_comp, clickitem); + }; + + _pCellTree._isEditTypeTree = function () { + var cellobj = this._cellobj; + var cellinfo = this._cellinfo; + var datarow = cellobj._getDataRow(); + var editType = cellinfo._getEdittype(datarow); + + return (editType == "tree"); + }; + + _pCellTree._getLineHeight = function () { + var height = this.parent._adjust_height; + var border = this.parent._getCurrentStyleBorder(); + var bordbottom = (border) ? border.bottom._width : 0; + return height - bordbottom; + }; + + _pCellTree._isEnable = function () { + if (this._view && this._view._enable !== undefined) { + return this._view._enable; + } + + if (this.parent && this.parent._isEnable) { + return this.parent._isEnable(); + } + + return true; + }; + + _pCellTree._load_image = function (img_ctrl, image) { + var val = (image) ? image.toString() : null; + + if (this._control_element && val) { + if (val != "none") { + val = nexacro._getURIValue(val); + val = nexacro._getImageLocation(val, this._getRefFormBaseUrl()); + img_ctrl._load_url = val; + + var size = nexacro._getImageSize(val, this._on_loadImage, this, this._getRefFormBaseUrl(), image.value); + + if (size) { + this._on_loadImage(val, size.width, size.height); + } + } + } + }; + + _pCellTree._on_loadImage = function (url, imgW, imgH) { + var adjust = false; + var width, height; + if (this._btnimg_ctrl && this._btnimg_ctrl._load_url == url) { + width = this._btnimg_ctrl._adjust_width; + height = this._btnimg_ctrl._adjust_height; + + if (width != imgW || height != imgH) { + adjust = true; + this._btnimg_ctrl.move(this._btnimg_ctrl._adjust_left, this._btnimg_ctrl._adjust_top, imgW, imgH); + } + } + + if (this._img_ctrl && this._img_ctrl._load_url == url) { + width = this._img_ctrl._adjust_width; + height = this._img_ctrl._adjust_height; + + if (width != imgW || height != imgH) { + adjust = true; + this._img_ctrl.move(this._img_ctrl._adjust_left, this._img_ctrl._adjust_top, imgW, imgH); + } + } + + if (adjust) { + this._adjustSubCompAlign(this._lvl); + } + }; + + _pCellTree._changeTreeStatus = function (changestatus, value) { + this._userstatus = changestatus; + + if (this._img_ctrl) { + this._img_ctrl._changeUserStatus(changestatus, value); + } + + if (changestatus != "leaf" && this._btnimg_ctrl) { + this._btnimg_ctrl._changeUserStatus(changestatus, value); + } + }; + + _pCellTree._buttonUpdate = function (state) { + var view = this._view; + if (view && view.treeusebutton != this._treeusebutton) { + if (view.treeusebutton == "use") { + this._btnimg_ctrl.set_visible(true); + } + else { + this._btnimg_ctrl.set_visible(false); + } + + this._treeusebutton = view.treeusebutton; + } + + var val; + + if (state == 2 || state == 3 || state == -1) { + val = this._btnimg_ctrl._getCSSStyleValue("icon", "expand"); + + this._load_image(this._btnimg_ctrl, val); + this._btnimg_ctrl.set_visible(false); + this._btnimg_ctrl._tmpw = this._btnimg_ctrl.width; + this._btnimg_ctrl._tmph = this._btnimg_ctrl.height; + this._btnimg_ctrl.move(this._btnimg_ctrl._adjust_left, this._btnimg_ctrl._adjust_top, 0, 0); + } + else { + val = this._btnimg_ctrl._getCSSStyleValue("icon", this._userstatus); + this._load_image(this._btnimg_ctrl, val); + } + }; + + _pCellTree._checkUpdate = function (check) { + var view = this._view; + if (view && view.treeusecheckbox != this._treeusecheckbox) { + if (this._chk_ctrl) { + this._chk_ctrl.set_visible(view.treeusecheckbox); + } + else { + this._createCheckbox(); + } + + this._treeusecheckbox = view.treeusecheckbox; + } + + if (view) { + this._chk_ctrl._changeStatus("readonly", view.readonly); + } + + if (this._chk_ctrl) { + this._chk_ctrl.set_value(check); + this._chk_ctrl._adjustAlign(); + } + }; + + _pCellTree._imageUpdate = function (state) { + var view = this._view; + if (view && view.treeuseimage != this._treeuseimage) { + if (this._img_ctrl) { + this._img_ctrl.set_visible(view.treeuseimage); + } + else { + this._createImage(); + } + + this._treeuseimage = view.treeuseimage; + } + + if (this._img_ctrl) { + var val = this._img_ctrl._getCSSStyleValue("icon", this._userstatus); + + this._load_image(this._img_ctrl, val); + + if (val && val != "none") { + this._img_ctrl.set_visible(view ? view.treeuseimage : true); + } + else { + this._img_ctrl.set_visible(false); + } + } + + this._adjustSubCompAlign(this._lvl); + }; + + _pCellTree._lineUpdate = function (rowidx, level) { + var view = this._view; + + if (view && view.treeuseline != this._treeuseline) { + this._createLines(); + + if (this._rightline_ctrl) { + this._rightline_ctrl.set_visible(view.treeuseline); + } + + if (this._upline_ctrl) { + this._upline_ctrl.set_visible(view.treeuseline); + } + + if (this._downline_ctrl) { + this._downline_ctrl.set_visible(view.treeuseline); + } + + this._treeuseline = view.treeuseline; + } + + var startlevel = this._cellinfo._getTreeStartLevel(rowidx); + var bExistNextNode = (view && view._hasSameNextNode[rowidx]) ? view._hasSameNextNode[rowidx][1] : false; + var bRootNode = (startlevel >= level) ? true : false; + + this._createLeftLine(rowidx); + var ctrl; + + if (this._rightline_ctrl) { + ctrl = this._rightline_ctrl; + ctrl._set_line(false, true); + } + if (this._upline_ctrl) { + ctrl = this._upline_ctrl; + ctrl._set_line(!bRootNode, false); + } + + if (this._downline_ctrl && !bRootNode && bExistNextNode) { + ctrl = this._downline_ctrl; + ctrl._set_line(true, false); + } + else if (this._downline_ctrl) { + this._downline_ctrl.set_visible(false); + } + + this._treeline_visible(!this._cellobj._hideInner); + }; + + _pCellTree._createLeftLine = function (rowidx) { + var view = this._view; + var i; + + if (!view || !view.treeuseline) { + var n = this._leftline_ctrls.length; + for (i = 0; i < n; i++) { + this._leftline_ctrls[i].destroy(); + } + this._leftline_ctrls = []; + + return; + } + + var level = this._cellinfo._getTreeLevel(rowidx); + var parentlevel = level - 1; + var bExistNextParentNode; + i = 0; + var leftlines = this._leftline_ctrls; + + while (view._rootlevel < parentlevel) { + bExistNextParentNode = this.__isNextSameLevelInSameParent(parentlevel, rowidx); + + if (bExistNextParentNode) { + var parentheight = this._getLineHeight(); + var ctrl = leftlines[i]; + + if (!ctrl) { + ctrl = new nexacro._CellTreeLineControl("treeleftline", 0, 0, 1, parentheight, null, null, this.parent); + ctrl.createComponent(); + this._leftline_ctrls[i] = ctrl; + } + else { + ctrl.set_height(parentheight); + } + + ctrl._set_line(true, false); + ctrl._depth = parentlevel; + i++; + } + parentlevel--; + } + + while (leftlines.length > i) { + leftlines[leftlines.length - 1].destroy(); + leftlines.splice(leftlines.length - 1, 1); + } + }; + + _pCellTree._toggleItem = function (bHide, state) { + var view = this._view; + + if (!view || bHide) { + if (this._btnimg_ctrl) { + this._btnimg_ctrl.set_visible(false); + } + if (this._rightline_ctrl) { + this._rightline_ctrl.set_visible(false); + } + if (this._upline_ctrl) { + this._upline_ctrl.set_visible(false); + } + if (this._downline_ctrl) { + this._downline_ctrl.set_visible(false); + } + if (this._chk_ctrl) { + this._chk_ctrl.set_visible(false); + } + if (this._img_ctrl) { + this._img_ctrl.set_visible(false); + } + if (this._text_ctrl) { + this._text_ctrl.set_visible(false); + } + } + else { + if (view.treeusebutton == "use") { + this._btnimg_ctrl.set_visible(true); + } + else { + this._btnimg_ctrl.set_visible(false); + } + + if (state == 2 || state == 3 || state == -1) { + this._btnimg_ctrl.set_visible(false); + this._btnimg_ctrl.move(this._btnimg_ctrl._adjust_left, this._btnimg_ctrl._adjust_top, 0, 0); + } + + if (this._rightline_ctrl) { + this._rightline_ctrl.set_visible(view.treeuseline); + } + if (this._upline_ctrl) { + this._upline_ctrl.set_visible(view.treeuseline); + } + if (this._downline_ctrl) { + this._downline_ctrl.set_visible(view.treeuseline); + } + if (this._chk_ctrl) { + this._chk_ctrl.set_visible(view.treeusecheckbox); + } + if (this._img_ctrl) { + this._img_ctrl.set_visible(view.treeuseimage); + } + if (this._text_ctrl) { + this._text_ctrl.set_visible(true); + } + } + }; + + _pCellTree.on_apply_prop_tooltip = function () { + var datarow = this._cellobj._getDataRow(); + + this.tooltiptext = this._cellinfo._getTooltipText(datarow); + this.tooltiptype = this._cellinfo.tooltiptype; + + nexacro.Component.prototype.on_apply_prop_tooltip.call(this); + }; + + _pCellTree._treeline_visible = function (v) { + var i; + var n = this._leftline_ctrls.length; + if (v) { + for (i = 0; i < n; i++) { + this._leftline_ctrls[i]._control_element.setElementVisible(this._leftline_ctrls[i].visible); + } + + if (this._rightline_ctrl) { + this._rightline_ctrl._control_element.setElementVisible(this._rightline_ctrl.visible); + } + if (this._upline_ctrl) { + this._upline_ctrl._control_element.setElementVisible(this._upline_ctrl.visible); + } + if (this._downline_ctrl) { + this._downline_ctrl._control_element.setElementVisible(this._downline_ctrl.visible); + } + } + else { + for (i = 0; i < n; i++) { + this._leftline_ctrls[i]._control_element.setElementVisible(false); + } + + if (this._rightline_ctrl) { + this._rightline_ctrl._control_element.setElementVisible(false); + } + if (this._upline_ctrl) { + this._upline_ctrl._control_element.setElementVisible(false); + } + if (this._downline_ctrl) { + this._downline_ctrl._control_element.setElementVisible(false); + } + } + }; + + _pCellTree.on_apply_prop_cssclass = function () { + if (this._chk_ctrl) { + this._chk_ctrl.on_apply_cssclass(); + } + if (this._img_ctrl) { + this._img_ctrl.on_apply_cssclass(); + } + if (this._text_ctrl) { + this._text_ctrl.on_apply_cssclass(); + } + if (this._btnimg_ctrl) { + this._btnimg_ctrl.on_apply_cssclass(); + } + }; + + _pCellTree.on_apply_prop_enable = function (v) { + if (this._chk_ctrl) { + this._chk_ctrl._apply_status(this._oldstatus, this._status, this._olduserstatus, this._userstatus); + } + if (this._img_ctrl) { + this._img_ctrl._apply_status(this._oldstatus, this._status, this._olduserstatus, this._userstatus); + } + if (this._text_ctrl) { + this._text_ctrl._apply_status(this._oldstatus, this._status, this._olduserstatus, this._userstatus); + } + if (this._btnimg_ctrl) { + this._btnimg_ctrl._apply_status(this._oldstatus, this._status, this._olduserstatus, this._userstatus); + } + }; + + _pCellTree.on_apply_prop_rtl = function () { + nexacro.Component.prototype.on_apply_prop_rtl.call(this); + + if (this._chk_ctrl) { + this._chk_ctrl.set_rtl(this.rtl); + } + if (this._img_ctrl) { + this._img_ctrl.set_rtl(this.rtl); + } + if (this._text_ctrl) { + this._text_ctrl.set_rtl(this.rtl); + } + if (this._btnimg_ctrl) { + this._btnimg_ctrl.set_rtl(this.rtl); + } + }; + + _pCellTree._updateAll = function (onlycontents, breadonly) { + if (this._control_element) { + if (breadonly !== undefined) { + if (this.on_apply_readonly) { + this.on_apply_readonly(breadonly); + } + else { + this._changeStatus("readonly", breadonly); + } + } + var view = this._view; + var cellobj = this._cellobj; + var rowidx = cellobj._getDataRow(); + var stats = 1; + var check = 0; + var level = 0; + + if (view && !cellobj._isFakeCell()) { + stats = view._getTreeStats(rowidx); + check = view._getTreeCheck(rowidx); + level = view._getTreeLevel ? view._getTreeLevel(rowidx) : this._cellinfo._getTreeLevel(rowidx); + } + + if (rowidx == null || rowidx == -9) { + this._toggleItem(true, stats); + return; + } + else { + this._toggleItem(false, stats); + } + + if (!onlycontents) { + this._apply_status(cellobj._oldstatus, cellobj._status, cellobj._olduserstatus, cellobj._userstatus); + } + + this._lvl = level; + + if (stats == 0) { + this._changeTreeStatus("collapse", true); + } + else if (stats == 1) { + this._changeTreeStatus("expand", true); + } + else if (stats >= 2) { + this._changeTreeStatus("leaf", true); + } + + this._buttonUpdate(stats); + this._lineUpdate(rowidx, level); + this._checkUpdate(check); + this._imageUpdate(stats); + + var txt = this.parent._getDisplayText(); + if (this._displaytext != txt) { + this._text_ctrl.set_text(txt); + this._displaytext = txt; + } + + this.on_apply_prop_tooltip(); + this._adjustSubCompAlign(level); + } + }; + + _pCellTree._getCurrentStyleAlign = function (noflush) { + var align = { + textAlign : "center", + verticalAlign : "middle" + }; + + if (this._text_ctrl && this._text_ctrl._cell_elem) { + align = this._text_ctrl._cell_elem._getComputedStyleAlign(noflush); + } + + return align; + }; + + _pCellTree._adjustSubCompAlign = function (level) { + var cellobj = this.parent; + var cellinfo = this._cellinfo; + var rect = cellobj._getControlRect(); + + var width = rect.width; + var height = rect.height; + var datarow = cellobj._getDataRow(); + var start = cellinfo._getTreeStartLevel(datarow); + var defaultsize = 9; + var gap = 16; + var parentlevel = level - 1; + + level -= start; + + if (level < 0) { + level = 0; + } + + var line_adjust_top = cellobj._adjust_top; + var padding = cellobj._getCurrentStylePadding(); + var line_adjust_left = ((padding) ? padding.left : 0); + var parentheight = this._getLineHeight(); + var offset = (level * gap) + defaultsize; + var lineleft = offset; + var linetop = line_adjust_top; + var linewidth = 0; + var halfheight = (parentheight / 2); + var lineheight = halfheight; + var left_lines = this._leftline_ctrls; + var left_lines_len = left_lines.length; + var j = 0; + var elem; + + for (var i = 0; j < left_lines_len; i++) { + if (parentlevel == left_lines[j]._depth) { + elem = left_lines[j++]._control_element; + elem.setElementPosition(offset - (gap * (i + 1)) + line_adjust_left, linetop); + } + + if (parentlevel-- < 0) { + break; + } + } + + var line_button_gap_width = 0; + var line_button_gap_height = 0; + + if (this._btnimg_ctrl) { + var buttonWidth = this._btnimg_ctrl.width; + + if (buttonWidth <= 0 && this._btnimg_ctrl._tmpw) { + buttonWidth = this._btnimg_ctrl._tmpw; + } + + var buttonHeight = this._btnimg_ctrl.height; + + if (buttonHeight <= 0 && this._btnimg_ctrl._tmph) { + buttonHeight = this._btnimg_ctrl._tmph; + } + + var buttonLeft = offset - (buttonWidth / 2); + + if (buttonLeft < 0) { + buttonLeft = offset - (defaultsize / 2); + } + + if (!this._rightline_ctrl || !this._rightline_ctrl.visible) { + buttonLeft -= ((buttonWidth / 2) * level); + } + + var buttonTop = ((height - buttonHeight) / 2); + + + + if (this._btnimg_ctrl.visible) { + lineheight = ((parentheight - buttonHeight) / 2); + line_button_gap_width = buttonWidth; + line_button_gap_height = buttonHeight; + offset = buttonLeft + buttonWidth; + } + else { + if (!this._view.treeuseline) { + offset = buttonLeft + buttonWidth; + } + } + + + linewidth = buttonWidth; + this._btnimg_ctrl.move(buttonLeft, buttonTop, buttonWidth, buttonHeight); + } + else { + linewidth = defaultsize; + } + + if (this._rightline_ctrl && this._rightline_ctrl.visible) { + this._rightline_ctrl.move(offset + line_adjust_left, linetop, linewidth - (line_button_gap_width / 2), halfheight); + offset = this._rightline_ctrl.left + this._rightline_ctrl.width - line_adjust_left; + } + else { + offset += 1; + } + + if (this._upline_ctrl && this._upline_ctrl.visible) { + this._upline_ctrl.move(lineleft + line_adjust_left, linetop, linewidth, lineheight); + } + + if (this._downline_ctrl && this._downline_ctrl.visible) { + linetop = line_adjust_top + lineheight + line_button_gap_height; + + var b = lineheight + linetop; + var pb = parentheight + line_adjust_top; + + if (b > pb) { + lineheight = pb - linetop; + } + + this._downline_ctrl.move(lineleft + line_adjust_left, linetop, linewidth, lineheight); + } + + if (this._chk_ctrl && this._chk_ctrl.visible) { + var checkWidth = this._chk_ctrl.width; + var checkHeight = this._chk_ctrl.height; + var checkLeft = offset; + var checkTop = ((height - checkHeight) / 2); + + offset += checkWidth; + this._chk_ctrl.move(checkLeft, checkTop, checkWidth, checkHeight); + } + + if (this._img_ctrl && this._img_ctrl.visible) { + offset += 1; + + var imageWidth = this._img_ctrl._adjust_width; + var imageHeight = this._img_ctrl._adjust_height; + var imageLeft = null; + var imageTop = null; + + if (imageWidth > 0 && imageHeight > 0) { + imageLeft = offset; + imageTop = ((height - imageHeight) / 2); + + offset += imageWidth; + } + else { + } + + this._img_ctrl.move(imageLeft, imageTop, imageWidth, imageHeight); + + offset += 5; + } + else { + offset += 4; + } + + if (this._text_ctrl) { + this._text_ctrl.move(offset, 0, width - offset, height); + } + }; + + _pCellTree._setAlign = function (halign, valign) { + if (halign) { + this._text_ctrl.set_textAlign(halign); + } + if (valign) { + this._text_ctrl.set_verticalAlign(valign); + } + }; + + if (nexacro._Browser == "Runtime") { + _pCellTree.on_change_containerRect = function (width, height) { + if (this._lvl || this._isRtl()) { + this._adjustSubCompAlign(this._lvl); + } + }; + } + else { + _pCellTree.on_change_containerRect = function (width, height) { + if (this._lvl) { + this._adjustSubCompAlign(this._lvl); + } + }; + } + + _pCellTree._setAccessibilityStatFocus = function (evt_name) { + var cellobj = this._cellobj; + var label = cellobj._getCellAccessibilityLabel(); + label = label.trim(); + this._setAccessibilityLabel(label); + + var datarow = cellobj._getDataRow(); + var level = this._cellinfo._getTreeLevel(datarow); + var startlevel = this._cellinfo._getTreeStartLevel(datarow); + + if (cellobj._getTreeStatus() == 0) { + if (this._text_ctrl) { + this._text_ctrl._setAccessibilityStatExpanded(false); + } + } + else { + if (this._text_ctrl) { + this._text_ctrl._setAccessibilityStatExpanded(true); + } + } + + this._setAccessibilityInfoLevel(level - startlevel + 1); + nexacro.Component.prototype._setAccessibilityStatFocus.call(this, evt_name); + }; + + _pCellTree.on_get_accessibility_description = function () { + if (this._cellobj) { + var tooltiptext = this._cellobj.tooltiptext; + return nexacro._isNull(tooltiptext) ? "" : tooltiptext; + } + return ""; + }; + + _pCellTree._getComputedStyle = function () { + var ctrl_cs = { + "styles" : null + }; + + return ctrl_cs; + }; + + _pCellTree._setComputedStyle = function (ctrl_cs) { + }; + + nexacro._TreeItemIconControl = function (id, left, top, width, height, right, bottom, parent) { + nexacro._Icon.call(this, id, left, top, width, height, right, bottom, null, null, null, null, parent); + }; + + var _pTreeItemIcon = nexacro._createPrototype(nexacro._Icon, nexacro._TreeItemIconControl); + nexacro._TreeItemIconControl.prototype = _pTreeItemIcon; + _pTreeItemIcon._is_subcontrol = true; + _pTreeItemIcon._type_name = "TreeItemIconControl"; + + _pTreeItemIcon.on_changeUserStatus = function (changestatus, value, applyuserstatus, currentstatus, currentuserstatus) { + return changestatus; + }; + nexacro._TreeItemTextControl = function (id, left, top, width, height, right, bottom, minwidth, maxwidth, minheight, maxheight, parent) { + nexacro.Static.call(this, id, left, top, width, height, right, bottom, null, null, null, null, parent); + }; + var _pTreeItemTextControl = nexacro._createPrototype(nexacro.Static, nexacro._TreeItemTextControl); + nexacro._TreeItemTextControl.prototype = _pTreeItemTextControl; + + nexacro._CellTreeLineControl = function (id, left, top, width, height, right, bottom, parent) { + nexacro.Component.call(this, id, left, top, width, height, right, bottom, null, null, null, null, parent); + + this.tabstop = false; + this._is_simple_control = true; + this._is_nc_control = true; + this._view = parent._view; + this._depth = -1; + this._showleft = false; + this._showbottom = false; + }; + + var _pCellTreeLine = nexacro._createPrototype(nexacro.Component, nexacro._CellTreeLineControl); + nexacro._CellTreeLineControl.prototype = _pCellTreeLine; + _pCellTreeLine._is_subcontrol = true; + _pCellTreeLine._type_name = "CellTreeLineControl"; + + _pCellTreeLine.on_destroy_contents = function () { + this._view = null; + }; + + _pCellTreeLine._isEnable = function () { + if (this._view && this._view._enable !== undefined) { + return this._view._enable; + } + + if (this.parent && this.parent._isEnable) { + return this.parent._isEnable(); + } + + return true; + }; + + _pCellTreeLine._set_line = function (left, bottom) { + var control_elem = this._control_element; + if (control_elem) { + this._showleft = left; + this._showbottom = bottom; + this._apply_status(this._oldstatus, this._status, this._olduserstatus, this._userstatus); + } + }; + + _pCellTreeLine._on_apply_status = function (oldstatus, status, olduserstatus, userstatus, apply, is_userstatus, status_param, value_param, applycssstatus, applycssuserstatus) { + nexacro.Component.prototype._on_apply_status.call(this, oldstatus, status, olduserstatus, userstatus, apply, is_userstatus, status_param, value_param, applycssstatus, applycssuserstatus); + + var remove_l = false, remove_t = false, remove_r = false, remove_b = false; + + if (this.id == "treerightline") { + remove_l = true; + remove_r = true; + remove_t = true; + } + else if (this.id == "treeleftline" || this.id == "treeupline" || "treedownline") { + remove_r = true; + remove_t = true; + remove_b = true; + } + + if (!this._showbottom) { + remove_b = true; + } + if (!this._showleft) { + remove_l = true; + } + + this._control_element.setElementBorderNone(remove_l, remove_t, remove_r, remove_b); + }; + + _pCellTreeLine.on_getIDCSSSelector = function () { + return "celltreeline"; + }; + + delete _pCellControl; + delete _pSubCellControl; + delete _pCellExpand; + delete _pCellButton; + delete _pCellBar; + delete _pCellEdit; + delete _pCellTextArea; + delete _pCellMaskEdit; + delete _pCellCalendar; + delete _pCellCombo; + delete _pCellCheckboxBase; + delete _pCellCheckbox; + delete _pCellImage; + delete _pCellTree; + delete _pTreeItemIcon; + delete _pTreeItemTextControl; + delete _pCellTreeLine; +} diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/nexacro17lib/component/ComComp/CheckBox.js b/nexacro-spring/src/main/webapp/deploy/_web_/nexacro17lib/component/ComComp/CheckBox.js new file mode 100644 index 0000000..ee3512f --- /dev/null +++ b/nexacro-spring/src/main/webapp/deploy/_web_/nexacro17lib/component/ComComp/CheckBox.js @@ -0,0 +1,371 @@ +//============================================================================== +// +// TOBESOFT Co., Ltd. +// Copyright 2017 TOBESOFT Co., Ltd. +// All Rights Reserved. +// +// NOTICE: TOBESOFT permits you to use, modify, and distribute this file +// in accordance with the terms of the license agreement accompanying it. +// +// Readme URL: http://www.nexacro.co.kr/legal/nexacro17-public-license-readme-1.1.html +// +//============================================================================== + +if (!nexacro.CheckBox) { + nexacro.CheckBoxChangedEventInfo = function (obj, id, prevalue, postvalue) { + this.id = this.eventid = id || "onchanged"; + this.prevalue = prevalue; + this.postvalue = postvalue; + this.fromobject = this.fromreferenceobject = obj; + }; + + var _pCheckBoxChangedEventInfo = nexacro._createPrototype(nexacro.ChangedEventInfo, nexacro.CheckBoxChangedEventInfo); + nexacro.CheckBoxChangedEventInfo.prototype = _pCheckBoxChangedEventInfo; + _pCheckBoxChangedEventInfo._type_name = "CheckBoxChangedEventInfo"; + + delete _pCheckBoxChangedEventInfo; + + nexacro.CheckBox = function (id, left, top, width, height, right, bottom, minwidth, maxwidth, minheight, maxheight, parent) { + nexacro._IconText.call(this, id, left, top, width, height, right, bottom, minwidth, maxwidth, minheight, maxheight, parent); + }; + + var _pCheckBox = nexacro._createPrototype(nexacro._IconText, nexacro.CheckBox); + nexacro.CheckBox.prototype = _pCheckBox; + _pCheckBox._type_name = "CheckBox"; + + + _pCheckBox.value = false; + _pCheckBox.readonly = false; + _pCheckBox.falsevalue = null; + _pCheckBox.truevalue = null; + _pCheckBox.tabstop = true; + + + _pCheckBox._is_focus_accept = true; + _pCheckBox._use_selected_status = true; + _pCheckBox._use_readonly_status = true; + + _pCheckBox.accessibilityrole = "checkbox"; + + + _pCheckBox._event_list = + { + "canchange" : 1, + "onchanged" : 1, + "onclick" : 1, + "ondrag" : 1, + "ondragenter" : 1, + "ondragmove" : 1, + "ondragleave" : 1, + "ondrop" : 1, + "onkeydown" : 1, + "onkeyup" : 1, + "onkillfocus" : 1, + "onsetfocus" : 1, + "onlbuttondown" : 1, + "onlbuttonup" : 1, + "onrbuttondown" : 1, + "onrbuttonup" : 1, + "onmousedown" : 1, + "onmouseup" : 1, + "onmouseenter" : 1, + "onmousemove" : 1, + "onmouseleave" : 1, + "onmove" : 1, + "onsize" : 1, + "oncontextmenu" : 1, + "ontouchstart" : 1, + "ontouchmove" : 1, + "ontouchend" : 1 + }; + + _pCheckBox.on_created_contents = function (win) { + nexacro._IconText.prototype.on_created_contents.call(this, win); + + this._setAccessibilityStatChecked(this.isChecked()); + }; + + _pCheckBox.on_attach_contents_handle = function (win) { + nexacro._IconText.prototype.on_attach_contents_handle.call(this, win); + + this._setAccessibilityStatChecked(this.isChecked()); + }; + + _pCheckBox.on_destroy_contents = function () { + nexacro._IconText.prototype.on_destroy_contents.call(this); + + this.falsevalue = null; + this.truevalue = null; + }; + + _pCheckBox.on_init_bindSource = function (columnid, propid, ds) { + if (propid == "value") { + this._setValue(this._changeValue(undefined)); + this.on_apply_value(); + } + }; + + _pCheckBox.on_change_bindSource = function (propid, ds, row, col, index) { + if (propid == "value") { + this._setValue(this._changeValue(ds.getColumn(row, col))); + this.on_apply_value(); + } + }; + + _pCheckBox.on_getBindableProperties = function () { + return "value"; + }; + + _pCheckBox.on_get_accessibility_label = function () { + return this.text ? this.text : ""; + }; + + _pCheckBox._on_hotkey = function (key_code, alt_key, ctrl_key, shift_key) { + this.on_fire_onclick("", alt_key, ctrl_key, shift_key, -1, -1, -1, -1, -1, -1, this, this); + }; + + _pCheckBox._isFocusAcceptable = function () { + return this._is_focus_accept; + }; + + _pCheckBox.set_value = function (v) { + v = this._changeValue(v); + if (this.value != v) { + if (this.applyto_bindSource("value", v)) { + this._setValue(v); + this.on_apply_value(); + } + } + }; + + _pCheckBox.on_apply_value = function () { + if (this.isChecked()) { + this._changeUserStatus("selected", true); + } + else { + this._changeUserStatus("selected", false); + } + }; + + _pCheckBox.set_truevalue = function (v) { + if (v != undefined) { + v = v.toString(); + } + + if (this.truevalue !== v) { + if (this.isChecked()) { + if (this.applyto_bindSource("value", v)) { + this._setValue(v); + } + } + this.truevalue = v; + } + }; + + _pCheckBox.set_falsevalue = function (v) { + if (v != undefined) { + v = v.toString(); + } + + if (this.falsevalue !== v) { + if (!this.isChecked()) { + if (this.applyto_bindSource("value", v)) { + this._setValue(v); + } + } + this.falsevalue = v; + } + }; + + _pCheckBox.set_readonly = function (v) { + v = nexacro._toBoolean(v); + if (v != this.readonly) { + this.readonly = v; + this.on_apply_readonly(v); + } + }; + + _pCheckBox.on_apply_readonly = function (readonly) { + this._changeStatus("readonly", readonly); + }; + + _pCheckBox.isChecked = function () { + return this._isChecked(this.value); + }; + + _pCheckBox.on_keyup_basic_action = function (key_code, alt_key, ctrl_key, shift_key, refer_comp) { + if (key_code == nexacro.Event.KEY_SPACE) { + this.on_fire_onclick("", alt_key, ctrl_key, shift_key, -1, -1, -1, -1, -1, -1, refer_comp, refer_comp); + } + }; + + _pCheckBox.on_fire_onclick = function (button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientX, clientY, from_comp, from_refer_comp) { + if (!this.enable || this.readonly) { + return false; + } + + var pre_val = this.value; + var post_val; + if (this._isChecked(pre_val)) { + if (nexacro._isNull(this.falsevalue)) { + post_val = false; + } + else { + post_val = this.falsevalue; + } + } + else { + if (nexacro._isNull(this.truevalue)) { + post_val = true; + } + else { + post_val = this.truevalue; + } + } + + var ret = this.on_fire_canchange(this, pre_val, post_val); + if (ret) { + if (this.applyto_bindSource("value", post_val)) { + this._setValue(post_val); + } + + if (pre_val !== post_val) { + this.on_fire_onchanged(this, pre_val, post_val); + } + + this.on_apply_value(); + } + + return nexacro.Component.prototype.on_fire_onclick.call(this, button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientX, clientY, from_comp, from_refer_comp); + }; + + _pCheckBox.on_fire_canchange = function (obj, prevalue, postvalue) { + if (this.canchange && this.canchange._has_handlers) { + var evt = new nexacro.CheckBoxChangedEventInfo(this, "canchange", prevalue, postvalue); + return this.canchange._fireCheckEvent(this, evt); + } + + return true; + }; + + _pCheckBox.on_fire_onchanged = function (obj, prevalue, postvalue) { + if (this.onchanged && this.onchanged._has_handlers) { + var evt = new nexacro.CheckBoxChangedEventInfo(this, "onchanged", prevalue, postvalue); + return this.onchanged._fireEvent(this, evt); + } + }; + + _pCheckBox._setValue = function (v) { + this.value = v; + this._setAccessibilityStatChecked(this.isChecked()); + }; + + _pCheckBox._isChecked = function (value) { + if (this.truevalue != null) { + if (this.falsevalue != null) { + if (value === this.falsevalue || value === undefined) { + return false; + } + + if (value === this.truevalue || nexacro._toBoolean(value)) { + return true; + } + + if (this.value === this.truevalue) { + return true; + } + + return false; + } + else { + if (value === this.truevalue || nexacro._toBoolean(value)) { + return true; + } + + return false; + } + } + else { + if (this.falsevalue != null) { + if (value === this.falsevalue) { + return false; + } + + return true; + } + else { + return nexacro._toBoolean(value); + } + } + }; + + _pCheckBox._changeValue = function (v) { + var use_truevalue = !nexacro._isNull(this.truevalue); + var use_falsevalue = !nexacro._isNull(this.falsevalue); + + if (nexacro._isNull(v)) { + if (use_falsevalue) { + return this.falsevalue; + } + else { + return false; + } + } + + v = v.toString(); + if (use_truevalue) { + if (v === this.truevalue) { + return v; + } + + if (use_falsevalue) { + if (v === this.falsevalue) { + return v; + } + else { + return this.value; + } + } + else { + if (parseInt(v) === 0) { + return 0; + } + else if (!nexacro._toBoolean(v)) { + return false; + } + else { + return this.value; + } + } + } + else { + if (use_falsevalue) { + if (v === this.falsevalue) { + return v; + } + else if (parseInt(v) === 1) { + return 1; + } + else if (nexacro._toBoolean(v)) { + return true; + } + else { + return this.value; + } + } + else { + if (parseInt(v) === 0) { + return 0; + } + else if (parseInt(v) === 1) { + return 1; + } + else { + return nexacro._toBoolean(v); + } + } + } + }; + + delete _pCheckBox; +} diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/nexacro17lib/component/ComComp/Combo.js b/nexacro-spring/src/main/webapp/deploy/_web_/nexacro17lib/component/ComComp/Combo.js new file mode 100644 index 0000000..212f448 --- /dev/null +++ b/nexacro-spring/src/main/webapp/deploy/_web_/nexacro17lib/component/ComComp/Combo.js @@ -0,0 +1,3522 @@ +//============================================================================== +// +// TOBESOFT Co., Ltd. +// Copyright 2017 TOBESOFT Co., Ltd. +// All Rights Reserved. +// +// NOTICE: TOBESOFT permits you to use, modify, and distribute this file +// in accordance with the terms of the license agreement accompanying it. +// +// Readme URL: http://www.nexacro.co.kr/legal/nexacro17-public-license-readme-1.1.html +// +//============================================================================== + +if (!nexacro.Combo) { + nexacro.ComboCloseUpEventInfo = function (obj, id, beforeIndex, beforeText, beforeValue, afterIndex, afterText, afterValue, isSelect) { + this.id = this.eventid = id || "oncloseup"; + this.fromobject = this.fromreferenceobject = obj; + + this.preindex = beforeIndex; + this.postindex = afterIndex; + this.pretext = beforeText; + this.posttext = afterText; + this.prevalue = beforeValue; + this.postvalue = afterValue; + + this.isselect = isSelect; + }; + + var _pComboCloseUpEventInfo = nexacro._createPrototype(nexacro.Event, nexacro.ComboCloseUpEventInfo); + nexacro.ComboCloseUpEventInfo.prototype = _pComboCloseUpEventInfo; + _pComboCloseUpEventInfo._type_name = "ComboCloseUpEventInfo"; + + delete _pComboCloseUpEventInfo; + + nexacro.Combo = function (id, left, top, width, height, right, bottom, minwidth, maxwidth, minheight, maxheight, parent, onlydisplay) { + nexacro.Component.call(this, id, left, top, width, height, right, bottom, minwidth, maxwidth, minheight, maxheight, parent); + this._onlydisplay = onlydisplay; + }; + + var _pCombo = nexacro._createPrototype(nexacro.Component, nexacro.Combo); + nexacro.Combo.prototype = _pCombo; + _pCombo._type_name = "Combo"; + + + _pCombo.comboedit = null; + _pCombo.dropbutton = null; + _pCombo.combolist = null; + _pCombo._popupcontrol = null; + + + _pCombo.value = undefined; + _pCombo.index = -1; + _pCombo.text = ""; + + _pCombo.codecolumn = ""; + _pCombo.datacolumn = ""; + _pCombo.innerdataset = ""; + + _pCombo.autoselect = false; + _pCombo.autoskip = false; + _pCombo.usesoftkeyboard = true; + _pCombo.displaynulltext = ""; + _pCombo.imemode = "none"; + _pCombo.readonly = false; + _pCombo.usecontextmenu = true; + + _pCombo.displayrowcount = undefined; + _pCombo.buttonsize = undefined; + _pCombo.itemheight = undefined; + _pCombo.type = "dropdown"; + _pCombo.popuptype = "normal"; + _pCombo.popupsize = undefined; + _pCombo.acceptvaluetype = "allowinvalid"; + + + _pCombo._isSelect = false; + _pCombo._isFiredOnInput = false; + _pCombo._innerdataset = ""; + _pCombo._filtereddataset = ""; + _pCombo._default_value = undefined; + _pCombo._default_text = ""; + _pCombo._default_index = -1; + _pCombo._has_inputElement = true; + _pCombo._processing_keyfilter = false; + + + _pCombo._use_readonly_status = true; + _pCombo._is_editable_control = true; + + + _pCombo._event_list = { + "oneditclick" : 1, + "onitemclick" : 1, + "onkeydown" : 1, + "onkeyup" : 1, + "onkillfocus" : 1, + "onsetfocus" : 1, + "ondrag" : 1, + "ondragenter" : 1, + "ondragleave" : 1, + "ondragmove" : 1, + "ondrop" : 1, + "onlbuttondown" : 1, + "onlbuttonup" : 1, + "onrbuttondown" : 1, + "onrbuttonup" : 1, + "onmousedown" : 1, + "onmouseup" : 1, + "onmouseenter" : 1, + "onmousemove" : 1, + "onmouseleave" : 1, + "onmove" : 1, + "onsize" : 1, + "canitemchange" : 1, + "onitemchanged" : 1, + "oninput" : 1, + "onmousewheel" : 1, + "oncontextmenu" : 1, + "ondropdown" : 1, + "oncloseup" : 1, + "oninnerdatachanged" : 1, + "ontouchstart" : 1, + "ontouchmove" : 1, + "ontouchend" : 1 + }; + + + _pCombo.accessibilityrole = "combobox"; + + _pCombo.on_create_contents = function () { + var control = this.getElement(); + if (control) { + this.comboedit = new nexacro._ComboEditControl("comboedit", 0, 0, 0, 0, null, null, null, null, null, null, this, this._onlydisplay); + this.dropbutton = new nexacro._ComboButtonControl("dropbutton", 0, 0, 0, 0, null, null, null, null, null, null, this); + + this.comboedit.createComponent(); + this.dropbutton.createComponent(); + } + }; + + _pCombo.on_created_contents = function (win) { + this.on_apply_autoskip(this.autoskip); + this.on_apply_displaynulltext(this.displaynulltext); + this.on_apply_imemode(this.imemode); + this.on_apply_type(this.type); + this.on_apply_autoselect(this.autoselect); + this.on_apply_usecontextmenu(this.usecontextmenu); + + if (!this._onlydisplay) { + var init_comobovalue = (this.value == undefined && this.index == -1); + if (init_comobovalue) { + this.on_apply_value(this.value); + } + else { + if (this.index > -1) { + this.on_apply_index(this.index); + } + else if (this.value !== undefined) { + this.on_apply_value(this.value); + } + else if (this.text !== "") { + this.on_apply_text(this.text); + } + } + } + + this.redraw(); + this._recalcLayout(); + + this._setEventHandlerToComboEdit(); + this._setEventHandlerToDropButton(); + + this.comboedit.on_created(win); + this.dropbutton.on_created(win); + + if (this.type == "dropdown") { + this.comboedit._setReadonlyView(true); + } + + if (nexacro._enableaccessibility) { + this._want_arrows = false; + this._setAccessibilityStatAutoComplete("list"); + + if (!nexacro._isDesktop()) { + this.comboedit._setAccessibilityStatHidden(true); + this.dropbutton._setAccessibilityStatHidden(true); + } + + if (this.type == "dropdown" && !this.readonly) { + if (this.comboedit) { + this.comboedit._setAccessibilityReadOnly(false); + } + } + } + + if (this.comboedit) { + this.comboedit.set_usesoftkeyboard(this.usesoftkeyboard, true); + } + + this._default_value = this.value; + this._default_text = this.text; + this._default_index = this.index; + }; + + _pCombo.on_destroy_contents = function () { + if (this.comboedit) { + this.comboedit.destroy(); + this.comboedit = null; + } + + if (this.dropbutton) { + this.dropbutton.destroy(); + this.dropbutton = null; + } + + if (this.combolist) { + this.combolist.destroy(); + this.combolist = null; + } + + if (this._popupcontrol) { + this._popupcontrol.destroy(); + this._popupcontrol = null; + } + + this._removeEventHandlerToInnerDataset(); + }; + + _pCombo._removeEventHandlerToInnerDataset = function () { + if (this._innerdataset) { + this._innerdataset._removeEventHandler("onvaluechanged", this._on_dataset_onvaluechanged, this); + this._innerdataset._removeEventHandler("onrowsetchanged", this._on_dataset_onrowsetchanged, this); + this._innerdataset = null; + } + + if (this._filtereddataset) { + this._filtereddataset.destroy(); + this._filtereddataset = null; + } + }; + + _pCombo.on_create_contents_command = function () { + this.on_apply_autoskip(this.autoskip); + this.on_apply_displaynulltext(this.displaynulltext); + this.on_apply_imemode(this.imemode); + this.on_apply_type(this.type); + this.on_apply_autoselect(this.autoselect); + this.on_apply_usecontextmenu(this.usecontextmenu); + + var init_comobovalue = (this.value == undefined && this.index == -1); + if (init_comobovalue) { + this.on_apply_value(this.value); + } + else { + if (this.index > -1) { + this.on_apply_index(this.index); + } + else if (this.value !== undefined) { + this.on_apply_value(this.value); + } + else if (this.text !== "") { + this.on_apply_text(this.text); + } + } + + this.redraw(); + this._recalcLayout(); + + this._setEventHandlerToComboEdit(); + this._setEventHandlerToDropButton(); + + var str = ""; + + if (this.comboedit) { + str += this.comboedit.createCommand(); + } + + if (this.dropbutton) { + str += this.dropbutton.createCommand(); + } + + return str; + }; + + _pCombo.on_attach_contents_handle = function (win) { + if (this.comboedit) { + this.comboedit.attachHandle(win); + if (nexacro._enableaccessibility && !nexacro._isDesktop()) { + this.comboedit._setAccessibilityStatHidden(true); + } + if (this.type == "dropdown") { + this.comboedit._setReadonlyView(true); + } + } + + if (this.dropbutton) { + this.dropbutton.attachHandle(win); + this.dropbutton._setAccessibilityStatHidden(true); + } + + if (nexacro._enableaccessibility) { + this._want_arrows = false; + this._setAccessibilityStatAutoComplete("list"); + + if (this.type == "dropdown" && !this.readonly) { + if (this.comboedit) { + this.comboedit._setAccessibilityReadOnly(false); + } + } + } + + this._default_value = this.value; + this._default_text = this.text; + this._default_index = this.index; + }; + + _pCombo.on_change_containerRect = function (width, height) { + this._recalcLayout(); + }; + + _pCombo.on_change_containerPos = function (left, top) { + this._recalcLayout(); + }; + + _pCombo._apply_setfocus = function (evt_name) { + var comboedit = this.comboedit; + if (comboedit) { + comboedit._changeStatus("focused", true); + + if (nexacro._isTouchInteraction && nexacro._SupportTouch) { + if (this.type == "dropdown") { + var control_elem = this.getElement(); + if (control_elem) { + control_elem.setElementFocus(true); + } + else { + comboedit._on_focus(true, evt_name); + } + } + else { + comboedit._on_focus(true, evt_name); + } + } + else { + comboedit._on_focus(true, evt_name); + } + } + }; + + _pCombo.on_apply_custom_class = function () { + if (this.comboedit) { + this.comboedit.on_apply_prop_class(); + } + if (this.dropbutton) { + this.dropbutton.on_apply_prop_class(); + } + if (this.combolist) { + this.combolist.on_apply_prop_class(); + } + }; + + _pCombo.on_apply_prop_enable = function (v) { + if (this.comboedit) { + this.comboedit._setEnable(v); + } + if (this.dropbutton && !this.readonly) { + this.dropbutton._setEnable(v); + } + if (this.combolist) { + this.combolist._setEnable(v); + } + }; + + _pCombo.on_apply_prop_cssclass = function () { + if (this.comboedit) { + this.comboedit.on_apply_cssclass(); + } + if (this.dropbutton) { + this.dropbutton.on_apply_cssclass(); + } + if (this.combolist) { + this.combolist.on_apply_cssclass(); + } + }; + + _pCombo.on_init_bindSource = function (columnid, propid, ds) { + if (this.type == "filter" || this.type == "filterlike" || this.type == "caseifilter" || this.type == "caseifilterlike") { + this._createFilteredDataset(); + } + + this._setValue(undefined); + this._setIndex(-1); + this._setText(""); + + this.redraw(); + }; + + _pCombo.on_change_bindSource = function (propid, ds, row, col, Idx) { + if (propid == "value") { + if (this.type == "filter" || this.type == "filterlike" || this.type == "caseifilter" || this.type == "caseifilterlike") { + this._createFilteredDataset(); + } + + var idx = -1; + var txt = ""; + var val = ds.getColumn(row, col); + + val = this._convertValueType(val, true); + + if (this.value == val) { + return; + } + + this._setValue(val); + + ds = this._selectDataset(); + if (ds) { + idx = this._getIndexFromValue(ds, val); + if (idx > -1) { + txt = this._getItemText(idx); + } + + this._setIndex(idx); + this._setText(txt); + } + + this.redraw(); + this._default_value = this.value; + this._default_text = this.text; + this._default_index = this.index; + } + }; + + _pCombo.on_getBindableProperties = function () { + return "value"; + }; + + _pCombo._getDragData = function () { + var comboedit = this.comboedit; + if (comboedit) { + return comboedit.getSelectedText(); + } + }; + + _pCombo._getDlgCode = function (keycode, altKey, ctrlKey, shiftKey) { + if ((keycode == nexacro.Event.KEY_UP || keycode == nexacro.Event.KEY_DOWN) && (ctrlKey || altKey)) { + return { + want_tab : false, + want_return : false, + want_escape : false, + want_chars : false, + want_arrows : true + }; + } + + return { + want_tab : false, + want_return : false, + want_escape : false, + want_chars : false, + want_arrows : this._want_arrows + }; + }; + + _pCombo.on_get_accessibility_label = function () { + return ""; + }; + + _pCombo._getAccessibilityReadLabel = function (bwholeread) { + var _readlabel = nexacro.Component.prototype._getAccessibilityReadLabel.call(this); + if (bwholeread && this.comboedit._input_element && this._status != "focus") { + if (!this.comboedit._input_element._wantAccessibilityAdditionalLabel || !this.comboedit._input_element._wantAccessibilityAdditionalLabel()) { + _readlabel = this.text + " " + _readlabel; + } + } + + return _readlabel; + }; + + _pCombo.set_text = function (v) { + v = nexacro._toString(v); + if (this.text != v) { + this.text = v; + this.on_apply_text(v); + } + }; + + _pCombo.on_apply_text = function (text) { + var control_elem = this.getElement(); + if (control_elem) { + var value = this.value; + + var ds = this._selectDataset(); + if (!ds || (!this.datacolumn && !this.codecolumn)) { + if (value) { + this._setEditValue(text); + } + else { + if (this.displaynulltext || text == "") { + this._setEditValue(undefined); + } + else { + this._setEditValue(text); + } + } + } + else { + var idx = this._getIndexFromText(ds, text); + + this._setIndex(idx); + if (idx > -1) { + this._setValue(this._getItemValue(idx)); + } + else { + this._setValue(undefined); + this._setText(""); + } + this.redraw(); + } + } + }; + + _pCombo.set_value = function (v) { + v = this._convertValueType(v); + + if (this.value !== v) { + if (this.acceptvaluetype == "ignoreinvalid") { + var idx = -1; + var ds = this._selectDataset(); + if (ds) { + idx = this._getIndexFromValue(ds, v); + if (idx < 0) { + return; + } + } + } + + if (this.applyto_bindSource("value", v)) { + this.value = v; + this.on_apply_value(v); + this.redraw(); + } + } + }; + + _pCombo.on_apply_value = function (value) { + var control_elem = this.getElement(); + if (control_elem) { + var idx = -1; + var txt = ""; + var ds = this._selectDataset(); + if (ds) { + idx = this._getIndexFromValue(ds, value); + if (idx > -1) { + txt = this._getItemText(idx); + } + + this._setIndex(idx); + this._setText(txt); + + if (nexacro._enableaccessibility) { + this._updateAccessibilityLabel(); + } + } + } + }; + + _pCombo.set_index = function (v) { + if (isNaN(v = +v) || v < -1) { + return; + } + + if (this.index != v) { + this.index = v; + this.on_apply_index(v); + this.redraw(); + } + }; + + _pCombo.on_apply_index = function (idx) { + var control_elem = this.getElement(); + if (control_elem) { + var val; + var txt = ""; + + var ds = this._innerdataset; + if (ds) { + if (idx !== null && idx >= 0 && idx < ds.getRowCount()) { + val = this._getItemValue(idx); + txt = this._getItemText(idx); + } + else { + idx = -1; + } + + if (this.applyto_bindSource("value", val)) { + this._setValue(val); + this._setText(txt); + if (this.index != idx) { + this._setIndex(-1); + } + } + else { + var result = "restore"; + + var form = this._getForm(); + var item = form._bind_manager._findBindItem(this, "value"); + if (item) { + var bind_ds = item._dataset; + if (bind_ds.rowcount > 0) { + if (val == this.value) { + if (txt == this.text) { + result = "change"; + } + } + } + } + + if (result == "restore") { + this._setIndex(this._default_index); + this._setValue(this._default_value); + this._setText(this._default_text); + } + else if (result == "change") { + this._setIndex(idx); + this._setValue(val); + this._setText(txt); + } + } + } + else { + this._setIndex(-1); + this._setValue(undefined); + this._setText(""); + } + } + }; + + _pCombo.set_displaynulltext = function (v) { + v = nexacro._toString(v).replace(/"/g, "\""); + if (this.displaynulltext != v) { + this.displaynulltext = v; + this.on_apply_displaynulltext(v); + } + }; + + _pCombo.on_apply_displaynulltext = function (displaynulltext) { + var comboedit = this.comboedit; + if (comboedit) { + comboedit.set_displaynulltext(displaynulltext); + } + }; + + _pCombo.set_readonly = function (v) { + v = nexacro._toBoolean(v); + if (this.readonly != v) { + this.readonly = v; + this.on_apply_readonly(v); + } + }; + + _pCombo.on_apply_readonly = function (readonly) { + this._changeStatus("readonly", readonly); + + var comboedit = this.comboedit; + if (comboedit) { + if (!this._onlydisplay) { + comboedit.set_readonly(readonly); + } + else { + comboedit._changeStatus("readonly", readonly); + } + if (this.type == "dropdown") { + comboedit._setReadonlyView(true); + if (nexacro._enableaccessibility) { + comboedit._setAccessibilityReadOnly(readonly); + } + } + else { + comboedit._setReadonlyView(false); + } + } + + var dropbutton = this.dropbutton; + if (dropbutton) { + dropbutton._setEnable(this.enable && !readonly); + } + + var combolist = this.combolist; + if (combolist) { + combolist.set_readonly(readonly); + } + }; + + _pCombo.set_autoselect = function (v) { + v = nexacro._toBoolean(v); + if (this.autoselect != v) { + this.autoselect = v; + this.on_apply_autoselect(v); + } + }; + + _pCombo.on_apply_autoselect = function (autoselect) { + var comboedit = this.comboedit; + if (comboedit) { + if (this.type != "dropdown") { + comboedit.set_autoselect(autoselect); + } + else { + comboedit.set_autoselect(false); + } + } + }; + + _pCombo.set_autoskip = function (v) { + v = nexacro._toBoolean(v); + if (this.autoskip != v) { + this.autoskip = v; + this.on_apply_autoskip(v); + } + }; + + _pCombo.on_apply_autoskip = function (autoskip) { + var comboedit = this.comboedit; + if (comboedit) { + comboedit.set_autoskip(autoskip); + } + }; + + _pCombo.set_usesoftkeyboard = function (v, bforce) { + v = nexacro._toBoolean(v); + if (v != this.usesoftkeyboard || bforce) { + this.usesoftkeyboard = v; + this.on_apply_usesoftkeyboard(bforce); + } + }; + + _pCombo.on_apply_usesoftkeyboard = function (bforce) { + if (this.comboedit) { + this.comboedit.set_usesoftkeyboard(this.usesoftkeyboard, bforce); + } + }; + + _pCombo.set_imemode = function (v) { + var imemode_enum = ["none", "alpha", "alpha,full", "hangul", "hangul,full", "katakana", "katakana,full", "hiragana", "direct"]; + if (imemode_enum.indexOf(v) == -1) { + return; + } + + if (this.imemode != v) { + this.imemode = v; + this.on_apply_imemode(v); + } + }; + + _pCombo.on_apply_imemode = function (imemode) { + var comboedit = this.comboedit; + if (comboedit) { + comboedit.set_imemode(imemode); + } + }; + + _pCombo.set_type = function (v) { + var type_enum = ["dropdown", "search", "filter", "filterlike", "caseisearch", "caseifilter", "caseifilterlike"]; + if (type_enum.indexOf(v) == -1) { + return; + } + + if (this.type != v) { + this.type = v; + this.on_apply_type(v); + } + }; + + _pCombo.on_apply_type = function (type) { + if (this._filtereddataset) { + this._filtereddataset.filter(""); + } + + this.on_apply_readonly(this.readonly); + this.on_apply_autoselect(this.autoselect); + }; + + _pCombo.set_popuptype = function (v) { + var popuptype_enum = ["normal", "center", "system", "none"]; + if (popuptype_enum.indexOf(v) == -1) { + return; + } + + if (this.popuptype != v) { + this.popuptype = v; + this.on_apply_popuptype(v); + } + }; + + _pCombo.on_apply_popuptype = function (popuptype) { + var popupcontrol = this._popupcontrol; + if (popupcontrol) { + popupcontrol._setType(popuptype); + } + }; + + _pCombo.set_popupsize = function (v) { + if (this.popupsize != v) { + this.popupsize = v; + } + }; + + _pCombo.set_usecontextmenu = function (v) { + v = nexacro._toBoolean(v); + if (this.usecontextmenu != v) { + this.usecontextmenu = v; + this.on_apply_usecontextmenu(v); + } + }; + + _pCombo.set_acceptvaluetype = function (v) { + var type_enum = ["allowinvalid", "ignoreinvalid"]; + + if (type_enum.indexOf(v) == -1) { + return; + } + this.acceptvaluetype = v; + }; + + _pCombo.on_apply_usecontextmenu = function (usecontextmenu) { + var comboedit = this.comboedit; + if (comboedit) { + comboedit.set_usecontextmenu(usecontextmenu); + } + }; + + _pCombo.set_innerdataset = function (v) { + if (typeof v != "string") { + this.setInnerDataset(v); + return; + } + + if (this.innerdataset != v) { + this._removeEventHandlerToInnerDataset(); + + if (!v) { + this._innerdataset = null; + this.innerdataset = ""; + } + else { + v = v.replace("@", ""); + var _v = this._findDataset(v); + this._innerdataset = _v ? _v : ""; + this.innerdataset = v; + } + this.on_apply_innerdataset(this._innerdataset); + } + else if (this.innerdataset && !this._innerdataset) { + this._setInnerDatasetStr(this.innerdataset); + this.on_apply_innerdataset(this._innerdataset); + } + }; + + _pCombo.on_apply_innerdataset = function (ds) { + if (this.combolist) { + this.combolist.setInnerDataset(ds); + } + + if (ds) { + ds._setEventHandler("onvaluechanged", this._on_dataset_onvaluechanged, this); + ds._setEventHandler("onrowsetchanged", this._on_dataset_onrowsetchanged, this); + + if (this.type == "filter" || this.type == "filterlike" || this.type == "caseifilter" || this.type == "caseifilterlike") { + this._createFilteredDataset(); + } + + if (this.index > -1) { + this._recheckIndex(); + } + else if (this.value !== undefined) { + this._recheckValue(); + } + else if (this.text !== "") { + this._recheckText(); + } + + this.redraw(); + } + }; + + _pCombo.set_codecolumn = function (v) { + if (this.codecolumn != v) { + this.codecolumn = v; + this.on_apply_codecolumn(v); + } + }; + + _pCombo.on_apply_codecolumn = function (codecolumn) { + if (this.combolist) { + this.combolist.set_codecolumn(codecolumn); + } + + if (this.type == "filter" || this.type == "filterlike" || this.type == "caseifilter" || this.type == "caseifilterlike") { + this._createFilteredDataset(); + } + + if (this._is_created) { + this._recheckIndex(); + this.redraw(); + } + }; + + _pCombo.set_datacolumn = function (v) { + if (this.datacolumn != v) { + this.datacolumn = v; + this.on_apply_datacolumn(v); + } + }; + + _pCombo.on_apply_datacolumn = function (datacolumn) { + var combolist = this.combolist; + if (combolist) { + combolist.set_datacolumn(this.datacolumn); + } + + if (this.type == "filter" || this.type == "filterlike" || this.type == "caseifilter" || this.type == "caseifilterlike") { + this._createFilteredDataset(); + } + + if (this._is_created) { + this._recheckIndex(); + this.redraw(); + } + }; + + _pCombo.set_buttonsize = function (v) { + if (this.buttonsize != v) { + this.buttonsize = v; + this.on_apply_buttonsize(v); + } + }; + + _pCombo.on_apply_buttonsize = function (buttonsize) { + this._recalcLayout(); + }; + + _pCombo.set_displayrowcount = function (v) { + if (v !== undefined) { + if (isNaN(v = +v) || v < 0) { + return; + } + } + + if (this.displayrowcount != v) { + this.displayrowcount = v; + } + }; + + _pCombo.set_itemheight = function (v) { + if (v !== undefined) { + if (isNaN(v = +v)) { + return; + } + } + + if (this.itemheight != v) { + this.itemheight = v; + this.on_apply_itemheight(v); + } + }; + + _pCombo.on_apply_itemheight = function (itemheight) { + var combolist = this.combolist; + if (combolist) { + combolist.set_itemheight(itemheight); + } + }; + + _pCombo.set_visible = function (v) { + nexacro.Component.prototype.set_visible.call(this, v); + + if (!this.visible && this._isPopupVisible()) { + this._closePopup(); + } + }; + + _pCombo.set_scrollbarbarminsize = function (scrollbarbarminsize) { + if (scrollbarbarminsize !== undefined) { + scrollbarbarminsize = parseInt(scrollbarbarminsize); + if (isNaN(scrollbarbarminsize)) { + return; + } + } + if (this.scrollbarbarminsize != scrollbarbarminsize) { + this.scrollbarbarminsize = scrollbarbarminsize; + + var combolist = this.combolist; + if (combolist) { + combolist.set_scrollbarbarminsize(scrollbarbarminsize); + } + } + }; + + _pCombo.set_scrollbardecbuttonsize = function (scrollbardecbuttonsize) { + if (scrollbardecbuttonsize !== undefined) { + scrollbardecbuttonsize = parseInt(scrollbardecbuttonsize); + if (isNaN(scrollbardecbuttonsize)) { + return; + } + } + + if (this.scrollbardecbuttonsize != scrollbardecbuttonsize) { + this.scrollbardecbuttonsize = scrollbardecbuttonsize; + + var combolist = this.combolist; + if (combolist) { + combolist.set_scrollbardecbuttonsize(scrollbardecbuttonsize); + } + } + }; + + _pCombo.set_scrollbarbaroutsize = function (scrollbarbaroutsize) { + if (scrollbarbaroutsize !== undefined) { + scrollbarbaroutsize = parseInt(scrollbarbaroutsize); + if (isNaN(scrollbarbaroutsize)) { + return; + } + } + + if (this.scrollbarbaroutsize != scrollbarbaroutsize) { + this.scrollbarbaroutsize = scrollbarbaroutsize; + + var combolist = this.combolist; + if (combolist) { + combolist.set_scrollbarbaroutsize(scrollbarbaroutsize); + } + } + }; + + _pCombo.set_scrollbarincbuttonsize = function (scrollbarincbuttonsize) { + if (scrollbarincbuttonsize !== undefined) { + scrollbarincbuttonsize = parseInt(scrollbarincbuttonsize); + if (isNaN(scrollbarincbuttonsize)) { + return; + } + } + + if (this.scrollbarincbuttonsize != scrollbarincbuttonsize) { + this.scrollbarincbuttonsize = scrollbarincbuttonsize; + + var combolist = this.combolist; + if (combolist) { + combolist.set_scrollbarincbuttonsize(scrollbarincbuttonsize); + } + } + }; + + _pCombo.set_scrollbarsize = function (scrollbarsize) { + if (scrollbarsize !== undefined) { + scrollbarsize = parseInt(scrollbarsize); + if (isNaN(scrollbarsize)) { + return; + } + } + + if (this.scrollbarsize != scrollbarsize) { + this.scrollbarsize = scrollbarsize; + + var combolist = this.combolist; + if (combolist) { + combolist.set_scrollbarsize(scrollbarsize); + } + } + }; + + _pCombo.set_scrollbartrackbarsize = function (scrollbartrackbarsize) { + if (scrollbartrackbarsize !== undefined) { + scrollbartrackbarsize = parseInt(scrollbartrackbarsize); + if (isNaN(scrollbartrackbarsize)) { + return; + } + } + + if (this.scrollbartrackbarsize != scrollbartrackbarsize) { + this.scrollbartrackbarsize = scrollbartrackbarsize; + + var combolist = this.combolist; + if (combolist) { + combolist.set_scrollbartrackbarsize(scrollbartrackbarsize); + } + } + }; + + _pCombo.dropdown = function () { + var ds; + + if (!this.enable || this.readonly || !this.visible) { + return false; + } + + if (!this.isDropdown()) { + ds = this._selectDataset(true); + + if ((this.type == "filter" || this.type == "filterlike" || this.type == "caseifilter" || this.type == "caseifilterlike") && ds.rowcount == 0) { + ds = this._innerdataset; + } + } + else { + return false; + } + + this.setFocus(false); + + this._showPopup(ds, this.index); + }; + + _pCombo.isDropdown = function () { + return this._isPopupVisible(); + }; + + _pCombo.getCaretPos = function () { + if (this.readonly) { + return -1; + } + + var comboedit = this.comboedit; + if (comboedit) { + return comboedit.getCaretPos(); + } + + return -1; + }; + + _pCombo.getSelect = function () { + if (this.getElement() && this.comboedit) { + return this.comboedit.getSelect(); + } + + return [this.getCaretPos(), this.getCaretPos()]; + }; + + _pCombo.setSelect = function (start, end) { + var comboedit = this.comboedit; + if (comboedit) { + return this.comboedit.setSelect(start, end); + } + + return false; + }; + + _pCombo.getSelectedText = function () { + if (this.getElement() && this.comboedit) { + return this.comboedit.getSelectedText(); + } + + return ""; + }; + + _pCombo.setSelectedText = function (v) { + if (this.getElement() && this.comboedit) { + return this.comboedit.setSelectedText(v); + } + }; + + _pCombo.getInnerDataset = function () { + return this._innerdataset; + }; + + _pCombo.setInnerDataset = function (obj) { + this._removeEventHandlerToInnerDataset(); + + if (!obj) { + this._innerdataset = null; + this.innerdataset = ""; + this.on_apply_innerdataset(null); + } + else if (obj instanceof nexacro.Dataset || (typeof obj == "object" && obj._type_name == "Dataset")) { + this._innerdataset = obj; + this.innerdataset = obj.id; + this.on_apply_innerdataset(obj); + if (this._is_created) { + this._recheckIndex(); + this.redraw(); + } + } + }; + + _pCombo.getCount = function () { + if (this.getElement()) { + if (this.combolist) { + return this.combolist.getCount(); + } + else if (this._innerdataset) { + return this._innerdataset.getRowCount(); + } + } + + return 0; + }; + + _pCombo.redraw = function () { + if (this.text) { + this._setEditValue(this.text); + } + else { + this._setEditValue(undefined); + } + this._setDefaultCaret(); + }; + + _pCombo.updateToDataset = function () { + return this.applyto_bindSource("value", this.value); + }; + + _pCombo._on_activate = function () { + nexacro.Component.prototype._on_activate.call(this); + + var comboedit = this.comboedit; + if (comboedit) { + nexacro.Edit.prototype._on_activate.call(comboedit); + } + }; + + _pCombo._on_dropdown = function () { + if (this.readonly) { + return; + } + + var ds = this._selectDataset(true); + var idx = this.index; + + if (this._isPopupVisible()) { + this._closePopup(); + this._setEditValue(this._getItemText(this.index)); + } + else { + var comboedit = this.comboedit; + if (comboedit) { + comboedit.setSelect(0, 0); + } + + if (this.type == "filter" || this.type == "filterlike" || this.type == "caseifilter" || this.type == "caseifilterlike") { + this._clearFilteredDataset(); + } + + this._showPopup(ds, idx); + } + }; + + _pCombo._on_value_change = function (preindex, pretext, prevalue, postindex, posttext, postvalue) { + if (!this.on_fire_canitemchange(this, preindex, pretext, prevalue, postindex, posttext, postvalue)) { + return false; + } + + var ds = this._selectDataset(); + var before_index = ds ? this._getIndexFromValue(ds, postvalue) : this.index; + + var bind_applied = this.applyto_bindSource("value", postvalue); + if (bind_applied) { + var after_index = ds ? this._getIndexFromValue(ds, postvalue) : this.index; + if (before_index == after_index) { + this.value = postvalue; + this.text = posttext; + this.index = postindex; + } + } + else { + if (prevalue == postvalue) { + if (preindex != postindex) { + this.value = postvalue; + this.text = posttext; + this.index = postindex; + } + } + else { + return false; + } + } + + if (nexacro._enableaccessibility) { + this._updateAccessibilityLabel(); + } + + this.on_fire_onitemchanged(this, preindex, pretext, prevalue, postindex, posttext, postvalue); + + return true; + }; + + _pCombo._on_dataset_onvaluechanged = function (obj, e) { + if (this.type == "filter" || this.type == "filterlike" || this.type == "caseifilter" || this.type == "caseifilterlike") { + this._createFilteredDataset(); + } + + this._recheckValue(); + this.redraw(); + + if (this._is_created) { + this.on_fire_oninnerdatachanged(obj, e.oldvalue, e.newvalue, e.columnid, e.col, e.row); + } + }; + + _pCombo._on_dataset_onrowsetchanged = function (obj, e) { + if (e.reason == nexacro.NormalDataset.REASON_FILTER) { + if (this.type == "filter" || this.type == "filterlike" || this.type == "caseifilter" || this.type == "caseifilterlike") { + this._createFilteredDataset(); + } + + this._recheckValue(); + this.redraw(); + + return; + } + else if (e.reason == nexacro.NormalDataset.REASON_ASSIGN) { + this.set_index(-1); + this._recheckIndex(); + this.redraw(); + } + else if (e.reason == nexacro.NormalDataset.REASON_COPY || + e.reason == nexacro.NormalDataset.REASON_ENABLEEVENT) { + if (this.index > -1) { + this._recheckIndex(); + } + else if (this.value !== undefined) { + this._recheckValue(); + } + else if (this.text !== "") { + this._recheckText(); + } + + this.redraw(); + + this._default_value = this.value; + this._default_text = this.text; + this._default_index = this.index; + } + }; + + _pCombo._on_edit_onlbuttondown = function (obj, e) { + if (this.readonly || (nexacro._isTouchInteraction && nexacro._SupportTouch)) { + return; + } + + var ds = this._selectDataset(true); + var idx = this.index; + + if (this._isPopupVisible()) { + this._closePopup(); + this._setEditValue(this._getItemText(this.index)); + } + else { + if (this.type == "dropdown") { + this._showPopup(ds, idx); + } + } + }; + + _pCombo._on_edit_onkeydown = function (obj, e) { + var combolist = this.combolist; + + if (this.readonly) { + return false; + } + + var ds = this._selectDataset(); + var datacol = this.datacolumn; + var codecol = this.codecolumn; + + if (!ds || (!datacol && !codecol)) { + return; + } + + var keycode = e.keycode; + + var pre_value = this._default_value; + var pre_text = this._default_text; + var pre_index = this._default_index; + + var cur_value = this.value; + var cur_text = this.text; + var cur_index = this.index; + + var nextidx; + var rawidx; + var curobj = null; + var text = ""; + var rowcnt = ds.getRowCount(); + + var enableaccessibility = nexacro._enableaccessibility; + + if (this._isPopupVisible()) { + curobj = combolist._get_rowobj_status("mouseover", "status") || combolist._get_rowobj_status("selected", "userstatus"); + if (curobj) { + cur_index = curobj.index; + } + } + + if (keycode == nexacro.Event.KEY_ESC) { + if (this._isPopupVisible()) { + text = this._getItemText(this.index); + + this._closePopup(); + this._setEditValue(text); + } + } + else if (keycode == nexacro.Event.KEY_UP) { + nextidx = cur_index - 1; + if (this._isPopupVisible()) { + if (!e.altkey) { + if (nextidx < 0) { + nextidx = 0; + } + + text = ds.getColumn(nextidx, datacol || codecol); + + this._setEditValue(text); + combolist._refreshScroll(nextidx, 1); + combolist._change_status_item_from_key(cur_index, nextidx); + } + } + else { + if (!enableaccessibility || e.ctrlkey) { + if (nextidx < 0) { + nextidx = 0; + } + + if (this.type == "filter" || this.type == "filterlike" || this.type == "caseifilter" || this.type == "caseifilterlike") { + rawidx = this._getRawIndex(ds, nextidx); + rawidx = (rawidx == -1) ? nextidx : rawidx; + this._clearFilteredDataset(); + + nextidx = rawidx; + } + + if (this.index != nextidx) { + cur_value = this._getItemValue(nextidx); + cur_text = this._getItemText(nextidx); + cur_index = nextidx; + + if (!this._on_value_change(pre_index, pre_text, pre_value, cur_index, cur_text, cur_value)) { + cur_value = pre_value; + cur_text = pre_text; + cur_index = pre_index; + } + + this.redraw(); + } + } + } + } + else if (keycode == nexacro.Event.KEY_DOWN) { + nextidx = cur_index + 1; + + if (this._isPopupVisible()) { + if (!e.altkey) { + if (nextidx < rowcnt) { + text = ds.getColumn(nextidx, datacol || codecol); + text = text == undefined ? "" : text; + + this._setEditValue(text); + combolist._refreshScroll(nextidx, 0); + combolist._change_status_item_from_key(cur_index, nextidx); + } + } + } + else { + if (e.altkey) { + this._showPopup(ds, cur_index); + } + else { + if (!enableaccessibility || e.ctrlkey) { + if (nextidx >= rowcnt) { + nextidx = rowcnt - 1; + } + + if (this.type == "filter" || this.type == "filterlike" || this.type == "caseifilter" || this.type == "caseifilterlike") { + rawidx = this._getRawIndex(ds, nextidx); + rawidx = (rawidx == -1) ? nextidx : rawidx; + this._clearFilteredDataset(); + + nextidx = rawidx; + } + + if (this.index != nextidx) { + cur_value = this._getItemValue(nextidx); + cur_text = this._getItemText(nextidx); + cur_index = nextidx; + + if (!this._on_value_change(pre_index, pre_text, pre_value, cur_index, cur_text, cur_value)) { + cur_value = pre_value; + cur_text = pre_text; + cur_index = pre_index; + } + + this.redraw(); + } + } + } + } + } + else if (keycode == nexacro.Event.KEY_ENTER) { + if (cur_index >= 0) { + if (this.type == "filter" || this.type == "filterlike" || this.type == "caseifilter" || this.type == "caseifilterlike") { + rawidx = this._getRawIndex(ds, cur_index); + rawidx = (rawidx == -1) ? cur_index : rawidx; + ds.set_filterstr(""); + } + else { + rawidx = cur_index; + } + } + else { + rawidx = cur_index; + } + + if (this.index != rawidx) { + this._isSelect = true; + + cur_value = this._getItemValue(rawidx); + cur_text = this._getItemText(rawidx); + cur_index = rawidx; + + if (!this._on_value_change(pre_index, pre_text, pre_value, cur_index, cur_text, cur_value)) { + this._setEditValue(this.text); + this._isSelect = false; + cur_value = pre_value; + cur_text = pre_text; + cur_index = pre_index; + } + } + + this.redraw(); + + if (this._isPopupVisible()) { + this._closePopup(); + + if (this.autoskip) { + this._setFocusToNextComponent(); + } + } + } + else { + cur_index = this.index; + } + + this._default_value = cur_value; + this._default_text = cur_text; + this._default_index = cur_index; + }; + + _pCombo._on_edit_oninput = function (obj, e) { + if (this.readonly || !this._isEnable()) { + return false; + } + + this._isFiredOnInput = true; + this.on_fire_oninput(); + + var comboedit = this.comboedit; + var ds = this._selectDataset(); + if (ds && comboedit._processing_keyfilter) { + var col = this.datacolumn || this.codecolumn; + var edit_val = comboedit.text; + + var type = this.type; + if (type != "dropdown") { + if (!this.combolist) { + this._createPopupListBoxControl(ds); + } + } + + switch (type) { + case "search": + case "caseisearch": + var index; + if (this.type == "caseisearch") { + edit_val = new nexacro.ExprParser()._transferWhitespace(edit_val); + index = ds.findRowExpr(col + ".match(/^" + edit_val + "/i)"); + } + else { + index = ds.findRowAs(col, edit_val); + } + + if (index >= 0) { + this._showPopup(ds, index); + } + else { + if (this._isPopupVisible()) { + this._closePopup(); + } + } + break; + case "filter": + case "filterlike": + case "caseifilter": + case "caseifilterlike": + var regExp; + var parse_val = ""; + var trans_val = ""; + var edit_val_len = edit_val.length; + + for (var i = 0; i < edit_val_len; i++) { + regExp = /[\{\}\[\]\/?.,;:|\)*~`!^\-_+<>@\#$%&\\\=\(\'\"]/gi; + var c = edit_val.charAt(i); + + if (regExp.test(c)) { + parse_val += "\\"; + } + parse_val += c; + } + + trans_val = new nexacro.ExprParser()._transferWhitespace(parse_val); + + if (this.type == "filter") { + ds.set_filterstr(col + ".match(/^(" + trans_val + ")/)"); + } + else if (this.type == "filterlike") { + ds.set_filterstr(col + ".indexOf('" + parse_val + "') > -1"); + } + else if (this.type == "caseifilter") { + ds.set_filterstr(col + ".match(/^(" + trans_val + ")/i)"); + } + else { + ds.set_filterstr(col + ".match(/(" + trans_val + ")/i)"); + } + + if (edit_val && ds.getRowCount() > 0) { + this._showPopup(ds, 0); + + var win = this._getWindow(); + if (win) { + if (nexacro._Browser == "Runtime" && (nexacro._SystemType.toLowerCase() == "win32" || nexacro._SystemType.toLowerCase() == "win64")) { + nexacro._flushCommand(win); + } + } + } + else { + if (this._isPopupVisible()) { + this._closePopup(); + } + } + break; + default: + break; + } + } + }; + + _pCombo._on_edit_oneditclick = function (obj, e) { + this.on_fire_oneditclick(obj, e.caretpos, e.button, e.altkey, e.ctrlkey, e.shiftkey, e.screenx, e.screeny, e.canvasx, e.canvasy, e.clientx, e.clienty, obj, obj); + }; + + _pCombo._on_edit_mobile_oneditclick = function (obj, e) { + this.on_fire_oneditclick(obj, e.caretpos, e.button, e.altkey, e.ctrlkey, e.shiftkey, e.screenx, e.screeny, e.canvasx, e.canvasy, e.clientx, e.clienty, obj, obj); + }; + + _pCombo._on_drop_onlbuttondown = function (obj, e) { + this._on_dropdown(); + }; + + _pCombo._on_drop_mobile_onclick = function (obj, e) { + this._on_dropdown(); + }; + + _pCombo._on_drop_onclick = function (obj, e) { + }; + + _pCombo._on_list_onitemclick = function (obj, e) { + if (!this.combolist || !this.comboedit) { + return false; + } + + var pre_value = this.value; + var pre_text = this.text; + var pre_index = this.index; + + var cur_index = e.index; + var cur_text = e.itemtext; + var cur_value = e.itemvalue; + + this.on_fire_onitemclick(obj, cur_index, cur_text, cur_value, e.button, e.altkey, e.ctrlkey, e.shiftkey, e.screenx, e.screeny, e.canvasx, e.canvasy, e.clientx, e.clienty); + + if (this.type == "filter" || this.type == "filterlike" || this.type == "caseifilter" || this.type == "caseifilterlike") { + var ds = this._selectDataset(); + cur_index = this._getRawIndex(ds, e.index); + if (cur_index != this.index) { + cur_text = this._getItemText(cur_index); + cur_value = this._getItemValue(cur_index); + } + } + + if (cur_index != this.index) { + if (!this._on_value_change(pre_index, pre_text, pre_value, cur_index, cur_text, cur_value)) { + this.value = cur_value = pre_value; + this.text = cur_text = pre_text; + this.index = cur_index = pre_index; + } + + this.redraw(); + + if (this._isPopupVisible()) { + this._closePopup(); + + if (this.autoskip) { + this._setFocusToNextComponent(); + } + } + + this._default_value = cur_value; + this._default_text = cur_text; + this._default_index = cur_index; + } + else { + this.redraw(); + + if (this._isPopupVisible()) { + this._closePopup(); + } + } + }; + + _pCombo._on_list_oncloseup = function (obj, e) { + var _window = this._getWindow(); + if (_window && this._track_capture) { + _window._releaseCaptureLock(this); + } + + if (!this._isFiredOnInput) { + if (this.displaynulltext != "" && nexacro._isNull(this.value)) { + this._setEditValue(undefined); + } + else { + this._setEditValue(this.text); + } + } + + this._isFiredOnInput = false; + this._changeStatus("mouseover", false); + this.comboedit._changeStatus("mouseover", false); + this.dropbutton._changeStatus("mouseover", false); + + this.on_fire_oncloseup(this, this._default_index, this._default_text, this._default_value, this.index, this.text, this.value, this._isSelect); + }; + + _pCombo.on_focus_basic_action = function (self_flag, evt_name, lose_focus, refer_lose_focus, new_focus, refer_new_focus) { + this._changeStatus("focused", true); + + if (nexacro._enableaccessibility) { + this._setAccessibilityStatFocus(evt_name); + } + + this._apply_setfocus(evt_name); + }; + + _pCombo.on_killfocus_basic_action = function (new_focus, new_refer_focus) { + var comboedit = this.comboedit; + if (comboedit) { + comboedit._changeStatus("focused", false); + if (nexacro._enableaccessibility) { + if (nexacro._Browser == "Runtime") { + comboedit._is_subfocused = false; + } + } + + if (this.text != this.comboedit.text) { + comboedit.setCaretPos(0); + } + } + + this.redraw(); + + if (this._isPopupVisible()) { + this._closePopup(); + } + }; + + _pCombo.on_fire_sys_onmousewheel = function (wheelDeltaX, wheelDeltaY, button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientX, clientY, comp, refer_comp) { + if (this.readonly) { + return false; + } + + var ds = this._selectDataset(); + if (!ds) { + return false; + } + + var last_focus = this._find_lastFocused(); + if ((!this._is_subcontrol && this != last_focus) || (this._is_subcontrol && this._getRootComponent(this) != last_focus)) { + return false; + } + + var popupcontrol = this._popupcontrol; + if (!popupcontrol || !popupcontrol._is_popup()) { + var curidx = this.index; + var nextidx = 0; + + if (wheelDeltaY > 0) { + if (curidx > 0) { + nextidx = curidx - 1; + } + } + else { + nextidx = curidx + 1; + } + + if (this.index != nextidx && nextidx < ds.getRowCount()) { + var pre_index = this.index; + var pre_text = this.text; + var pre_value = this.value; + + var cur_index = nextidx; + var cur_text = this._getItemText(nextidx); + var cur_value = this._getItemValue(nextidx); + + var ret = this.on_fire_canitemchange(this, pre_index, pre_text, pre_value, cur_index, cur_text, cur_value); + if (ret) { + this.set_index(nextidx); + + this.on_fire_onitemchanged(this, pre_index, pre_text, pre_value, cur_index, cur_text, cur_value); + } + } + } + + return true; + }; + + _pCombo.on_fire_sys_onaccessibilitygesture = function (direction, fire_comp, refer_comp) { + var ret = false; + if (this._isPopupVisible()) { + var combolist = this.combolist; + var item = null; + var item_len = combolist._getContentsCount(); + if (item_len) { + if (direction) { + combolist._overeditemindex++; + } + else { + combolist._overeditemindex--; + } + + if (combolist._overeditemindex < 0 || combolist._overeditemindex > item_len - 1) { + if (this._isPopupVisible()) { + this._closePopup(); + } + combolist._overeditemindex = -1; + } + else { + item = combolist._getItem(combolist._overeditemindex); + } + } + + if (item) { + ret = true; + item._setAccessibilityNotifyEvent(); + } + } + return ret; + }; + + _pCombo.on_fire_sys_onslide = function (elem, touch_manager, touchinfos, xaccvalue, yaccvalue, xdeltavalue, ydeltavalue, from_comp, from_refer_comp) { + nexacro.Component.prototype.on_fire_sys_onslide.call(this, elem, touch_manager, touchinfos, xaccvalue, yaccvalue, xdeltavalue, ydeltavalue, from_comp, from_refer_comp); + + return (this._popupcontrol && this._popupcontrol._is_popup()) ? true : false; + }; + + _pCombo.on_fire_sys_onfling = function (elem, fling_handler, xstartvalue, ystartvalue, xdeltavalue, ydeltavalue, touchlen, from_comp, from_refer_comp) { + nexacro.Component.prototype.on_fire_sys_onfling.call(this, elem, fling_handler, xstartvalue, ystartvalue, xdeltavalue, ydeltavalue, touchlen, from_comp, from_refer_comp); + + return (this._popupcontrol && this._popupcontrol._is_popup()) ? true : false; + }; + + _pCombo.on_fire_oneditclick = function (obj, caretpos, button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientX, clientY, from_comp, from_refer_comp) { + if (this.oneditclick && this.oneditclick._has_handlers) { + var evt = new nexacro.EditClickEventInfo(obj, "oneditclick", caretpos, button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientX, clientY, this, from_refer_comp); + return this.oneditclick._fireEvent(this, evt); + } + + return true; + }; + + _pCombo.on_fire_onitemclick = function (obj, index, itemtext, itemvalue, button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientX, clientY) { + if (this.onitemclick && this.onitemclick._has_handlers) { + var evt = new nexacro.ItemClickEventInfo(obj, "onitemclick", index, itemtext, itemvalue, button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientX, clientY); + this.onitemclick._fireEvent(this, evt); + } + + return false; + }; + + _pCombo.on_fire_canitemchange = function (obj, preindex, pretext, prevalue, postindex, posttext, postvalue) { + if (this.canitemchange && this.canitemchange._has_handlers) { + var evt = new nexacro.ItemChangeEventInfo(this, "canitemchange", preindex, pretext, prevalue, postindex, posttext, postvalue); + var ret = this.canitemchange._fireCheckEvent(this, evt); + return nexacro._toBoolean(ret); + } + + return true; + }; + + _pCombo.on_fire_onitemchanged = function (obj, preindex, pretext, prevalue, postindex, posttext, postvalue) { + if (this.onitemchanged && this.onitemchanged._has_handlers) { + var evt = new nexacro.ItemChangeEventInfo(this, "onitemchanged", preindex, pretext, prevalue, postindex, posttext, postvalue); + this.onitemchanged._fireEvent(this, evt); + } + }; + + _pCombo.on_fire_oncloseup = function (obj, preindex, pretext, prevalue, postindex, posttext, postvalue, isSelect) { + var ret; + if (this.oncloseup && this.oncloseup._has_handlers) { + var evt = new nexacro.ComboCloseUpEventInfo(this, "oncloseup", preindex, pretext, prevalue, postindex, posttext, postvalue, isSelect); + ret = this.oncloseup._fireEvent(this, evt); + ret = nexacro._toBoolean(ret); + } + + return ret; + }; + + _pCombo.on_fire_ondropdown = function (obj) { + if (this.ondropdown && this.ondropdown._has_handlers) { + var evt = new nexacro.EventInfo(this, "ondropdown"); + return this.ondropdown._fireCheckEvent(this, evt); + } + + return true; + }; + + _pCombo.on_fire_oninput = function () { + if (this.oninput && this.oninput._has_handlers) { + var evt = new nexacro.InputEventInfo(this, "oninput"); + return this.oninput._fireEvent(this, evt); + } + + return true; + }; + + _pCombo.on_fire_oninnerdatachanged = function (obj, oldvalue, newvalue, columnid, col, row) { + if (this.oninnerdatachanged && this.oninnerdatachanged._has_handlers) { + var evt = new nexacro.InnerdataChangedEventInfo(obj, "oninnerdatachanged", oldvalue, newvalue, columnid, col, row); + return this.oninnerdatachanged._fireEvent(this, evt); + } + + return true; + }; + + _pCombo.on_fire_sys_onrbuttonup = function (button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientX, clientY, from_comp, from_refer_comp, from_elem) { + if (this.isDropdown()) { + var sel_info_list = this.combolist._selectinfo_list; + + if (this._scroll_proc) { + if (sel_info_list.length) { + var last = sel_info_list.length - 1; + var info = sel_info_list[last]; + + if (info.index != this.index) { + info.obj._stat_change("notselect", "normal"); + sel_info_list.splice(last, 1); + } + } + return; + } + + while (sel_info_list.length) { + var down_item = sel_info_list[0].obj; + if (down_item) { + if (!down_item.selected) { + down_item._stat_change("notselect", "normal"); + } + } + sel_info_list.shift(); + } + } + return; + }; + + + _pCombo._createListBoxControl = function (ds) { + if (!this._isUsableDataset(ds)) { + return; + } + + var datacol = this.datacolumn; + var codecol = this.codecolumn; + var combolist = this.combolist; + + if (!combolist) { + combolist = this.combolist = new nexacro._ComboListControl("combolist", 0, 0, 0, 0, null, null, null, null, null, null, this); + + combolist.set_scrolltype("vertical"); + var vscrollbartype = this._getVScrollBarType() || "auto"; + + combolist.set_scrollbartype("none " + vscrollbartype); + combolist.setInnerDataset(ds); + combolist.set_codecolumn(codecol); + combolist.set_datacolumn(datacol); + combolist.set_index(this.index); + combolist.set_itemheight(this.itemheight); + combolist.set_cssclass(this.cssclass); + combolist.set_scrollbarbarminsize(this.scrollbarbarminsize); + combolist.set_scrollbardecbuttonsize(this.scrollbardecbuttonsize); + combolist.set_scrollbarbaroutsize(this.scrollbarbaroutsize); + combolist.set_scrollbarincbuttonsize(this.scrollbarincbuttonsize); + combolist.set_scrollbarsize(this.scrollbarsize); + combolist.set_scrollbartrackbarsize(this.scrollbartrackbarsize); + + combolist._setPopupContains(true); + combolist.createComponent(true); + } + else { + if (combolist._is_created) { + if (combolist._innerdataset != ds) { + combolist.setInnerDataset(ds); + } + + combolist._redrawListBoxContents(!this._keep_scrolling); + combolist._onRecalcScrollSize(); + } + } + }; + + _pCombo._createdListBoxControl = function (ds) { + var combolist = this.combolist; + if (combolist && !combolist._is_created) { + combolist._setEventHandler("oncloseup", this._on_list_oncloseup, this); + combolist._setEventHandler("onitemclick", this._on_list_onitemclick, this); + + combolist.on_created(); + } + }; + + _pCombo._createPopupControl = function () { + var popupcontrol = this._popupcontrol; + if (!popupcontrol) { + popupcontrol = this._popupcontrol = new nexacro._ComboPopupControl("combopopup", 0, 0, 0, 0, null, null, null, null, null, null, this); + popupcontrol._setType(this.popuptype); + + popupcontrol.createComponent(true); + } + }; + + _pCombo._createdPopupControl = function (attach_comp) { + var popupcontrol = this._popupcontrol; + if (popupcontrol && !popupcontrol._is_created) { + popupcontrol._attach(attach_comp); + popupcontrol.on_created(); + } + }; + + _pCombo._createPopupListBoxControl = function (ds) { + if (!this._isUsableDataset(ds)) { + return; + } + + this._createPopupControl(); + this._createListBoxControl(ds); + + this._createdPopupControl(this.combolist); + this._createdListBoxControl(); + }; + + _pCombo._createFilteredDataset = function () { + var ids = this._innerdataset; + var fds = this._filtereddataset; + var codecol = this.codecolumn; + var datacol = this.datacolumn; + var combolist = this.combolist; + + if (ids && (!(codecol in ids.colinfos) || !(datacol in ids.colinfos))) { + return; + } + + if (!this._isUsableDataset(ids)) { + return; + } + + if (!fds) { + fds = this._filtereddataset = new nexacro.Dataset("filter_" + this.id); + } + + fds.set_enableevent(false); + + fds.clear(); + fds.addColumn(codecol, "string"); + fds.addColumn(datacol, "string"); + + for (var i = 0, cnt = ids.getRowCount(); i < cnt; i++) { + fds.insertRow(i); + fds.setColumn(i, codecol, ids.getColumn(i, codecol)); + fds.setColumn(i, datacol, ids.getColumn(i, datacol)); + } + + fds.set_enableevent(true); + + if (combolist) { + combolist._redrawListBoxContents(false); + combolist._onRecalcScrollSize(); + } + }; + + _pCombo._recalcLayout = function () { + if (this._is_created_contents) { + var comboedit = this.comboedit; + var dropbutton = this.dropbutton; + + var client_left = this._getClientLeft(); + var client_top = this._getClientTop(); + var client_width = this._getClientWidth(); + var client_height = this._getClientHeight(); + + var buttonsize = this.buttonsize; + var buttonsize_w, buttonsize_h; + + if (buttonsize == undefined) { + buttonsize_w = client_height; + buttonsize_h = client_height; + } + else { + if (typeof (buttonsize) == "number") { + buttonsize_w = buttonsize_h = buttonsize; + } + else { + buttonsize = buttonsize.split(" "); + buttonsize_w = +buttonsize[0]; + buttonsize_h = (buttonsize[1]) ? +buttonsize[1] : client_height; + } + } + + if (buttonsize_w > client_width) { + buttonsize_w = client_width; + } + if (buttonsize_h > client_height) { + buttonsize_h = client_height; + } + + if (dropbutton) { + var btn_left = client_width - buttonsize_w; + var btn_top = client_top; + + if (buttonsize_h < client_height) { + btn_top = (client_height - buttonsize_h) / 2; + } + + dropbutton.move(btn_left, btn_top, buttonsize_w, buttonsize_h, null, null); + } + + if (comboedit) { + var edit_width = client_width - buttonsize_w; + + comboedit.move(client_left, client_top, edit_width, client_height, null, null); + } + } + }; + + _pCombo._recheckIndex = function () { + var idx = this.index; + var txt = ""; + var val; + + var ds = this._innerdataset; + if (ds) { + var rowcount = ds.getRowCount(); + if (idx > -1 && rowcount > 0 && idx < rowcount) { + val = this._getItemValue(idx); + txt = this._getItemText(idx); + } + else { + idx = -1; + } + } + else { + idx = -1; + } + + this._setValue(val); + this._setText(txt); + this._setIndex(idx); + }; + + _pCombo._recheckValue = function () { + var idx = -1; + var txt = ""; + var val = this.value; + + var ds = this._innerdataset; + if (ds) { + var rowcount = ds.getRowCount(); + if (rowcount > 0) { + for (var i = 0; i < rowcount; i++) { + if (val == this._getItemValue(i)) { + idx = i; + txt = this._getItemText(i); + break; + } + } + } + } + else { + val = undefined; + } + + this._setValue(val); + this._setText(txt); + this._setIndex(idx); + }; + + _pCombo._recheckText = function () { + var idx = -1; + var txt = this.text; + var val; + + var ds = this._innerdataset; + if (ds) { + var rowcount = ds.getRowCount(); + if (rowcount > 0) { + for (var i = 0; i < rowcount; i++) { + if (txt == this._getItemText(i)) { + idx = i; + val = this._getItemValue(i); + break; + } + } + } + else { + txt = ""; + } + } + else { + txt = ""; + } + + this._setValue(val); + this._setText(txt); + this._setIndex(idx); + }; + + _pCombo._selectDataset = function (bInit) { + if (this.type == "filter" || this.type == "filterlike" || this.type == "caseifilter" || this.type == "caseifilterlike") { + if (!this._filtereddataset) { + this._createFilteredDataset(); + } + else { + if (bInit) { + this._clearFilteredDataset(); + } + } + + return this._filtereddataset; + } + else { + return this._innerdataset; + } + }; + + _pCombo._showPopup = function (ds, index) { + if (this._isPopupVisible()) { + this._closePopup(); + } + + var rowcnt = this._innerdataset.rowcount; + var ret = this.on_fire_ondropdown(this); + if (ret) { + var popuptype = this._getPopupType(); + if ((this.ondropdown && this.dropdown.preventable && this.ondropdown.defaultprevented) || !this._isUsableDataset(ds) || popuptype == "none") { + return; + } + + if (rowcnt != this._innerdataset.rowcount) { + index = this.index; + } + + this._createPopupListBoxControl(ds); + + var popupcontrol = this._popupcontrol; + if (popupcontrol) { + popupcontrol._popupAuto(); + } + + var combolist = this.combolist; + if (combolist) { + combolist.set_index(index); + combolist._refreshScroll(index, 1); + + var win = this._getWindow(); + if (win) { + win._setCaptureLock(this, true, false); + } + + if (nexacro._enableaccessibility) { + this._setAccessibilityStatExpanded(true); + + if (nexacro._accessibilitytype == 4) { + combolist.setFocus(false); + } + else if (nexacro._accessibilitytype == 5) { + this._want_arrows = true; + combolist._setAccessibilityNotifyEvent(); + } + + if (nexacro._Browser == "Runtime") { + var comboedit = this.comboedit; + if (comboedit) { + comboedit._setAccessibilityLabel(this.text); + comboedit._setAccessibilityDescription(""); + comboedit._setAccessibilityAction(""); + comboedit.setFocus(true); + } + } + } + } + } + }; + + _pCombo._applyZoomPopup = function () { + if (this._popupcontrol && this._popupcontrol._is_popup()) { + if (this.enable === false || this.readonly === true || this.visible === false) { + return; + } + + var ds = this._selectDataset(); + if (ds) { + if (ds.getRowCount() <= 0) { + ds = this._innerdataset; + } + + this._showPopup(ds, this.index); + } + } + }; + + _pCombo._closePopup = function () { + var _window = this._getWindow(); + if (_window) { + _window._releaseCaptureLock(this); + } + + var popupcontrol = this._popupcontrol; + if (popupcontrol) { + popupcontrol._closePopup(); + nexacro._refreshWindow(_window.handle); + } + + if (nexacro._enableaccessibility) { + this._want_arrows = false; + this._setAccessibilityStatExpanded(false); + + var combolist = this.combolist; + if (combolist) { + combolist._overeditemindex = -1; + } + + if (nexacro._Browser == "Runtime") { + var comboedit = this.comboedit; + if (comboedit) { + comboedit.on_apply_accessibility(); + } + } + } + }; + + _pCombo._setContents = function (str) { + var doc = nexacro._parseXMLDocument(str); + var node = doc.getElementsByTagName("Dataset")[0]; + + if (!node) { + return false; + } + + var idstr = node.attributes[0].value; + + var normalDataset = new nexacro.NormalDataset(idstr, this); + + if (node.firstChild) { + var childnode = node.firstChild; + + var strXML = ""; + while (childnode) { + if (node.nodeType == 1) { + strXML += nexacro._documentToXml(childnode); + } + childnode = childnode.nextSibling; + } + normalDataset._setContents(strXML); + } + + this.set_innerdataset(normalDataset); + + return true; + }; + + _pCombo._convertValueType = function (v, bapplyrule) { + var ret; + if (bapplyrule) { + ret = nexacro.Component.prototype._convertValueType.call(this, v); + } + else { + ret = nexacro._isNull(v) ? v : nexacro._toString(v); + } + + return ret; + }; + + _pCombo._setValue = function (v) { + this.value = v; + }; + + _pCombo._setEditValue = function (v) { + var comboedit = this.comboedit; + if (comboedit) { + var text = comboedit.text; + if (text != v) { + comboedit._setValue(v); + if (nexacro._enableaccessibility) { + comboedit._updateAccessibilityLabel(); + if (v) { + if (nexacro._Browser == "Runtime" && comboedit._status == "focused") { + comboedit._setAccessibilityLabel(v); + comboedit._notifyAccessibility(v, "notify"); + } + } + } + } + } + }; + + _pCombo._setIndex = function (v) { + this.index = v; + }; + + _pCombo._setText = function (v) { + this.text = v; + }; + + _pCombo._setEventHandlerToComboEdit = function () { + var comboedit = this.comboedit; + if (comboedit) { + var bMobile = (nexacro._isTouchInteraction && nexacro._SupportTouch); + if (bMobile) { + comboedit._setEventHandler("oneditclick", this._on_edit_mobile_oneditclick, this); + } + else { + comboedit._setEventHandler("onlbuttondown", this._on_edit_onlbuttondown, this); + comboedit._setEventHandler("oneditclick", this._on_edit_oneditclick, this); + } + + comboedit._setEventHandler("onkeydown", this._on_edit_onkeydown, this); + comboedit._setEventHandler("oninput", this._on_edit_oninput, this); + } + }; + + _pCombo._setEventHandlerToDropButton = function () { + var dropbutton = this.dropbutton; + if (dropbutton) { + if (nexacro._isTouchInteraction && nexacro._SupportTouch) { + dropbutton._setEventHandler("onclick", this._on_drop_mobile_onclick, this); + } + else { + dropbutton._setEventHandler("onclick", this._on_drop_onclick, this); + dropbutton._setEventHandler("onlbuttondown", this._on_drop_onlbuttondown, this); + } + } + }; + + _pCombo._setEventHandlerToListBox = function () { + var combolist = this.combolist; + if (combolist) { + combolist._setEventHandler("onitemclick", this._on_list_onitemclick, this); + combolist._setEventHandler("canitemchange", this.on_notify_list_canitemchange, this); + combolist._setEventHandler("onitemchanged", this.on_notify_list_onitemchanged, this); + } + }; + + _pCombo._setInnerDatasetStr = function (str) { + this._removeEventHandlerToInnerDataset(); + + if (str) { + str = str.replace("@", ""); + this._innerdataset = this._findDataset(str); + this.innerdataset = str; + } + else { + this._innerdataset = null; + this.innerdataset = ""; + } + }; + + _pCombo._setDefaultCaret = function () { + var edit = this.comboedit; + if (edit) { + if (this.type == "dropdown") { + edit.setCaretPos(0); + } + } + }; + + _pCombo._setFocusToNextComponent = function () { + var root_comp = this._getRootComponent(this); + var next_comp = this._getForm().getNextComponent(root_comp, true); + if (next_comp) { + next_comp.setFocus(); + if (next_comp._is_editable_control) { + next_comp._setDefaultCaret(); + } + } + }; + + _pCombo._getItemValue = function (index) { + var ds = this._innerdataset; + var column = this.codecolumn || this.datacolumn; + + if (ds && column) { + var rtn = ds.getColumn(index, column); + if (rtn == undefined && (this.type == "filter" || this.type == "filterlike" || this.type == "caseifilter" || this.type == "caseifilterlike") && this._filtereddataset) { + rtn = this._filtereddataset.getColumn(index, column); + } + + return this._convertValueType(rtn, true); + } + + return null; + }; + + _pCombo._getItemText = function (index) { + var ds = this._innerdataset; + var column = this.datacolumn || this.codecolumn; + + if (ds && column) { + var rtn = ds.getColumn(index, column); + if (rtn == undefined && (this.type == "filter" || this.type == "filterlike" || this.type == "caseifilter" || this.type == "caseifilterlike") && this._filtereddataset) { + rtn = this._filtereddataset.getColumn(index, column); + } + + return nexacro._toString(rtn); + } + + return null; + }; + + _pCombo._getIndexFromValue = function (ds, value) { + if (value instanceof nexacro.Decimal) { + value = value.toString(); + } + + var row_count = ds.getRowCount(); + for (var i = 0; i < row_count; i++) { + var v = this._getItemValue(i); + if (v instanceof nexacro.Decimal) { + v = v.toString(); + } + + if (value == v) { + var newval = value; + var preval = v; + + if (newval === 0) { + newval = newval + ""; + } + if (preval === 0) { + preval = preval + ""; + } + + if (newval == preval) { + return i; + } + } + } + + return -1; + }; + + _pCombo._getIndexFromText = function (ds, text) { + var row_count = ds.getRowCount(); + for (var i = 0; i < row_count; i++) { + if (this._getItemText(i) == this.text) { + return i; + } + } + + return -1; + }; + + _pCombo._getRawToListindex = function (idx) { + if (this.type == "filter" || this.type == "filterlike" || this.type == "caseifilter" || this.type == "caseifilterlike") { + var fds = this._getFilteredDataset(); + var fdsArr = fds._viewRecords; + var row_count = fdsArr.length; + + for (var i = 0; i < row_count; i++) { + if (fdsArr[i]._rawidx == idx) { + return i; + } + } + } + return idx; + }; + + _pCombo._getRawIndex = function (fds, idx) { + var ids = this._innerdataset; + + if (idx == -1 || (fds._viewRecords.length <= idx)) { + return -1; + } + + var rawidx = fds._viewRecords[idx]._rawidx; + var idsArr = ids._rawRecords; + var row_count = idsArr.length; + + for (var i = 0; i < row_count; i++) { + if (idsArr[i]._rawidx == rawidx) { + return rawidx; + } + } + + return -1; + }; + + _pCombo._getPopupType = function () { + return this.popuptype ? this.popuptype : "normal"; + }; + + _pCombo._isUsableDataset = function (ds) { + if (!ds) { + return false; + } + else { + if (ds.getRowCount <= 0) { + return false; + } + if (!this.datacolumn && !this.codecolumn) { + return false; + } + } + + return true; + }; + + _pCombo._isPopupVisible = function () { + var popupcontrol = this._popupcontrol; + if (popupcontrol) { + return popupcontrol._is_popup(); + } + + return false; + }; + + _pCombo._clearFilteredDataset = function () { + if (this._filtereddataset) { + this._filtereddataset.set_filterstr(""); + } + }; + + _pCombo._setAccessibilityInfoByHover = function (control) { + if (this._isPopupVisible()) { + var combolist = this.combolist; + return combolist._setAccessibilityInfoByHover(control); + } + else { + return this._setAccessibilityNotifyEvent(); + } + }; + + _pCombo._clearAccessibilityInfoByHover = function () { + var combolist = this.combolist; + if (combolist) { + combolist._clearAccessibilityInfoByHover(); + } + }; + + _pCombo._getPopupSizeArr = function () { + var size = this.popupsize; + if (!size) { + return; + } + size = size.split(/\s+/); + var width = +size[0]; + var height = size[1] ? +size[1] : undefined; + return { + width : width, + height : height + }; + }; + + _pCombo._cancelEvent = function () { + this._processing_keyfilter = false; + }; + + delete _pCombo; + + nexacro._ComboEditControl = function (id, left, top, width, height, right, bottom, minwidth, maxwidth, minheight, maxheight, parent, onlydisplay) { + nexacro.Edit.call(this, id, left, top, width, height, right, bottom, minwidth, maxwidth, minheight, maxheight, parent, onlydisplay); + }; + + var _pComboEditControl = nexacro._createPrototype(nexacro.Edit, nexacro._ComboEditControl); + nexacro._ComboEditControl.prototype = _pComboEditControl; + _pComboEditControl._type_name = "EditControl"; + + + + _pComboEditControl._is_subcontrol = true; + _pComboEditControl._is_subfocused = false; + + + + + _pComboEditControl.accessibilityrole = "combobox"; + + + + _pComboEditControl._getFromComponent = function (comp) { + var parent = comp.parent; + if (parent && parent._isPopupVisible()) { + return parent; + } + else { + return nexacro.Component.prototype._getFromComponent.call(this, comp); + } + }; + + _pComboEditControl.on_keydown_basic_action = function (keycode, alt_key, ctrl_key, shift_key) { + if (this.readonly || !this._isEnable()) { + return; + } + + var input_elem = this._input_element; + if (input_elem) { + this._processing_keyfilter = true; + + if (nexacro._enableaccessibility) { + if (nexacro._Browser == "Runtime") { + this._is_subfocused = true; + } + } + + if (keycode == nexacro.KeyCode_ImeInput && this._imedisable) { + input_elem.stopSysEvent(); + return; + } + else if (!alt_key && !shift_key && ctrl_key && keycode == 90) { + if (input_elem.isComposing()) { + input_elem.setCompositionComplete(); + } + + if (this._undostack && this.parent.type != "dropdown") { + this._undostack.undo(); + input_elem.stopSysEvent(); + return; + } + } + else if (!alt_key && !shift_key && ctrl_key && keycode == 89) { + if (this._undostack) { + this._undostack.redo(); + input_elem.stopSysEvent(); + return; + } + } + + if (this._undostack) { + var pos = input_elem.getElementCaretPos(); + if (pos && pos != -1) { + this._undostack.update(pos.begin, pos.end); + } + } + } + }; + + _pComboEditControl.on_keyup_basic_action = function () { + this._processing_keyfilter = true; + }; + + _pComboEditControl.set_value = function (v) { + nexacro.Edit.prototype.set_value.call(this, v); + + this._setAccessibilityValue(this.text, false); + }; + + _pComboEditControl.on_fire_ondblclick = function (button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientX, clientY, from_comp, from_refer_comp) { + return this.parent.on_fire_ondblclick(button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientX, clientY, this.parent, from_refer_comp); + }; + + delete _pComboEditControl; + + nexacro._ComboButtonControl = function (id, left, top, width, height, right, bottom, minwidth, maxwidth, minheight, maxheight, parent) { + nexacro.Button.call(this, id, left, top, width, height, right, bottom, minwidth, maxwidth, minheight, maxheight, parent); + }; + + var _pComboButtonControl = nexacro._createPrototype(nexacro.Button, nexacro._ComboButtonControl); + nexacro._ComboButtonControl.prototype = _pComboButtonControl; + _pComboButtonControl._type_name = "ButtonControl"; + + + _pComboButtonControl._is_subcontrol = true; + _pComboButtonControl._is_focus_accept = false; + + + _pComboButtonControl.on_focus_basic_action = function (self_flag, evt_name, lose_focus, refer_lose_focus, new_focus, refer_new_focus) { + var combo = this.parent; + if (combo) { + var bMobile = (nexacro._isTouchInteraction && nexacro._SupportTouch); + if (bMobile) { + nexacro.Component.prototype.on_focus_basic_action.call(this, self_flag, evt_name, lose_focus, refer_lose_focus, new_focus, refer_new_focus); + } + else { + combo._apply_setfocus(evt_name); + } + } + + if (nexacro._enableaccessibility) { + this._setAccessibilityStatFocus(evt_name); + } + }; + + _pComboButtonControl._on_click = function (elem, button, alt_key, ctrl_key, shift_key, canvasX, canvasY, screenX, screenY) { + if (!this._is_alive) { + return; + } + + if (this.visible && this.parent._isEnable() && this.enableevent) { + var clientXY = this._getClientXY(canvasX, canvasY); + this.on_fire_onclick(button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientXY[0], clientXY[1], this, this); + this.on_click_basic_action(elem, button, alt_key, ctrl_key, shift_key, canvasX, canvasY, screenX, screenY); + } + }; + + delete _pComboButtonControl; + + nexacro._ComboListControl = function (id, left, top, width, height, right, bottom, minwidth, maxwidth, minheight, maxheight, parent) { + nexacro.ListBox.call(this, id, left, top, width, height, right, bottom, minwidth, maxwidth, minheight, maxheight, parent); + + this._overedItem = null; + }; + + var _pComboListControl = nexacro._createPrototype(nexacro.ListBox, nexacro._ComboListControl); + nexacro._ComboListControl.prototype = _pComboListControl; + _pComboListControl._type_name = "ListBoxControl"; + _pComboListControl._is_subcontrol = true; + + + + + _pComboListControl._overeditemindex = -1; + + + + + _pComboListControl._event_list = { + "onitemclick" : 1, + "onitemdblclick" : 1, + "onkeydown" : 1, + "onkeyup" : 1, + "onkillfocus" : 1, + "onsetfocus" : 1, + "ondrag" : 1, + "ondragenter" : 1, + "ondragleave" : 1, + "ondragmove" : 1, + "ondrop" : 1, + "onlbuttondown" : 1, + "onlbuttonup" : 1, + "onrbuttondown" : 1, + "onrbuttonup" : 1, + "onmousedown" : 1, + "onmouseup" : 1, + "onmouseenter" : 1, + "onmouseleave" : 1, + "onmousemove" : 1, + "onmove" : 1, + "onsize" : 1, + "canitemchange" : 1, + "onitemchanged" : 1, + "oncloseup" : 1, + "ontouchstart" : 1, + "ontouchmove" : 1, + "ontouchend" : 1, + "onvscroll" : 1, + "onhscroll" : 1 + }; + + + + + + _pComboListControl.on_notify_item_onlbuttondown = function (obj, e) { + this._do_select(obj.index, false); + }; + + _pComboListControl.on_notify_item_onlbuttonup = function (obj, e) { + var up_item = this._upitem; + if (up_item) { + var rowobj; + + if (nexacro._isTouchInteraction && nexacro._SupportTouch) { + var win = this._getWindow(); + var touch_manager = win ? win._gesture_manager : null; + if (touch_manager && touch_manager._is_ondrag) { + rowobj = this._get_rowobj_status("selected", "userstatus"); + if (rowobj) { + this._do_deselect(rowobj.index); + } + + return; + } + } + + if ((up_item.index >= 0) && this._contains(up_item)) { + obj = up_item; + } + else { + rowobj = this._get_rowobj_status("selected", "userstatus"); + if (rowobj) { + this._do_deselect(rowobj.index); + } + return; + } + + this.on_fire_onitemclick(obj, obj.index, obj.text, obj.value, e.button, e.altkey, e.ctrlkey, e.shiftkey, e.screenx, e.screeny, e.canvasx, e.canvasy, e.clientx, e.clienty); + } + }; + + _pComboListControl.on_notify_item_ontouchstart = function (obj, e) { + this._do_select(obj.index, false); + }; + + _pComboListControl.on_notify_item_ontouchend = function (obj, e) { + var info = (e.changedtouchinputinfos && e.changedtouchinputinfos[0]) ? e.changedtouchinputinfos[0] : null; + if (info) { + e.button = "lbutton"; + e.altkey = false; + e.ctrlkey = false; + e.shiftkey = false; + e.screenx = info.screenx; + e.screeny = info.screeny; + e.canvasx = info.canvasx; + e.canvasy = info.canvasy; + e.clientx = info.clientx; + e.clienty = info.clienty; + } + + this.on_notify_item_onlbuttonup(obj, e); + }; + + _pComboListControl.on_notify_listbox_onkeydown = function (obj, e) { + }; + + _pComboListControl.on_notify_item_onmouseenter = function (obj, e) { + }; + + _pComboListControl.on_notify_item_onmouseleave = function (obj, e) { + }; + + _pComboListControl.on_notify_item_onmousemove = function (obj, e) { + if (this._overeditemindex > -1) { + var rowobj = this._getItem(this._overeditemindex); + if (rowobj) { + rowobj._changeStatus("mouseover", false); + } + } + }; + + _pComboListControl.on_focus_basic_action = function (self_flag, evt_name, lose_focus, refer_lose_focus, new_focus, refer_new_focus) { + var combo = this.parent; + if (combo) { + if (nexacro._enableaccessibility) { + combo._setAccessibilityStatFocus(evt_name); + } + + combo._apply_setfocus(evt_name); + } + }; + + _pComboListControl.on_fire_user_onkeydown = function (keycode, alt_key, ctrl_key, shift_key, fire_comp, refer_comp) { + return nexacro.Component.prototype.on_fire_user_onkeydown.call(this, keycode, alt_key, ctrl_key, shift_key, fire_comp, refer_comp); + }; + + _pComboListControl.on_fire_user_onlbuttonup = function (button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientX, clientY, from_comp, from_refer_comp) { + return nexacro.Component.prototype.on_fire_user_onlbuttonup.call(this, button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientX, clientY, from_comp, from_refer_comp); + }; + + _pComboListControl.on_fire_sys_onlbuttonup = function (button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientX, clientY, from_comp, from_refer_comp, from_elem) { + nexacro.Component.prototype.on_fire_sys_onlbuttonup.call(this, button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientX, clientY, from_comp, from_refer_comp, from_elem); + }; + + _pComboListControl.on_fire_sys_ontouchstart = function (touchinfos, changedtouchinfos, from_comp, from_refer_comp) { + nexacro.Component.prototype.on_fire_sys_ontouchstart.call(this, touchinfos, changedtouchinfos, from_comp, from_refer_comp); + }; + + _pComboListControl.on_fire_sys_ontouchend = function (touchinfos, changedtouchinfos, from_comp, from_refer_comp) { + nexacro.Component.prototype.on_fire_sys_ontouchend.call(this, touchinfos, changedtouchinfos, from_comp, from_refer_comp); + }; + + _pComboListControl.on_fire_sys_ontouchcancel = function (touchinfos, changedtouchinfos, from_comp, from_refer_comp) { + }; + + _pComboListControl.on_fire_oncloseup = function (obj) { + var rowobj = this._get_rowobj_status("mouseover", "status"); + if (rowobj) { + rowobj._changeStatus("mouseover", false); + } + + if (this.oncloseup && this.oncloseup._has_handlers) { + return this.oncloseup._fireEvent(this); + } + + return false; + }; + + _pComboListControl._redrawListBoxContentsAfter = nexacro._emptyFn; + + _pComboListControl._createListItem = function (id, left, top, width, height, right, bottom, minwidth, maxwidth, minheight, maxheight, parent) { + return new nexacro._ComboListItemControl(id, left, top, width, height, right, bottom, minwidth, maxwidth, minheight, maxheight, parent); + }; + + _pComboListControl._createListItemControl = function (index) { + var ds = this._innerdataset; + + if (!ds) { + return null; + } + + var dataCol = this.datacolumn ? this.datacolumn : this._datacolumn; + var codeCol = this.codecolumn ? this.codecolumn : this._codecolumn; + var txt = ds.getColumn(index, dataCol); + txt = nexacro._toString(txt); + var val = ds.getColumn(index, codeCol); + val = this._convertValueType(val, true); + + var itemheight = this._getItemHeight(); + var client_w = this._getClientWidth(); + + var item = this._createListItem("item_" + index, 0, index * itemheight, Math.max(this._contents_maxwidth, client_w), itemheight, null, null, null, null, null, null, this); + item.set_value(val); + item.set_text(txt); + item.set_index(index); + item.set_selected(false); + item.set_readonly(this.readonly); + + if (nexacro._enableaccessibility) { + this._setItemAccessibility(item); + } + + item._setEventHandler("onlbuttondown", this.on_notify_item_onlbuttondown, this); + item._setEventHandler("onlbuttonup", this.on_notify_item_onlbuttonup, this); + item._setEventHandler("ontouchstart", this.on_notify_item_ontouchstart, this); + item._setEventHandler("ontouchend", this.on_notify_item_ontouchend, this); + item._setEventHandler("onmouseenter", this.on_notify_item_onmouseenter, this); + item._setEventHandler("onmouseleave", this.on_notify_item_onmouseleave, this); + item._setEventHandler("onmousemove", this.on_notify_item_onmousemove, this); + + item.createComponent(this._is_created ? false : true); + + if (this.index == index) { + item.set_selected(true); + } + + return item; + }; + + _pComboListControl._change_status_item_from_key = function (curidx, nextidx) { + var currowobj = this._getItem(curidx); + var rowobj = this._getItem(nextidx); + + if (currowobj) { + currowobj._changeStatus("mouseover", false); + } + if (rowobj) { + rowobj._changeStatus("mouseover", true); + this._overeditemindex = rowobj.index; + } + }; + + _pComboListControl._setAccessibilityNotifyEvent = function (direction) { + if (this._is_accessibility_changeIdx) { + this._is_accessibility_changeIdx = false; + return this.parent._setAccessibilityNotifyEvent(direction); + } + else { + return nexacro.ListBox.prototype._setAccessibilityNotifyEvent.call(this, direction); + } + }; + + _pComboListControl._changeIndex = function (v) { + if (this.index != v) { + var dataset = this._innerdataset; + var postindex = parseInt(v, 10) | 0; + + if (dataset && (this.codecolumn || this.datacolumn)) { + var datavalue = dataset.getColumn(postindex, this.datacolumn || this.codecolumn); + var codevalue = dataset.getColumn(postindex, this.codecolumn || this.datacolumn); + + var posttext = datavalue == undefined ? "" : nexacro._toString(datavalue); + var postvalue = codevalue; + + this._accessibility_index = this.index = postindex; + this.text = posttext; + this.value = postvalue; + + this._selectinfo.obj = null; + this._selectinfo.index = postindex; + this._selectinfo.text = posttext; + this._selectinfo.value = postvalue; + + return true; + } + } + + return false; + }; + + _pComboListControl._get_rowobj_status = function (status, flag) { + var buffer_pages = this._buffer_pages; + if (buffer_pages) { + var rowobjs, rowobj; + for (var i = 0, n = buffer_pages.length; i < n; i++) { + rowobjs = buffer_pages[i]; + if (rowobjs) { + for (var j = 0, jlen = rowobjs.length; j < jlen; j++) { + rowobj = rowobjs[j]; + if (rowobj && ((flag == "status" && rowobj._status == status) || (flag == "userstatus" && rowobj._userstatus == status))) { + return rowobj; + } + } + } + } + } + + return null; + }; + + _pComboListControl._get_all_rowobj_status = function (status, flag) { + var ret = []; + var buffer_pages = this._buffer_pages; + if (buffer_pages) { + var rowobjs, rowobj; + for (var i = 0, n = buffer_pages.length; i < n; i++) { + rowobjs = buffer_pages[i]; + if (rowobjs) { + for (var j = 0, jlen = rowobjs.length; j < jlen; j++) { + rowobj = rowobjs[j]; + if (rowobj && ((flag == "status" && rowobj._status == status) || (flag == "userstatus" && rowobj._userstatus == status))) { + ret.push(rowobj); + } + } + } + } + } + + return ret; + }; + + delete _pComboListControl; + + nexacro._ComboListItemControl = function (id, left, top, width, height, right, bottom, minwidth, maxwidth, minheight, maxheight, parent) { + nexacro._ListBoxItemControl.call(this, id, left, top, width, height, right, bottom, minwidth, maxwidth, minheight, maxheight, parent); + }; + + var _pComboListItemControl = nexacro._createPrototype(nexacro._ListBoxItemControl, nexacro._ComboListItemControl); + nexacro._ComboListItemControl.prototype = _pComboListItemControl; + + + + + + + + + + + _pComboListItemControl.on_fire_sys_onlbuttonup = function (button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientX, clientY, from_comp, from_refer_comp, from_elem) { + var list = this.parent; + if (list) { + var window = this._getWindow(); + var comp = window.findComponent(from_elem); + + list._upitem = comp; + } + return nexacro.Component.prototype.on_fire_sys_onlbuttonup.call(this, button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientX, clientY, from_comp, from_refer_comp, from_elem); + }; + + _pComboListItemControl.on_fire_sys_ontouchend = function (touchinfos, changedtouchinfos, from_comp, from_refer_comp) { + var list = this.parent; + if (list) { + var comp; + var window = this._getWindow(); + var touchinfo = touchinfos ? touchinfos[0] : null; + if (touchinfo) { + var elem = touchinfo.target; + comp = window.findComponent(elem); + } + else { + comp = window.findComponent(from_comp); + } + + list._upitem = comp; + } + return nexacro.Component.prototype.on_fire_sys_ontouchend.call(this, touchinfos, changedtouchinfos, from_comp, from_refer_comp); + }; + + + + delete _pComboListItemControl; + + nexacro._ComboPopupControl = function (id, left, top, width, height, right, bottom, minwidth, maxwidth, minheight, maxheight, parent) { + nexacro.PopupControl.call(this, id, left, top, width, height, right, bottom, minwidth, maxwidth, minheight, maxheight, parent); + }; + + var _pComboPopupControl = nexacro._createPrototype(nexacro.PopupControl, nexacro._ComboPopupControl); + nexacro._ComboPopupControl.prototype = _pComboPopupControl; + _pComboPopupControl._type_name = "popupCombo"; + + + _pComboPopupControl._is_subcontrol = true; + + + + _pComboPopupControl._popupAuto = function () { + var pos = { + }; + if (this._type == "center") { + pos = this._getPopupPositionCenter(); + + var root_frame = this._getRootFrame(); + if (root_frame) { + this._popupBy(root_frame, pos.left, pos.top, pos.width, pos.height, true); + } + } + else { + pos = this._getPopupPosition(); + + this._popupBy(this.parent, pos.left, pos.top, pos.width, pos.height); + } + }; + + _pComboPopupControl._setType = function (type) { + this._type = type; + }; + + _pComboPopupControl._getRootFrame = function () { + var root_frame; + var owner_frame = this._getOwnerFrame(); + if (owner_frame) { + var win = owner_frame._getWindow(); + if (win) { + root_frame = win.frame; + } + } + + return root_frame; + }; + + _pComboPopupControl._getElementPosition = function () { + var combo = this.parent; + if (combo) { + return nexacro._getElementPositionInFrame(combo.getElement()); + } + + return { + }; + }; + _pComboPopupControl._getPopupParentPos = function () { + var combo = this.parent; + var combo_size = [combo._adjust_width, combo._adjust_height]; + var combo_elem_pos = nexacro._getElementPositionInFrame(combo.getElement()); + + return { + "x" : combo_elem_pos.x, + "y" : combo_elem_pos.y, + "width" : combo_size[0], + "height" : combo_size[1], + "xgap" : 0, + "ygap" : 0 + }; + }; + _pComboPopupControl._getPopupPosition = function () { + var popup_left = 0; + var popup_top = 0; + var popup_width = 0; + var popup_height = 0; + + var combo = this.parent; + var combolist = this._attached_comp; + var rootframe = this._getRootFrame(); + if (combo && combolist && rootframe) { + var win = this._getWindow(); + + var minimum_row = 3; + var screen_avail_height = nexacro._getScreenAvailHeight(); + + var rootframe_elem_pos = nexacro._getElementPositionInFrame(rootframe.getElement()); + + + var combopos = this._getPopupParentPos(); + var combo_elem_pos = { + "x" : combopos.x, + "y" : combopos.y + }; + var combo_size = [combopos.width, combopos.height]; + var xgap = combopos.xgap; + var ygap = combopos.ygap; + + var win_left = nexacro._allow_default_pinchzoom ? nexacro._getWindowOffsetPosition(win).left : rootframe_elem_pos.x; + var window_width = win ? nexacro._getWindowHandleClientWidth(win.handle) : 0; + var window_height = win ? nexacro._getWindowHandleClientHeight(win.handle) : 0; + + + var combo_vscrollsize = combo._getVScrollBarSize(); + var combo_displayrowcount = combo.displayrowcount; + var combo_roucount = combo._selectDataset() ? combo._selectDataset().getRowCount() : 0; + var combo_popupsize = combo._getPopupSizeArr(); + + var combolist_size = combolist._on_getFitSize(); + var combolist_itemheight = combolist._getItemHeight(); + + var combolist_bordersize = combolist._getCurrentStyleBorder(); + combolist_bordersize = combolist_bordersize ? combolist_bordersize._getBorderHeight() : 0; + + var combolist_paddingsize = combolist._getCurrentStylePadding(); + combolist_paddingsize = combolist_paddingsize ? combolist_paddingsize.top + combolist_paddingsize.bottom : 0; + + var combolist_stylesize = combolist_bordersize + combolist_paddingsize; + var combolist_minimum_height; + var combolist_height; + + var upper_space_height = combo_elem_pos.y; + var below_space_height = window_height - (combo_elem_pos.y + combo_size[1]); + if (screen_avail_height > window_height && rootframe_elem_pos.y + window_height > screen_avail_height) { + below_space_height = screen_avail_height - rootframe_elem_pos.y - (combo_elem_pos.y + combo_size[1]); + } + + popup_top = combo_size[1]; + + if (combo_popupsize) { + popup_width = combo_popupsize.width; + popup_height = combo_popupsize.height ? combo_popupsize.height : popup_height; + } + else { + popup_width = Math.max(combo_size[0], combolist_size[0]); + } + + if (combo_displayrowcount == null) { + combolist_minimum_height = (combo_roucount < minimum_row ? combo_roucount : minimum_row) * combolist_itemheight + combolist_stylesize; + combolist_height = popup_height ? popup_height : (combo_roucount * combolist_itemheight) + combolist_stylesize; + + if (below_space_height > combolist_minimum_height) { + if (below_space_height > combolist_height) { + popup_height = combolist_height; + } + else { + popup_height = below_space_height; + + if (!combo_popupsize) { + popup_width += combo_vscrollsize; + } + } + } + else { + if (upper_space_height > combolist_minimum_height) { + if (upper_space_height > combolist_height) { + popup_top = -combolist_height; + popup_height = combolist_height; + } + else { + popup_top = -upper_space_height; + popup_height = upper_space_height; + } + } + else { + if (below_space_height > upper_space_height) { + popup_height = below_space_height; + } + else { + popup_top = -upper_space_height; + popup_height = upper_space_height; + } + } + } + } + else { + if (combo_roucount > combo_displayrowcount) { + combo_roucount = combo_displayrowcount; + + if (!combo_popupsize && popup_width <= combolist_size[0] + combo_vscrollsize) { + popup_width = combolist_size[0] + combo_vscrollsize; + } + } + + combolist_minimum_height = combo_roucount * combolist_itemheight + combolist_stylesize; + + if (below_space_height > combolist_minimum_height) { + popup_height = combolist_minimum_height; + } + else { + if (upper_space_height > combolist_minimum_height) { + popup_top = -combolist_minimum_height; + popup_height = combolist_minimum_height; + } + else { + if (below_space_height > upper_space_height) { + popup_height = below_space_height; + } + else { + popup_top = -upper_space_height; + popup_height = upper_space_height; + } + } + } + } + + if (combo_elem_pos.x < win_left) { + popup_left += win_left - combo_elem_pos.x; + } + else if (combo_elem_pos.x + popup_width > win_left + window_width) { + popup_left -= (combo_elem_pos.x + popup_width) - (win_left + window_width); + + if (popup_left < (win_left - combo_elem_pos.x)) { + popup_left = win_left - combo_elem_pos.x; + } + } + } + + return { + left : popup_left + xgap, + top : popup_top + ygap, + width : popup_width, + height : popup_height + }; + }; + + _pComboPopupControl._getPopupPositionCenter = function () { + var popup_left = 0; + var popup_top = 0; + var popup_width = 0; + var popup_height = 0; + + var window_width = 0; + var window_height = 0; + + var combo = this.parent; + var combolist = this._attached_comp; + if (combo && combolist) { + var add_addressbar_height = 0; + var win = this._getWindow(); + if (win) { + if (nexacro._OS == "iOS" && nexacro._Browser == "MobileSafari") { + window_width = win.handle.innerWidth; + window_height = win.handle.innerHeight; + var body_scroll = nexacro._getWindowDestinationHandle(win.handle).scrollTop; + if (body_scroll > 0) { + add_addressbar_height += body_scroll * 2; + } + } + else { + window_width = nexacro._getWindowHandleClientWidth(win.handle); + window_height = nexacro._getWindowHandleClientHeight(win.handle); + } + } + + var combo_vscrollsize = combo._getVScrollBarSize(); + var combo_displayrowcount = combo.displayrowcount; + var combo_roucount = combo._selectDataset() ? combo._selectDataset().getRowCount() : 0; + var combo_popupsize = combo._getPopupSizeArr(); + + var combolist_size = combolist._on_getFitSize(); + var combolist_itemheight = combolist._getItemHeight(); + + var combolist_bordersize = combolist._getCurrentStyleBorder(); + combolist_bordersize = combolist_bordersize ? combolist_bordersize._getBorderHeight() : 0; + + var combolist_paddingsize = combolist._getCurrentStylePadding(); + combolist_paddingsize = combolist_paddingsize ? combolist_paddingsize.top + combolist_paddingsize.bottom : 0; + + var combolist_stylesize = combolist_bordersize + combolist_paddingsize; + + popup_width = combo_popupsize ? combo_popupsize.width : combolist_size[0]; + if (combo_popupsize && combo_popupsize.height) { + popup_height = combo_popupsize.height; + } + else { + popup_height = (combo_roucount * combolist_itemheight) + combolist_stylesize; + } + + if (combo_displayrowcount == null) { + if (popup_height > window_height) { + popup_height = window_height; + popup_width += combo_vscrollsize; + } + } + else { + if (combo_roucount > combo_displayrowcount) { + popup_height = (combo_displayrowcount * combolist_itemheight) + combolist_stylesize; + + if (popup_height > window_height) { + popup_height = window_height; + } + + popup_width += combo_vscrollsize; + } + else { + if (popup_height > window_height) { + popup_height = window_height; + popup_width += combo_vscrollsize; + } + } + } + + popup_left = ((window_width / 2) - (popup_width / 2)); + popup_top = ((window_height / 2) - (popup_height / 2)); + popup_top = popup_top < 0 ? 0 : popup_top; + popup_top += add_addressbar_height; + } + + return { + left : popup_left, + top : popup_top, + width : popup_width, + height : popup_height + }; + }; + + _pComboPopupControl._setZoom = function (scale) { + var elem = this.getElement(); + if (elem.setElementZoom) { + elem.setElementZoom(scale * 100); + } + else if (nexacro.ScrollableControlElement.prototype.setElementZoom) { + nexacro.ScrollableControlElement.prototype.setElementZoom.call(elem, scale * 100); + } + }; + + delete _pComboPopupControl; +} diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/nexacro17lib/component/ComComp/Dataset.js b/nexacro-spring/src/main/webapp/deploy/_web_/nexacro17lib/component/ComComp/Dataset.js new file mode 100644 index 0000000..79c1d6b --- /dev/null +++ b/nexacro-spring/src/main/webapp/deploy/_web_/nexacro17lib/component/ComComp/Dataset.js @@ -0,0 +1,233 @@ +//============================================================================== +// +// TOBESOFT Co., Ltd. +// Copyright 2017 TOBESOFT Co., Ltd. +// All Rights Reserved. +// +// NOTICE: TOBESOFT permits you to use, modify, and distribute this file +// in accordance with the terms of the license agreement accompanying it. +// +// Readme URL: http://www.nexacro.co.kr/legal/nexacro17-public-license-readme-1.1.html +// +//============================================================================== + +if (!nexacro.NormalDataset) { + nexacro.NormalDataset = function (id, parent) { + nexacro.Dataset.call(this, id, parent); + + this.url = ""; + this.arguments = ""; + this.serverdatasetid = ""; + this.firefirstcount = 0; + this.firenextcount = 0; + this.progressload = false; + this.preload = false; + + this._is_preloaded = false; + }; + + var _pNormalDataset = nexacro._createPrototype(nexacro.Dataset, nexacro.NormalDataset); + nexacro.NormalDataset.prototype = _pNormalDataset; + + nexacro.NormalDataset.ROWTYPE_EMPTY = 0; + nexacro.NormalDataset.ROWTYPE_NORMAL = 1; + nexacro.NormalDataset.ROWTYPE_INSERT = 2; + nexacro.NormalDataset.ROWTYPE_UPDATE = 4; + nexacro.NormalDataset.ROWTYPE_DELETE = 8; + nexacro.NormalDataset.ROWTYPE_GROUP = 16; + + nexacro.NormalDataset.REASON_LOAD = 0; + nexacro.NormalDataset.REASON_LOADPROCESS = 1; + nexacro.NormalDataset.REASON_RESET = 2; + nexacro.NormalDataset.REASON_LOADCONTENT = 3; + + nexacro.NormalDataset.REASON_ASSIGN = 10; + nexacro.NormalDataset.REASON_COPY = 11; + nexacro.NormalDataset.REASON_APPEND = 12; + nexacro.NormalDataset.REASON_MERGE = 13; + nexacro.NormalDataset.REASON_DELETE = 20; + nexacro.NormalDataset.REASON_DELETEALL = 22; + nexacro.NormalDataset.REASON_CLEARDATA = 23; + nexacro.NormalDataset.REASON_CLEAR = 24; + nexacro.NormalDataset.REASON_SORTGROUP = 30; + nexacro.NormalDataset.REASON_FILTER = 31; + nexacro.NormalDataset.REASON_MOVE = 32; + nexacro.NormalDataset.REASON_EXCHANGE = 33; + nexacro.NormalDataset.REASON_CHANGELAYOUT = 34; + nexacro.NormalDataset.REASON_CHANGESTATUS = 40; + nexacro.NormalDataset.REASON_ENABLEEVENT = 41; + + nexacro.NormalDataset.REASON_ROWCHANGE = 51; + nexacro.NormalDataset.REASON_ROWINDEXCHANGE = 52; + nexacro.NormalDataset.REASON_ROWOBJECTCHANGE = 53; + + nexacro.NormalDataset.REASON_BINDSOURCE = 90; + + _pNormalDataset.on_created = function () { + if (this.url == "" || this.preload == false) { + if (this.colcount > 0) { + this._endLoad(0, "SUCCESS", 3); + } + } + + if (!nexacro.isDesignMode && this.preload && !this._is_preloaded) { + if (this.url && this.parent) { + var keys = []; + keys.push("__preload"); + keys.push(this.url); + keys.push(this.id); + keys.push(this.serverdatasetid); + var svcid = keys.join('_'); + + var url = nexacro._getServiceLocation(this.url); + + var loadmanager = this.parent._load_manager; + if (loadmanager) { + var data = loadmanager.getPreloadDataModule(this.id); + if (data) { + var serverdatasetid = this.serverdatasetid; + if (!serverdatasetid) { + serverdatasetid = "output"; + } + var outds = this.id + "=" + serverdatasetid; + var tritem = new nexacro.TransactionItem(url, this.parent, svcid, "", outds, "", 0, true); + tritem._usewaitcursor = false; + tritem._loadFromData(data); + this._is_preloaded = true; + } + } + } + } + + this._defaultKeyStr = this.keystring; + this._defaultFilterStr = this.filterstr; + }; + + _pNormalDataset.destroy = function () { + nexacro.Dataset.prototype.destroy.call(this); + this._refform = null; + }; + + + + _pNormalDataset.set_url = function (v) { + this.url = v; + }; + _pNormalDataset.set_arguments = function (v) { + this.arguments = v; + }; + + _pNormalDataset.set_firefirstcount = function (v) { + v = parseInt(v) | 0; + if (isFinite(v)) { + this.firefirstcount = v; + } + }; + + _pNormalDataset.set_firenextcount = function (v) { + v = parseInt(v) | 0; + if (isFinite(v)) { + this.firenextcount = v; + } + }; + + _pNormalDataset.set_progressload = function (v) { + this.progressload = nexacro._toBoolean(v); + }; + + _pNormalDataset.set_preload = function (v) { + this.preload = nexacro._toBoolean(v); + }; + _pNormalDataset.set_serverdatasetid = function (v) { + this.serverdatasetid = v; + }; + + _pNormalDataset.load = function (async, datatype) { + var baseurl; + if (this._refform) { + baseurl = this._refform._getRefFormBaseUrl(); + } + var url = nexacro._getServiceLocation(this.url, baseurl); + + if (url.length && this.parent) { + var svcid = "__normaldataset_loadurl_" + this.id; + var loadmanager = this.parent._load_manager; + if (loadmanager) { + var serverdatasetid = this.serverdatasetid; + if (!serverdatasetid) { + serverdatasetid = "output"; + } + var outds = this.id + "=" + serverdatasetid; + var service = nexacro._getServiceObject(this.url, true); + loadmanager.loadDataModule(url, svcid, "", outds, this.arguments, null, async, datatype, false, service); + } + } + else { + this._endLoad(-1, "empty url", 3); + } + }; + + + _pNormalDataset.append = function (url) { + this._append(url, true, 0); + }; + + _pNormalDataset._append = function (svcurl, async, datatype) { + var baseurl; + if (this._refform) { + baseurl = this._refform._getRefFormBaseUrl(); + } + + var serviceurl = svcurl ? svcurl : this.url; + + if (!serviceurl) { + this._endLoad(-1, "empty url", 0); + return; + } + + var url = nexacro._getServiceLocation(serviceurl, baseurl); + if (url && url.length && this.parent) { + var svcid = "__normaldataset_appendurl_" + this.id; + var loadmanager = this.parent._load_manager; + if (loadmanager) { + var serverdatasetid = this.serverdatasetid; + if (!serverdatasetid) { + serverdatasetid = "output"; + } + var outds = this.id + "=" + serverdatasetid + ":P"; + var service = nexacro._getServiceObject(url, true); + + loadmanager.loadDataModule(url, svcid, "", outds, this.arguments, null, async, datatype, false, service); + } + } + else { + this._endLoad(-1, "empty url", 0); + } + }; + + _pNormalDataset.on_preload_data = function (url, errstatus, data, fireerrorcode, returncode, requesturi, locationuri, extramsg) { + if (errstatus != 0) { + nexacro._onHttpSystemError(this, true, this, fireerrorcode, url, returncode, requesturi, locationuri, extramsg); + } + else if (data && !this._is_preloaded) { + var keys = []; + keys.push("__preload"); + keys.push(this.url); + keys.push(this.id); + keys.push(this.serverdatasetid); + var svcid = keys.join('_'); + + var serverdatasetid = this.serverdatasetid; + if (!serverdatasetid) { + serverdatasetid = "output"; + } + var outds = this.id + "=" + serverdatasetid; + var tritem = new nexacro.TransactionItem(this.url, this.parent, svcid, "", outds, "", 0, true); + tritem._usewaitcursor = false; + tritem._loadFromData(data); + this._is_preloaded = true; + } + }; + + delete _pNormalDataset; +} diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/nexacro17lib/component/ComComp/DatePicker.js b/nexacro-spring/src/main/webapp/deploy/_web_/nexacro17lib/component/ComComp/DatePicker.js new file mode 100644 index 0000000..2f15c69 --- /dev/null +++ b/nexacro-spring/src/main/webapp/deploy/_web_/nexacro17lib/component/ComComp/DatePicker.js @@ -0,0 +1,2222 @@ +//============================================================================== +// +// TOBESOFT Co., Ltd. +// Copyright 2017 TOBESOFT Co., Ltd. +// All Rights Reserved. +// +// NOTICE: TOBESOFT permits you to use, modify, and distribute this file +// in accordance with the terms of the license agreement accompanying it. +// +// Readme URL: http://www.nexacro.co.kr/legal/nexacro17-public-license-readme-1.1.html +// +//============================================================================== + +if (!nexacro.DatePickerControl) { + nexacro.DatePickerControl = function (id, left, top, width, height, right, bottom, minwidth, maxwidth, minheight, maxheight, parent) { + nexacro.Component.call(this, id, left, top, width, height, right, bottom, minwidth, maxwidth, minheight, maxheight, parent); + }; + + var _pDatePickerControl = nexacro._createPrototype(nexacro.Component, nexacro.DatePickerControl); + nexacro.DatePickerControl.prototype = _pDatePickerControl; + _pDatePickerControl._type_name = "DatePickerControl"; + _pDatePickerControl.accessibilityrole = "datepicker"; + _pDatePickerControl._is_subcontrol = true; + + + _pDatePickerControl.head = null; + _pDatePickerControl.body = null; + + + + + _pDatePickerControl._selected_year = ""; + _pDatePickerControl._selected_month = ""; + _pDatePickerControl._selected_day = ""; + + + _pDatePickerControl._use_readonly_status = true; + _pDatePickerControl._is_locale_control = true; + + + _pDatePickerControl._event_list = { + "onclick" : 1, + "ondayclick" : 1, + "onspin" : 1, + "oncloseup" : 1 + }; + + + _pDatePickerControl.accessibilityrole = "datepicker"; + _pDatePickerControl._has_accessibility_value = false; + + _pDatePickerControl.on_create_contents = function () { + var control_elem = this.getElement(); + if (control_elem) { + var head = this.head = new nexacro._DatePickerHeadControl("head", 0, 0, 0, 0, null, null, null, null, null, null, this); + var body = this.body = new nexacro._DatePickerBodyControl("body", 0, 0, 0, 0, null, null, null, null, null, null, this); + + head.createComponent(true); + body.createComponent(true); + } + }; + + _pDatePickerControl.on_created_contents = function (win) { + var control_elem = this.getElement(); + if (control_elem) { + var head = this.head; + var body = this.body; + + head._setEventHandler("onclick", this._on_head_onheadclick, this); + head._setEventHandler("onspin", this._on_head_onheadspin, this); + head._setEventHandler("onkeydown", this._on_head_onkeydown, this); + + body._setEventHandler("ondayclick", this._on_body_ondayclick, this); + body._setEventHandler("onkeydown", this._on_body_onkeydown, this); + + head.on_created(win); + body.on_created(win); + + this._recalcLayout(); + } + }; + + _pDatePickerControl.on_create_contents_command = function () { + var head = this.head; + var body = this.body; + + var str = ""; + if (head) { + str += head.createCommand(); + } + if (body) { + str += body.createCommand(); + } + + return str; + }; + + _pDatePickerControl.on_attach_contents_handle = function (win) { + var head = this.head; + var body = this.body; + + head._setEventHandler("onclick", this._on_head_onheadclick, this); + head._setEventHandler("onspin", this._on_head_onheadspin, this); + head._setEventHandler("onkeydown", this._on_head_onkeydown, this); + + body._setEventHandler("ondayclick", this._on_body_ondayclick, this); + body._setEventHandler("onkeydown", this._on_body_onkeydown, this); + + body.attachHandle(win); + head.attachHandle(win); + + this._recalcLayout(); + }; + + _pDatePickerControl.on_destroy_contents = function () { + if (this.head) { + this.head.destroy(); + this.head = null; + } + if (this.body) { + this.body.destroy(); + this.body = null; + } + }; + + _pDatePickerControl.on_change_containerRect = function (width, height) { + this._recalcLayout(); + }; + + _pDatePickerControl.on_apply_prop_enable = function (v) { + var head = this.head; + var body = this.body; + + if (head) { + head._setEnable(v); + } + + if (body) { + body._setEnable(v); + } + }; + + _pDatePickerControl.set_readonly = function (v) { + v = nexacro._toBoolean(v); + if (this.readonly != v) { + this.readonly = v; + this.on_apply_readonly(v); + } + }; + + _pDatePickerControl.on_apply_readonly = function (readonly) { + this._changeStatus("readonly", readonly); + + var head = this.head; + if (head) { + head.set_readonly(readonly); + } + + var body = this.body; + if (body) { + body.set_readonly(readonly); + } + }; + + + _pDatePickerControl._on_head_onkeydown = function (obj, e) { + var keycode = e.keycode; + var enableaccessibility = nexacro._enableaccessibility; + + if ((e.fromreferenceobject.id == "spinedit") && keycode != 13) { + return; + } + + this._changeDate(obj, e); + + if (!enableaccessibility) { + if (!(obj instanceof nexacro._CalendarEditControl) && (keycode == 13 || keycode == 37 || keycode == 38 || keycode == 39 || keycode == 40)) { + this.on_fire_ondayclick(obj); + } + } + }; + + _pDatePickerControl._on_head_onheadclick = function (obj, e) { + if (!this.enable || this.readonly) { + return false; + } + + var head = this.head; + var body = this.body; + + body._setDate(head._date.str_year, head._date.str_month, body._date.str_day); + }; + + _pDatePickerControl._on_head_onheadspin = function (obj, e) { + if (!this.enable || this.readonly == true) { + return false; + } + + var head = this.head; + var body = this.body; + + body._setDate(head._date.str_year, head._date.str_month, body._date.str_day); + }; + + _pDatePickerControl._on_body_ondayclick = function (obj, e) { + this.on_fire_ondayclick(obj, e); + }; + + _pDatePickerControl._on_body_onkeydown = function (obj, e) { + var keycode = e.keycode; + var enableaccessibility = nexacro._enableaccessibility; + + this._changeDate(obj, e); + + if (!enableaccessibility) { + if (!(obj instanceof nexacro._CalendarEditControl) && (keycode == 37 || keycode == 38 || keycode == 39 || keycode == 40)) { + this.on_fire_ondayclick(obj); + } + } + }; + + _pDatePickerControl.on_lbuttondown_basic_action = function (elem, button, alt_key, ctrl_key, shift_key, canvasX, canvasY, screenX, screenY, refer_comp) { + var control_name = refer_comp.name; + if (control_name == "head" || control_name == "prevbutton" || control_name == "nextbutton" || + control_name == "body" || control_name == "weekband" || control_name.indexOf("weekitem") > -1 || control_name.indexOf("dayitem") > -1) { + this._refreshSpindate(); + } + }; + + _pDatePickerControl.on_touchend_basic_action = function (touch_manager, touchinfos, changedtouchinfos, refer_comp) { + var control_name = refer_comp.name; + if (control_name == "head" || control_name == "prevbutton" || control_name == "nextbutton" || + control_name == "body" || control_name == "weekband" || control_name.indexOf("weekitem") > -1 || control_name.indexOf("dayitem") > -1) { + this._refreshSpindate(); + } + }; + + _pDatePickerControl.on_fire_oncloseup = function (obj) { + if (this.oncloseup && this.oncloseup._has_handlers) { + return this.oncloseup._fireEvent(this); + } + return false; + }; + + _pDatePickerControl.on_fire_ondayclick = function (obj, e) { + if (this.ondayclick && this.ondayclick._has_handlers) { + if (!e) { + var item = this.body._getDayItem(this._selected_day); + e = new nexacro.CalendarDayClickEventInfo(item, "ondayclick", this._value); + } + return this.ondayclick._fireEvent(this, e); + } + return false; + }; + + _pDatePickerControl._on_button_onnextlbuttondown = function () { + var head = this.head; + if (!head.enable || head.readonly) { + return false; + } + + var year = head._date.int_year; + var month = head._date.int_month; + if ((month += 1) > 12) { + month = 1; + if ((year += 1) > 9999) { + year = 0; + } + } + + head._setDate(year, month); + head._refreshSpindate(); + + this._on_head_onheadclick(); + }; + + _pDatePickerControl._on_button_onprevlbuttondown = function () { + var head = this.head; + if (!head.enable || head.readonly) { + return false; + } + + var year = head._date.int_year; + var month = head._date.int_month; + if ((month -= 1) <= 0) { + month = 12; + if ((year -= 1) < 0) { + year = 9999; + } + } + + head._setDate(year, month); + head._refreshSpindate(); + + this._on_head_onheadclick(); + }; + + _pDatePickerControl._setValue = function (v) { + this._value = v; + this.on_apply_value(v); + }; + + _pDatePickerControl.on_apply_value = function (value) { + var year = value.substr(0, 4); + var month = value.substr(4, 2); + var day = value.substr(6, 2); + + this._selected_year = year; + this._selected_month = month; + this._selected_day = day; + + var head = this.head; + if (head) { + head._setDate(year, month); + head._recalcLayout(); + } + + var body = this.body; + if (body) { + body._setDate(year, month, day); + } + }; + + _pDatePickerControl._setHeadformatText = function () { + var head = this.head; + if (head) { + head._setDate(head._date.str_year, head._date.str_month); + head._recalcLayout(); + } + }; + + _pDatePickerControl._setWeekformatText = function () { + var body = this.body; + if (body) { + body._setWeekformatText(); + } + }; + + _pDatePickerControl._getInnerDataset = function () { + var calendar = this.parent; + if (calendar) { + return calendar.getInnerDataset(); + } + + return null; + }; + + _pDatePickerControl._getBackgroundcolumn = function () { + var calendar = this.parent; + if (calendar) { + return calendar.backgroundcolumn; + } + + return null; + }; + + _pDatePickerControl._getBordercolumn = function () { + var calendar = this.parent; + if (calendar) { + return calendar.bordercolumn; + } + + return null; + }; + + _pDatePickerControl._getDatecolumn = function () { + var calendar = this.parent; + if (calendar) { + return calendar.datecolumn; + } + + return null; + }; + + _pDatePickerControl._getTextcolorcolumn = function () { + var calendar = this.parent; + if (calendar) { + return calendar.textcolorcolumn; + } + + return null; + }; + + _pDatePickerControl._getHeadheight = function () { + var calendar = this.parent; + if (calendar) { + return calendar.headheight; + } + + return null; + }; + + _pDatePickerControl._getDaysize = function () { + var calendar = this.parent; + if (calendar) { + return calendar.daysize; + } + + return ""; + }; + + _pDatePickerControl._getHeadformat = function () { + var calendar = this.parent; + if (calendar) { + return calendar.headformat; + } + + return null; + }; + + _pDatePickerControl._getWeekformat = function () { + var calendar = this.parent; + if (calendar) { + return calendar.weekformat; + } + + return null; + }; + + _pDatePickerControl._getUsetrailingday = function () { + var calendar = this.parent; + if (calendar) { + return calendar.usetrailingday; + } + + return false; + }; + + _pDatePickerControl._getShowmonthspin = function () { + var calendar = this.parent; + if (calendar) { + return calendar.showmonthspin; + } + + return false; + }; + + _pDatePickerControl._getShowyearspin = function () { + var calendar = this.parent; + if (calendar) { + return calendar.showyearspin; + } + + return false; + }; + + _pDatePickerControl._getCurrentDate = function () { + var calendar = this.parent; + if (calendar) { + return calendar._getCurrentDate(); + } + + return ""; + }; + + _pDatePickerControl._getEndDay = function (year, month) { + var calendar = this.parent; + if (calendar) { + return calendar._getEndDay(year, month); + } + + return ""; + }; + + + _pDatePickerControl._changeDate = function (obj, e) { + var body = this.body; + var body_date = body._date; + var year = body_date.int_year; + var month = body_date.int_month; + var day = body_date.int_day; + var endday = this._getEndDay(year, month); + + var is_full_changed = false; + var inc_month = false; + var inc_day = false; + var dec_month = false; + var dec_day = false; + var enableaccessibility = nexacro._enableaccessibility; + var keycode = e.keycode; + + if (keycode == 37 || keycode == 38 || keycode == 39 || keycode == 40 || keycode == 13) { + switch (keycode) { + case 13: + var date = new nexacro.Date(year, month - 1, day); + year = date.getFullYear(); + month = date.getMonth() + 1; + day = date.getDate(); + break; + case 37: + if (e.ctrlkey) { + dec_month = true; + } + else { + dec_day = true; + } + + if (dec_day) { + day -= 1; + if (day <= 0) { + dec_month = true; + } + } + + if (dec_month) { + month -= 1; + if (month <= 0) { + if (year <= 0) { + year = 9999; + } + else { + year -= 1; + } + + month = 12; + } + + if (!e.ctrlkey) { + day += this._getEndDay(year, month); + } + is_full_changed = true; + } + break; + case 38: + if (e.ctrlkey) { + year -= 1; + is_full_changed = true; + } + else if (!enableaccessibility) { + day -= 7; + if (day <= 0) { + if (month <= 1) { + month = 12; + + if (year <= 0) { + year = 9999; + } + else { + year -= 1; + } + } + else { + month -= 1; + } + + day += this._getEndDay(year, month); + } + } + break; + case 39: + if (e.ctrlkey) { + inc_month = true; + } + else { + inc_day = true; + } + + if (inc_day) { + day += 1; + if (day > endday) { + inc_month = true; + } + } + + if (inc_month) { + month += 1; + if (month > 12) { + if (year >= 9999) { + year = 0; + } + else { + year += 1; + } + + month = 1; + } + + if (inc_day) { + day -= endday; + } + is_full_changed = true; + } + break; + case 40: + if (e.ctrlkey) { + year += 1; + is_full_changed = true; + } + else if (!enableaccessibility) { + day += 7; + if (day > endday) { + if (month >= 12) { + month = 1; + + if (year >= 9999) { + year = 0; + } + else { + year += 1; + } + } + else { + month += 1; + } + + day -= endday; + } + } + break; + } + + year = nexacro._toString(year).padLeft(4, "0"); + month = nexacro._toString(month).padLeft(2, "0"); + day = nexacro._toString(day).padLeft(2, "0"); + this._setValue(year + month + day); + + if (nexacro._enableaccessibility) { + if (is_full_changed) { + var item = this.body._getDayItem(this._selected_day); + item._setAccessibilityLabel(year + " " + month + " " + day); + } + var calendar = this.parent; + if (calendar) { + var calendaredit = calendar.calendaredit; + calendaredit._setAccessibilityLabel(is_full_changed ? year + " " + month + " " + day : day); + } + } + } + + if (enableaccessibility) { + if (keycode == 13) { + this.on_fire_ondayclick(obj); + } + else if (keycode == 27) { + this.parent._closePopup(); + } + } + }; + + _pDatePickerControl._recalcLayout = function () { + if (this._is_created_contents) { + var headheight = this._getHeadheight(); + + var client_width = this._getClientWidth(); + var client_height = this._getClientHeight(); + + if (!headheight) { + headheight = client_height / 8; + } + + var body_l = 0; + var body_t = 0 + headheight; + var body_w = client_width; + var body_h = client_height - headheight; + + var head_l = 0; + var head_t = 0; + var head_w = client_width; + var head_h = headheight; + + this.body.move(body_l, body_t, body_w, body_h, null, null); + this.head.move(head_l, head_t, head_w, head_h, null, null); + } + }; + + _pDatePickerControl._refreshSpindate = function () { + var head = this.head; + if (this._is_created) { + if (head) { + head._refreshSpindate(); + } + } + }; + + _pDatePickerControl._refreshDay = function () { + var body = this.body; + if (this._is_created) { + if (body) { + body._refreshDay(); + } + } + }; + + _pDatePickerControl._on_beforerepeat = function (refer_comp) { + var head = this.head; + if (head) { + return head._on_beforerepeat(refer_comp); + } + }; + + delete _pDatePickerControl; + + nexacro._DatePickerHeadControl = function (id, left, top, width, height, right, bottom, minwidth, maxwidth, minheight, maxheight, parent) { + nexacro.Component.call(this, id, left, top, width, height, right, bottom, minwidth, maxwidth, minheight, maxheight, parent); + + this._date = { + str_year : "", + str_month : "", + int_year : 0, + int_month : 0 + }; + }; + + var _pDatePickerHeadControl = nexacro._createPrototype(nexacro.Component, nexacro._DatePickerHeadControl); + nexacro._DatePickerHeadControl.prototype = _pDatePickerHeadControl; + _pDatePickerHeadControl._type_name = "DatePickerHeadControl"; + _pDatePickerHeadControl._is_subcontrol = true; + + + _pDatePickerHeadControl.prevbutton = null; + _pDatePickerHeadControl.nextbutton = null; + _pDatePickerHeadControl.yearstatic = null; + _pDatePickerHeadControl.monthstatic = null; + _pDatePickerHeadControl.yearspin = null; + _pDatePickerHeadControl.monthspin = null; + + + + + _pDatePickerHeadControl._use_readonly_status = true; + + + _pDatePickerHeadControl._event_list = { + "onclick" : 1, + "onspin" : 1, + "onkeydown" : 1 + }; + + _pDatePickerHeadControl.on_create_contents = function () { + var prevbutton = this.prevbutton = new nexacro.Button("prevbutton", 0, 0, 0, 0, null, null, null, null, null, null, this); + var nextbutton = this.nextbutton = new nexacro.Button("nextbutton", 0, 0, 0, 0, null, null, null, null, null, null, this); + var yearstatic = this.yearstatic = new nexacro.Static("yearstatic", 0, 0, 0, 0, null, null, null, null, null, null, this); + var monthstatic = this.monthstatic = new nexacro.Static("monthstatic", 0, 0, 0, 0, null, null, null, null, null, null, this); + var yearspin = this.yearspin = new nexacro._YearSpinControl("yearspin", 0, 0, 0, 0, null, null, null, null, null, null, this); + var monthspin = this.monthspin = new nexacro._MonthSpinControl("monthspin", 0, 0, 0, 0, null, null, null, null, null, null, this); + + prevbutton._setControl(); + nextbutton._setControl(); + yearstatic._setControl(); + monthstatic._setControl(); + yearspin._setControl(); + monthspin._setControl(); + + prevbutton.createComponent(true); + nextbutton.createComponent(true); + yearstatic.createComponent(true); + monthstatic.createComponent(true); + yearspin.createComponent(true); + monthspin.createComponent(true); + + yearspin.set_visible(false); + yearspin.set_min("0"); + yearspin.set_max("9999"); + yearspin.set_circulation(true); + yearspin.set_displaycomma(false); + + monthspin.set_visible(false); + monthspin.set_min("1"); + monthspin.set_max("12"); + monthspin.set_circulation(true); + monthspin.set_displaycomma(false); + }; + + _pDatePickerHeadControl.on_created_contents = function (win) { + this.on_apply_prop_enable(this.enable); + + var prevbutton = this.prevbutton; + var nextbutton = this.nextbutton; + var yearstatic = this.yearstatic; + var monthstatic = this.monthstatic; + var yearspin = this.yearspin; + var monthspin = this.monthspin; + + if (nexacro._isTouchInteraction && nexacro._SupportTouch) { + yearstatic._setEventHandler("onclick", this._on_static_mobile_onclick, this); + monthstatic._setEventHandler("onclick", this._on_static_mobile_onclick, this); + } + yearstatic._setEventHandler("onlbuttondown", this._on_static_onlbuttondown, this); + monthstatic._setEventHandler("onlbuttondown", this._on_static_onlbuttondown, this); + prevbutton._setEventHandler("onclick", this._on_button_onprevclick, this); + nextbutton._setEventHandler("onclick", this._on_button_onnextclick, this); + yearspin._setEventHandler("onspin", this._on_spin_onspin, this); + monthspin._setEventHandler("onspin", this._on_spin_onspin, this); + yearspin._setEventHandler("onkeydown", this._on_spin_onkeydown, this); + monthspin._setEventHandler("onkeydown", this._on_spin_onkeydown, this); + + prevbutton.on_created(win); + nextbutton.on_created(win); + yearstatic.on_created(win); + monthstatic.on_created(win); + yearspin.on_created(win); + monthspin.on_created(win); + + yearspin.set_value(this._date.str_year); + monthspin.set_value(this._date.str_month); + + if (this.parent._is_popupcontains) { + yearspin._setEnableView(false); + monthspin._setEnableView(false); + } + this._refreshSpindate(); + }; + + _pDatePickerHeadControl.on_create_contents_command = function () { + this._refreshSpindate(); + + var str = ""; + if (this.prevbutton) { + str += this.prevbutton.createCommand(); + } + if (this.nextbutton) { + str += this.nextbutton.createCommand(); + } + if (this.yearstatic) { + str += this.yearstatic.createCommand(); + } + if (this.monthstatic) { + str += this.monthstatic.createCommand(); + } + if (this.yearspin) { + str += this.yearspin.createCommand(); + } + if (this.monthspin) { + str += this.monthspin.createCommand(); + } + + return str; + }; + + _pDatePickerHeadControl.on_attach_contents_handle = function (win) { + var prevbutton = this.prevbutton; + var nextbutton = this.nextbutton; + var yearstatic = this.yearstatic; + var monthstatic = this.monthstatic; + var yearspin = this.yearspin; + var monthspin = this.monthspin; + + if (nexacro._isTouchInteraction && nexacro._SupportTouch) { + yearstatic._setEventHandler("onclick", this._on_static_mobile_onclick, this); + monthstatic._setEventHandler("onclick", this._on_static_mobile_onclick, this); + } + + yearstatic._setEventHandler("onlbuttondown", this._on_static_onlbuttondown, this); + monthstatic._setEventHandler("onlbuttondown", this._on_static_onlbuttondown, this); + prevbutton._setEventHandler("onclick", this._on_button_onprevclick, this); + nextbutton._setEventHandler("onclick", this._on_button_onnextclick, this); + yearspin._setEventHandler("onspin", this._on_spin_onspin, this); + monthspin._setEventHandler("onspin", this._on_spin_onspin, this); + yearspin._setEventHandler("onkeydown", this._on_spin_onkeydown, this); + monthspin._setEventHandler("onkeydown", this._on_spin_onkeydown, this); + + prevbutton.attachHandle(win); + nextbutton.attachHandle(win); + yearstatic.attachHandle(win); + monthstatic.attachHandle(win); + yearspin.attachHandle(win); + monthspin.attachHandle(win); + + yearspin.set_value(this._date.str_year); + monthspin.set_value(this._date.str_month); + + if (this.parent._is_popupcontains) { + yearspin._setEnableView(false); + monthspin._setEnableView(false); + } + }; + + _pDatePickerHeadControl.on_destroy_contents = function () { + this._date = null; + + if (this.prevbutton) { + this.prevbutton.destroy(); + this.prevbutton = null; + } + if (this.nextbutton) { + this.nextbutton.destroy(); + this.nextbutton = null; + } + if (this.yearstatic) { + this.yearstatic.destroy(); + this.yearstatic = null; + } + if (this.monthstatic) { + this.monthstatic.destroy(); + this.monthstatic = null; + } + if (this.yearspin) { + this.yearspin.destroy(); + this.yearspin = null; + } + if (this.monthspin) { + this.monthspin.destroy(); + this.monthspin = null; + } + }; + + _pDatePickerHeadControl.on_change_containerRect = function (widht, height) { + this._recalcLayout(); + }; + + _pDatePickerHeadControl.on_apply_prop_enable = function (v) { + if (this.prevbutton) { + this.prevbutton._setEnable(v); + } + if (this.nextbutton) { + this.nextbutton._setEnable(v); + } + if (this.yearstatic) { + this.yearstatic._setEnable(v); + } + if (this.monthstatic) { + this.monthstatic._setEnable(v); + } + if (this.yearspin) { + this.yearspin._setEnable(v); + } + if (this.monthspin) { + this.monthspin._setEnable(v); + } + }; + + _pDatePickerHeadControl.set_readonly = function (v) { + v = nexacro._toBoolean(v); + if (this.readonly != v) { + this.readonly = v; + this.on_apply_readonly(v); + } + }; + + _pDatePickerHeadControl.on_apply_readonly = function (readonly) { + this._changeStatus("readonly", readonly); + + var control_elem = this.getElement(); + if (control_elem) { + var yearspin = this.yearspin; + if (yearspin) { + yearspin.set_readonly(readonly); + } + var monthspin = this.monthspin; + if (monthspin) { + monthspin.set_readonly(readonly); + } + } + }; + + _pDatePickerHeadControl._on_static_mobile_onclick = function (obj, e) { + var yearstatic = this.yearstatic; + var monthstatic = this.monthstatic; + var yearspin = this.yearspin; + var monthspin = this.monthspin; + + var control_name = obj.name; + if (control_name == "yearstatic") { + yearstatic.set_visible(false); + yearspin.set_visible(true); + } + else if (control_name == "monthstatic") { + monthstatic.set_visible(false); + monthspin.set_visible(true); + } + }; + + _pDatePickerHeadControl._on_static_onlbuttondown = function (obj, e) { + var yearstatic = this.yearstatic; + var monthstatic = this.monthstatic; + var yearspin = this.yearspin; + var monthspin = this.monthspin; + + var comp_name = obj.name; + if (comp_name == "yearstatic") { + yearstatic.set_visible(false); + yearspin.set_visible(true); + } + else if (comp_name == "monthstatic") { + monthstatic.set_visible(false); + monthspin.set_visible(true); + } + }; + + _pDatePickerHeadControl._on_button_onprevclick = function (obj, e) { + if (!this.enable || this.readonly) { + return false; + } + + var year = this._date.int_year; + var month = this._date.int_month; + if ((month -= 1) <= 0) { + month = 12; + if ((year -= 1) < 0) { + year = 9999; + } + } + + this._setDate(year, month); + this._refreshSpindate(); + + this.on_fire_onclick(e.button, e.alt_key, e.ctrl_key, e.shift_key, e.screenX, e.screenY, e.canvasX, e.canvasY, e.clientX, e.clientY, this, obj); + }; + + _pDatePickerHeadControl._on_button_onnextclick = function (obj, e) { + if (!this.enable || this.readonly) { + return false; + } + + var year = this._date.int_year; + var month = this._date.int_month; + if ((month += 1) > 12) { + month = 1; + if ((year += 1) > 9999) { + year = 0; + } + } + + this._setDate(year, month); + this._refreshSpindate(); + + this.on_fire_onclick(e.button, e.alt_key, e.ctrl_key, e.shift_key, e.screenX, e.screenY, e.canvasX, e.canvasY, e.clientX, e.clientY, this, obj); + }; + + _pDatePickerHeadControl._on_spin_onspin = function (obj, e) { + var v = nexacro._toString(e.postvalue); + + var year = this._date.str_year; + var month = this._date.str_month; + + var control_name = obj.name; + if (control_name == "yearspin") { + year = v; + } + else if (control_name == "monthspin") { + month = v; + } + + this._setDate(year, month); + this.on_fire_onspin(obj, e); + }; + + _pDatePickerHeadControl._on_spin_onkeydown = function (obj, e) { + if (e.keycode == nexacro.Event.KEY_ENTER) { + var year = this._date.str_year; + var month = this._date.str_month; + + var control_name = obj.name; + if (control_name == "yearspin") { + year = obj.text; + } + else if (control_name == "monthspin") { + month = obj.text; + } + + this._setDate(year, month); + this.on_fire_onspin(obj, e); + } + }; + + _pDatePickerHeadControl.on_fire_onspin = function (obj, preText, preValue, postText, postValue, isUp) { + if (this.onspin && this.onspin._has_handlers) { + var evt = new nexacro.SpinEventInfo(obj, "onspin", preText, preValue, postText, postValue, isUp); + return this.onspin._fireEvent(this, evt); + } + return true; + }; + + _pDatePickerHeadControl._refreshSpindate = function () { + var yearstatic = this.yearstatic; + var monthstatic = this.monthstatic; + var yearspin = this.yearspin; + var monthspin = this.monthspin; + if (yearstatic || monthstatic) { + var bShowyear = this._getShowyearspin(); + var bShowmonth = this._getShowmonthspin(); + if (bShowyear) { + if (bShowmonth) { + yearstatic.set_visible(false); + monthstatic.set_visible(false); + yearspin.set_visible(true); + monthspin.set_visible(true); + } + else { + yearstatic.set_visible(false); + monthstatic.set_visible(true); + yearspin.set_visible(true); + monthspin.set_visible(false); + } + } + else { + if (bShowmonth) { + yearstatic.set_visible(true); + monthstatic.set_visible(false); + yearspin.set_visible(false); + monthspin.set_visible(true); + } + else { + yearstatic.set_visible(true); + monthstatic.set_visible(true); + yearspin.set_visible(false); + monthspin.set_visible(false); + } + } + } + }; + + _pDatePickerHeadControl._recalcLayout = function () { + if (this._is_created_contents) { + var headformat = this._getHeadformat(); + + var client_w = this._getClientWidth(); + var client_h = this._getClientHeight(); + + var year_size = 0, year_l = 0, year_w = 0; + var month_size = 0, month_l = 0, month_w = 0; + + var prevbutton = this.prevbutton; + if (prevbutton) { + prevbutton.move(0, 0, client_h, client_h, null, null); + } + + var nextbutton = this.nextbutton; + if (nextbutton) { + nextbutton.move(client_w - client_h, 0, client_h, client_h, null, null); + } + + var yearstatic = this.yearstatic; + if (yearstatic) { + year_size = yearstatic._on_getFitSize(); + year_w = year_size[0]; + } + + var monthstatic = this.monthstatic; + if (monthstatic) { + month_size = monthstatic._on_getFitSize(); + month_w = month_size[0]; + } + + var offset_x = ((client_w / 2) - ((year_w + month_w) / 2)); + + if (headformat == "MM.yyyy") { + month_l = offset_x; + year_l = offset_x + month_w; + } + else { + year_l = offset_x; + month_l = offset_x + year_w; + } + + if (yearstatic) { + yearstatic.move(year_l, 0, year_w, client_h, null, null); + } + + if (monthstatic) { + monthstatic.move(month_l, 0, month_w, client_h, null, null); + } + + var yearspin = this.yearspin; + if (yearspin) { + year_size = this._getSpinControlSize("year"); + year_w = year_size + client_h; + } + + var monthspin = this.monthspin; + if (monthspin) { + month_size = this._getSpinControlSize("month"); + month_w = month_size + client_h; + } + + offset_x = ((client_w / 2) - ((year_w + month_w) / 2)); + + if (headformat == "MM.yyyy") { + month_l = offset_x; + year_l = offset_x + month_w; + } + else { + year_l = offset_x; + month_l = offset_x + year_w; + } + + if (yearspin) { + yearspin.move(year_l, 0, year_w, client_h, null, null); + } + + if (monthspin) { + monthspin.move(month_l, 0, month_w, client_h, null, null); + } + } + }; + + _pDatePickerHeadControl._on_beforerepeat = function (refer_comp) { + if (refer_comp == this.prevbutton || refer_comp == this.nextbutton || refer_comp instanceof nexacro._SpinButtonControl) { + return [true, true]; + } + + return [false, true]; + }; + + _pDatePickerHeadControl._setDate = function (year, month) { + var date = this._date; + if (date) { + date.str_year = nexacro._toString(year).padLeft(4, "0"); + date.str_month = nexacro._toString(month).padLeft(2, "0"); + date.int_year = +year; + date.int_month = +month; + } + + var yearstatic = this.yearstatic; + var yearspin = this.yearspin; + var monthstatic = this.monthstatic; + var monthspin = this.monthspin; + + if (this._getHeadformat() == "MM.yyyy") { + yearstatic.set_text(date.str_year); + monthstatic.set_text(date.str_month + "."); + } + else { + yearstatic.set_text(date.str_year + "."); + monthstatic.set_text(date.str_month); + } + + yearspin.set_value(date.str_year); + monthspin.set_value(date.str_month); + }; + + _pDatePickerHeadControl._getHeadheight = function () { + var datepicker = this.parent; + if (datepicker) { + return datepicker._getHeadheight(); + } + + return null; + }; + + _pDatePickerHeadControl._getHeadformat = function () { + var datepicker = this.parent; + if (datepicker) { + return datepicker._getHeadformat(); + } + + return null; + }; + + _pDatePickerHeadControl._getShowyearspin = function () { + var calendar = this.parent; + if (calendar) { + return calendar._getShowyearspin(); + } + + return null; + }; + + _pDatePickerHeadControl._getShowmonthspin = function () { + var datepicker = this.parent; + if (datepicker) { + return datepicker._getShowmonthspin(); + } + + return null; + }; + + _pDatePickerHeadControl._getSpinControlSize = function (type) { + var control; + switch (type) { + case "year": + control = this.yearspin; + break; + case "month": + control = this.monthspin; + break; + } + + var total_w = 0; + if (control) { + var border = control._getCurrentStyleBorder(); + if (border) { + total_w += border._getBorderWidth(); + } + + var padding = control._getCurrentStylePadding(); + if (padding) { + total_w += padding.left + padding.right; + } + + var spinedit = control.spinedit; + if (spinedit) { + var tmp = spinedit.text; + if (tmp.length == 1) { + spinedit.text += ".0"; + } + else { + spinedit.text += "."; + } + total_w += spinedit._on_getFitSize()[0]; + spinedit.text = tmp; + } + } + + return total_w; + }; + + nexacro._DatePickerBodyControl = function (id, left, top, width, height, right, bottom, minwidth, maxwidth, minheight, maxheight, parent) { + nexacro.Component.call(this, id, left, top, width, height, right, bottom, minwidth, maxwidth, minheight, maxheight, parent); + + this._weekitems = []; + this._dayitems = []; + this._changedDays = []; + + this._date = { + str_year : "", + str_month : "", + str_day : "", + int_year : 0, + int_month : 0, + int_day : 0 + }; + }; + + var _pDatePickerBodyControl = nexacro._createPrototype(nexacro.Component, nexacro._DatePickerBodyControl); + nexacro._DatePickerBodyControl.prototype = _pDatePickerBodyControl; + _pDatePickerBodyControl._type_name = "DatePickerBodyControl"; + + + _pDatePickerBodyControl.weekband = null; + + + _pDatePickerBodyControl._preday = ""; + _pDatePickerBodyControl._maxWeek = 7; + _pDatePickerBodyControl._maxDay = 42; + + + _pDatePickerBodyControl._is_subcontrol = true; + _pDatePickerBodyControl._use_readonly_status = true; + _pDatePickerBodyControl._is_locale_control = true; + + + _pDatePickerBodyControl._event_list = { + "onclick" : 1, + "ondayclick" : 1, + "onkeydown" : 1 + }; + + _pDatePickerBodyControl.on_create_contents = function () { + var control_elem = this.getElement(); + if (control_elem) { + var weekband = this.weekband = new nexacro.Static("weekband", 0, 0, 0, 0, null, null, null, null, null, null, this); + weekband._setControl(); + weekband.createComponent(true); + + var weekformat = this._getWeekformat(); + var weeks = this._weekitems; + var days = this._dayitems; + var maxWeek = this._maxWeek; + var maxDay = this._maxDay; + var weekstatic, daystatic; + for (var i = 0; i < maxWeek; i++) { + weekstatic = weeks[i] = new nexacro._DatePickerWeekItemControl("weekitem" + i, 0, 0, 0, 0, null, null, null, null, null, null, this); + weekstatic.set_text(weekformat[i]); + weekstatic._setDaysOfWeek(i % 7); + + weekstatic.createComponent(true); + } + + for (i = 0; i < maxDay; i++) { + daystatic = days[i] = new nexacro._DatePickerDayItemControl("dayitem" + i, 0, 0, 0, 0, null, null, null, null, null, null, this); + daystatic._setDaysOfWeek(i % 7); + + daystatic.createComponent(true); + } + } + }; + + _pDatePickerBodyControl.on_created_contents = function (win) { + var control_elem = this.getElement(); + if (control_elem) { + var weeks = this._weekitems; + var days = this._dayitems; + var maxWeek = this._maxWeek; + var maxDay = this._maxDay; + + this.weekband.on_created(win); + + for (var i = 0; i < maxWeek; i++) { + weeks[i].on_created(win); + } + for (i = 0; i < maxDay; i++) { + days[i]._setEventHandler("onclick", this._on_dayitem_ondayclick, this); + days[i].on_created(win); + } + } + }; + + _pDatePickerBodyControl.on_create_contents_command = function () { + var weekband = this.weekband; + var weeks = this._weekitems; + var days = this._dayitems; + var maxWeek = this._maxWeek; + var maxDay = this._maxDay; + + var str = ""; + str += weekband.createCommand(); + for (var i = 0; i < maxWeek; i++) { + str += weeks[i].createCommand(); + } + + for (i = 0; i < maxDay; i++) { + str += days[i].createCommand(); + } + + return str; + }; + + _pDatePickerBodyControl.on_attach_contents_handle = function (win) { + var weekband = this.weekband; + var weeks = this._weekitems; + var days = this._dayitems; + var maxWeek = this._maxWeek; + var maxDay = this._maxDay; + + weekband.attachHandle(win); + + for (var i = 0; i < maxWeek; i++) { + weeks[i].attachHandle(win); + } + for (i = 0; i < maxDay; i++) { + days[i]._setEventHandler("onclick", this._on_dayitem_ondayclick, this); + days[i].attachHandle(win); + } + }; + + _pDatePickerBodyControl.on_destroy_contents = function () { + if (this.weekband) { + this.weekband.destroy(); + this.weekband = null; + } + + var weeks = this._weekitems; + var days = this._dayitems; + var maxWeek = this._maxWeek; + var maxDay = this._maxDay; + + for (var i = 0; i < maxWeek; i++) { + weeks[i].destroy(); + } + + for (i = 0; i < maxDay; i++) { + days[i].destroy(); + } + + this._weekitems = null; + this._dayitems = null; + this._changedDays = null; + this._date = null; + }; + + _pDatePickerBodyControl.on_change_containerRect = function (width, height) { + this._recalcLayout(); + }; + + _pDatePickerBodyControl.on_apply_prop_enable = function (enable) { + var i; + var weeks = this._weekitems; + var days = this._dayitems; + var maxWeek = this._maxWeek; + var maxDay = this._maxDay; + + if (this.weekband) { + this.weekband._setEnable(enable); + } + + for (i = 0; i < maxWeek; i++) { + weeks[i]._setEnable(enable); + } + + for (i = 0; i < maxDay; i++) { + days[i]._setEnable(enable); + } + }; + + _pDatePickerBodyControl.set_readonly = function (v) { + v = nexacro._toBoolean(v); + if (this.readonly != v) { + this.readonly = v; + this.on_apply_readonly(v); + } + }; + + _pDatePickerBodyControl.on_apply_readonly = function (readonly) { + this._changeStatus("readonly", readonly); + + var weeks = this._weekitems; + var days = this._dayitems; + var maxWeek = this._maxWeek; + var maxDay = this._maxDay; + + for (var i = 0; i < maxWeek; i++) { + weeks[i].set_readonly(readonly); + } + + for (i = 0; i < maxDay; i++) { + days[i].set_readonly(readonly); + } + }; + + _pDatePickerBodyControl._on_dayitem_ondayclick = function (obj, e) { + this.on_fire_ondayclick(obj, e); + }; + + _pDatePickerBodyControl.on_fire_ondayclick = function (obj, e) { + if (this.ondayclick && this.ondayclick._has_handlers) { + return this.ondayclick._fireEvent(this, e); + } + return false; + }; + + _pDatePickerBodyControl._recalcLayout = function () { + if (this._is_created_contents) { + var weeks = this._weekitems; + var days = this._dayitems; + var maxWeek = this._maxWeek; + var maxDay = this._maxDay; + + var client_w = this._getClientWidth(); + var client_h = this._getClientHeight(); + var client_l = this._getClientLeft(); + var client_t = this._getClientTop(); + + var daysize = this._getDaysize(); + + var item_w = daysize.width; + var item_h = daysize.height; + + var drawWidth_daysize = item_w * 7; + var drawHeight_daysize = item_h * 7; + + var blankWidth = 0; + var blankHeight = 0; + if (drawWidth_daysize < client_w) { + blankWidth = (client_w - drawWidth_daysize) / 14; + } + if (drawHeight_daysize < client_h) { + blankHeight = (client_h - drawHeight_daysize) / 8; + } + + var week_l = client_l + blankWidth; + var week_t = client_t + (blankHeight / 2); + + this.weekband.move(client_l, week_t, client_w, item_h, null, null); + var i; + for (i = 0; i < maxWeek; i++) { + weeks[i].move(week_l, week_t, item_w, item_h, null, null); + week_l = week_l + item_w + (blankWidth * 2); + } + + var day_l = client_l + blankWidth; + var day_t = week_t + item_h + blankHeight; + for (i = 0; i < maxDay; i++) { + days[i].move(day_l, day_t, item_w, item_h, null, null); + day_l = day_l + item_w + (blankWidth * 2); + if (((i + 1) % 7) == 0) { + day_l = client_l + blankWidth; + day_t = day_t + item_h + blankHeight; + } + } + } + }; + + _pDatePickerBodyControl._refreshDay = function () { + var day, control_elem = this.getElement(); + if (control_elem) { + var dayInfo = { + }; + var trailingdayinfo = { + }; + + var date = this._date; + var year = date.int_year; + var month = date.int_month; + day = date.int_day; + + var tempDate = new Date(year, month - 1, 1); + + if (year < 100) { + tempDate.setFullYear(year); + } + + var N = nexacro.Calendar.EndDayNormal; + var L = nexacro.Calendar.EndDayLeap; + + var firstDay = tempDate.getDay(); + var endDay = this._getLeapYear(year) ? L[month - 1] : N[month - 1]; + + var usetrailingday = this._getUsetrailingday(); + if (usetrailingday) { + trailingdayinfo = this._getUseTrailingDayInfo(year, month, tempDate, endDay); + } + + var days = this._dayitems; + var maxDay = this._maxDay; + var dayCount = 1; + var daysofweek = -1; + + for (var i = 0; i < maxDay; i++) { + if (firstDay <= i && endDay >= dayCount) { + dayInfo = this._getDayInfo(dayCount, false, true, year, month); + + this._setDayItemInfo(days[i], dayInfo.text, dayInfo.visible, dayInfo.year, dayInfo.month, dayInfo.trailingday); + + daysofweek = i % 7; + if (daysofweek == 0) { + days[i]._changeUserStatus("sunday", true); + } + else if (daysofweek == 6) { + days[i]._changeUserStatus("saturday", true); + } + else { + if (this._isToday(dayInfo.day)) { + days[i]._changeUserStatus("today", true); + } + else { + days[i]._changeUserStatus("day", true); + } + } + + dayCount++; + } + else { + if (usetrailingday) { + if (trailingdayinfo.idx >= 0) { + dayInfo = this._getDayInfo(trailingdayinfo.pre_endDay - trailingdayinfo.idx, true, true, trailingdayinfo.prev_year, trailingdayinfo.prev_month); + trailingdayinfo.idx--; + } + else { + dayInfo = this._getDayInfo(trailingdayinfo.next_beginDay, true, true, trailingdayinfo.next_year, trailingdayinfo.next_month); + trailingdayinfo.next_beginDay++; + trailingdayinfo.endWeek++; + } + + this._setDayItemInfo(days[i], dayInfo.text, dayInfo.visible, dayInfo.year, dayInfo.month, dayInfo.trailingday); + + days[i]._changeUserStatus("trailingday", true); + } + else { + dayInfo = this._getDayInfo("", false, false, "", ""); + this._setDayItemInfo(days[i], dayInfo.text, dayInfo.visible, dayInfo.year, dayInfo.month, dayInfo.trailingday); + } + } + } + } + + this._initChangedDays(); + + var dataset = this._getInnerDataset(); + if (dataset) { + this._setDatasetStyle(dataset); + } + + if (this._isSelectedDay(day)) { + this._on_apply_day(true); + } + else { + this._on_apply_day(false); + } + + this._setCalendarAccessibility(); + }; + + _pDatePickerBodyControl._on_apply_day = function (flag) { + var preDay = this._preday; + var currDay = this._date.str_day; + var predayObj = this._getDayItem(preDay); + var dayObj = this._getDayItem(currDay); + + this._preday = currDay; + + if (predayObj) { + predayObj._changeUserStatus("selected", false); + if (predayObj._daysofweek == 6) { + predayObj._changeUserStatus("saturday", true); + } + else if (predayObj._daysofweek == 0) { + predayObj._changeUserStatus("sunday", true); + } + else { + predayObj._changeUserStatus("day", true); + } + } + + if (dayObj) { + if (flag) { + dayObj._changeUserStatus("selected", true); + } + else { + dayObj._changeUserStatus("selected", false); + if (dayObj._daysofweek == 6) { + dayObj._changeUserStatus("saturday", true); + } + else if (dayObj._daysofweek == 0) { + dayObj._changeUserStatus("sunday", true); + } + else { + dayObj._changeUserStatus("day", true); + } + } + } + + var currtDate = new Date(); + var today = currtDate.getDate(); + + if (this._isToday(today)) { + today = nexacro._toString(today).padLeft(2, "0"); + var todayObj = this._getDayItem(today); + + if (flag) { + if (todayObj != dayObj) { + todayObj._changeUserStatus("today", true); + } + } + else { + todayObj._changeUserStatus("today", true); + } + } + }; + + _pDatePickerBodyControl._initChangedDays = function () { + var len = this._changedDays.length; + for (var i = (len - 1); i >= 0; i--) { + this._changedDays[i].set_background(null); + this._changedDays[i].set_color(null); + this._changedDays[i].set_border(null); + + this._changedDays.pop(); + } + }; + + _pDatePickerBodyControl._setDate = function (year, month, day) { + var date = this._date; + if (date.str_year != (year = year.padLeft(4, "0"))) { + date.str_year = year; + date.int_year = +year; + } + if (date.str_month != (month = month.padLeft(2, "0"))) { + date.str_month = month; + date.int_month = +month; + } + if (date.str_day != (day = day.padLeft(2, "0"))) { + this._preday = date.str_day; + date.str_day = day; + date.int_day = +day; + } + + this._refreshDay(); + }; + + _pDatePickerBodyControl._setDayItemInfo = function (day, text, visible, year, month, trailingday) { + day.set_text(text); + day.set_wordWrap("none"); + day.set_visible(visible); + + day._year = year; + day._month = month; + day._trailingday = trailingday; + }; + + _pDatePickerBodyControl._setWeekformatText = function () { + var control_elem = this.getElement(); + if (control_elem) { + var weekformat = this._getWeekformat(); + var weeks = this._weekitems; + var weeks_len = weeks.length; + + for (var i = 0; i < weeks_len; i++) { + weeks[i].set_text(weekformat[i]); + } + } + }; + + _pDatePickerBodyControl._setDatasetStyle = function (ds) { + var day_item, date; + var day_items = this._dayitems; + var maxDay = this._maxDay; + var cols = this._getInnerDatasetColumns(); + var background, border, color; + + var rowCount = ds.getRowCount(); + for (var i = 0; i < rowCount; i++) { + date = ds.getColumn(i, cols.datecolumn); + + for (var j = 0; j < maxDay; j++) { + day_item = day_items[j]; + var currDate = day_item._year + day_item._month + day_item.text.padLeft(2, "0"); + if (currDate == date) { + background = ds.getColumn(i, cols.backgroundcolumn); + border = ds.getColumn(i, cols.bordercolumn); + color = ds.getColumn(i, cols.textcolorcolumn); + + if (background) { + day_item.set_background(background); + } + if (border) { + day_item.set_border(border); + } + if (color) { + day_item.set_color(color); + } + this._changedDays[this._changedDays.length] = day_item; + } + } + } + }; + + _pDatePickerBodyControl._getLeapYear = function (year) { + if ((year % 4) == 0 && (year % 100) != 0 || (year % 400) == 0) { + return true; + } + + return false; + }; + + _pDatePickerBodyControl._getCurrentDate = function () { + var datepicker = this.parent; + if (datepicker) { + return datepicker._getCurrentDate(); + } + + return; + }; + + _pDatePickerBodyControl._getWeekformat = function () { + var datepicker = this.parent; + if (datepicker) { + var format = datepicker._getWeekformat(); + if (format) { + if (format === " ") { + return [" ", " ", " ", " ", " ", " ", " "]; + } + else { + return format.split(/\s+/); + } + } + else { + var locale = this._getLocale(); + var locale_info = nexacro.Locale.getLocaleInfo(locale); + return locale_info.weekday_names_short; + } + } + + return null; + }; + + _pDatePickerBodyControl._getDaysize = function () { + var width = 0; + var height = 0; + + var datepicker = this.parent; + if (datepicker) { + var size = datepicker._getDaysize(); + if (!size) { + size = (this._getClientWidth() / 7) + " " + (this._getClientHeight() / 7); + } + + size = size.split(/\s+/); + + width = +size[0]; + height = size[1] ? +size[1] : width; + } + + return { + width : width, + height : height + }; + }; + + _pDatePickerBodyControl._getDayInfo = function (text, trailingday, visible, year, month) { + year = nexacro._toString(year); + year = year ? year.padLeft(4, "0") : ""; + + month = nexacro._toString(month); + month = month ? month.padLeft(2, "0") : ""; + + var day = nexacro._toString(text); + day = day ? day.padLeft(2, "0") : ""; + + return { + text : text, + trailingday : trailingday, + visible : visible, + year : year, + month : month, + day : day + }; + }; + + _pDatePickerBodyControl._getDayItem = function (day) { + if (day == -1) { + return null; + } + + var days = this._dayitems; + var maxDay = this._maxDay; + for (var i = 0; i < maxDay; i++) { + if (!days[i]._trailingday && day == days[i].text.padLeft(2, "0")) { + return days[i]; + } + } + + return null; + }; + + _pDatePickerBodyControl._getUsetrailingday = function () { + var datepicker = this.parent; + if (datepicker) { + return datepicker._getUsetrailingday(); + } + + return null; + }; + + _pDatePickerBodyControl._getUseTrailingDayInfo = function (year, month, dateObj, endDay) { + var prev_year = year; + var next_year = year; + var prev_month = month; + var next_month = month; + + if (month == 1) { + prev_year -= 1; + prev_month = 12; + + next_month += 1; + } + else { + prev_month -= 1; + if (month == 12) { + next_year += 1; + next_month = 1; + } + else { + next_month += 1; + } + } + + var idx = dateObj.getDay() - 1; + + dateObj.setDate(endDay); + var endWeek = dateObj.getDay(); + + var N = nexacro.Calendar.EndDayNormal; + var L = nexacro.Calendar.EndDayLeap; + + var is_pre_leapyear = this._getLeapYear(prev_year); + var pre_endDay = is_pre_leapyear ? L[prev_month - 1] : N[prev_month - 1]; + var next_beginDay = 1; + + return { + prev_year : prev_year, + next_year : next_year, + prev_month : prev_month, + next_month : next_month, + endWeek : endWeek, + idx : idx, + pre_endDay : pre_endDay, + next_beginDay : next_beginDay + }; + }; + + _pDatePickerBodyControl._getInnerDataset = function () { + var datepicker = this.parent; + if (datepicker) { + return datepicker._getInnerDataset(); + } + return null; + }; + + _pDatePickerBodyControl._getInnerDatasetColumns = function () { + var datepicker = this.parent; + if (datepicker) { + var background = datepicker._getBackgroundcolumn(); + var border = datepicker._getBordercolumn(); + var date = datepicker._getDatecolumn(); + var textcolor = datepicker._getTextcolorcolumn(); + + return { + backgroundcolumn : background, + bordercolumn : border, + datecolumn : date, + textcolorcolumn : textcolor + }; + } + + return null; + }; + + _pDatePickerBodyControl._isToday = function (v) { + var year = this._date.int_year; + var month = this._date.int_month; + var day = parseInt(v, 10); + var currDate = this._getCurrentDate(); + + if (year == currDate.year && month == currDate.month && day == currDate.day) { + return true; + } + + return false; + }; + + _pDatePickerBodyControl._isSelectedDay = function (v) { + v = parseInt(v, 10); + var year = this._date.int_year; + var month = this._date.int_month; + if (year == this.parent._selected_year && month == this.parent._selected_month && v == this.parent._selected_day) { + return true; + } + return false; + }; + + _pDatePickerBodyControl._setCalendarAccessibility = function () { + if (nexacro._enableaccessibility) { + var calendar = this.parent.parent; + var date = this._date; + var cal_value = date.str_year + date.str_month + date.str_day; + var accessibility_value = calendar._masktypeobj.applyMask(cal_value); + this.parent._setAccessibilityLabel(accessibility_value); + this._setAccessibilityLabel(accessibility_value); + nexacro._notifyAccessibilityValue(this._control_element, accessibility_value, "daychange"); + } + }; + _pDatePickerBodyControl.on_get_accessibility_label = function () { + var date = this._date; + var cal_value = date.str_year + date.str_month + date.str_day; + return cal_value; + }; + + delete _pDatePickerBodyControl; + + nexacro._DatePickerDayItemControl = function (id, left, top, width, height, right, bottom, minwidth, maxwidth, minheight, maxheight, parent) { + nexacro.Button.call(this, id, left, top, width, height, right, bottom, minwidth, maxwidth, minheight, maxheight, parent); + + this._flag_dataset = -1; + this._dataset_background = ""; + this._refObj = parent.parent; + }; + + var _pDatePickerDayItemControl = nexacro._createPrototype(nexacro.Button, nexacro._DatePickerDayItemControl); + nexacro._DatePickerDayItemControl.prototype = _pDatePickerDayItemControl; + _pDatePickerDayItemControl._type_name = "DatePickerDayItemControl"; + _pDatePickerDayItemControl._is_subcontrol = true; + _pDatePickerDayItemControl.accessibilityrole = "gridcell"; + + _pDatePickerDayItemControl._trailingday = false; + + _pDatePickerDayItemControl._year = ""; + _pDatePickerDayItemControl._month = ""; + + _pDatePickerDayItemControl._daysofweek = -1; + + _pDatePickerDayItemControl._use_readonly_status = true; + + _pDatePickerDayItemControl.set_readonly = function (v) { + v = nexacro._toBoolean(v); + if (v != this.readonly) { + this.readonly = v; + this.on_apply_readonly(); + } + }; + + _pDatePickerDayItemControl.on_apply_readonly = function () { + var v = this.readonly; + + this._changeStatus("readonly", v); + }; + + _pDatePickerDayItemControl._setDaysOfWeek = function (daysofweek) { + if (this._daysofweek != daysofweek) { + this._daysofweek = daysofweek; + this._on_apply_daysofweek(daysofweek); + } + }; + + _pDatePickerDayItemControl._on_apply_daysofweek = function (v) { + var text = v; + if (text && text.length > 0) { + if (this.trailingday) { + this._changeUserStatus("trailingday", true); + } + else if (this.parent._isSelectedDay(text)) { + this._changeUserStatus("selected", true); + } + else if (this.parent._isToday(text)) { + this._changeUserStatus("today", true); + } + else if (this._daysofweek == 6) { + this._changeUserStatus("saturday", true); + } + else if (this._daysofweek == 0) { + this._changeUserStatus("sunday", true); + } + } + }; + + _pDatePickerDayItemControl.on_changeUserStatus = function (changestatus, value, applyuserstatus, currentstatus, currentuserstatus) { + if (value) { + return changestatus; + } + else { + return applyuserstatus; + } + }; + + _pDatePickerDayItemControl.on_getIDCSSSelector = function () { + return "dayitem"; + }; + + _pDatePickerDayItemControl.on_keydown_basic_action = function () { + if (nexacro._enableaccessibility) { + nexacro.Button.prototype.on_apply_accessibility.call(this); + } + }; + + delete _pDatePickerDayItemControl; + + nexacro._DatePickerWeekItemControl = function (id, left, top, width, height, right, bottom, minwidth, maxwidth, minheight, maxheight, parent) { + nexacro.Static.call(this, id, left, top, width, height, right, bottom, minwidth, maxwidth, minheight, maxheight, parent); + this._refObj = parent.parent; + }; + + var _pDatePickerWeekItemControl = nexacro._createPrototype(nexacro.Static, nexacro._DatePickerWeekItemControl); + nexacro._DatePickerWeekItemControl.prototype = _pDatePickerWeekItemControl; + _pDatePickerWeekItemControl._type_name = "DatePickerWeekItemControl"; + _pDatePickerWeekItemControl._is_subcontrol = true; + _pDatePickerWeekItemControl._daysofweek = -1; + + _pDatePickerWeekItemControl._use_readonly_status = true; + + _pDatePickerWeekItemControl.set_readonly = function (v) { + v = nexacro._toBoolean(v); + if (v != this.readonly) { + this.readonly = v; + this.on_apply_readonly(); + } + }; + + _pDatePickerWeekItemControl.on_apply_readonly = function () { + var v = this.readonly; + + this._changeStatus("readonly", v); + }; + + _pDatePickerWeekItemControl._setDaysOfWeek = function (daysofweek) { + if (this._daysofweek != daysofweek) { + this._daysofweek = daysofweek; + this._on_apply_daysofweek(daysofweek); + } + }; + + _pDatePickerWeekItemControl._on_apply_daysofweek = function (v) { + if (v == 0) { + this._changeUserStatus("sunday", true); + } + else if (v == 6) { + this._changeUserStatus("saturday", true); + } + }; + + _pDatePickerWeekItemControl.on_changeUserStatus = function (changestatus, value, applyuserstatus, currentstatus, currentuserstatus) { + return changestatus; + }; + + _pDatePickerWeekItemControl.on_getIDCSSSelector = function () { + return "weekitem"; + }; + + delete _pDatePickerWeekItemControl; + + nexacro._YearSpinControl = function (id, left, top, width, height, right, bottom, minwidth, maxwidth, minheight, maxheight, parent) { + nexacro.Spin.call(this, id, left, top, width, height, right, bottom, minwidth, maxwidth, minheight, maxheight, parent); + }; + + var _pYearSpinControl = nexacro._createPrototype(nexacro.Spin, nexacro._YearSpinControl); + nexacro._YearSpinControl.prototype = _pYearSpinControl; + _pYearSpinControl._type_name = "Spin"; + _pYearSpinControl._default_mask = "9999"; + _pYearSpinControl._is_subcontrol = true; + + _pYearSpinControl.on_create_contents = function () { + var control = this.getElement(); + if (control) { + var spinedit = this.spinedit = new nexacro._SpinEditControl("spinedit", 0, 0, 0, 0, null, null, null, null, null, null, this); + var spinupbutton = this.spinupbutton = new nexacro._SpinButtonControl("spinupbutton", 0, 0, 0, 0, null, null, null, null, null, null, this); + var spindownbutton = this.spindownbutton = new nexacro._SpinButtonControl("spindownbutton", 0, 0, 0, 0, null, null, null, null, null, null, this); + spinedit.set_limitbymask("both"); + + spinedit.createComponent(true); + spinupbutton.createComponent(true); + spindownbutton.createComponent(true); + } + }; + + _pYearSpinControl = null; + + + nexacro._MonthSpinControl = function (id, left, top, width, height, right, bottom, minwidth, maxwidth, minheight, maxheight, parent) { + nexacro.Spin.call(this, id, left, top, width, height, right, bottom, minwidth, maxwidth, minheight, maxheight, parent); + }; + + var _pMonthSpinControl = nexacro._createPrototype(nexacro.Spin, nexacro._MonthSpinControl); + nexacro._MonthSpinControl.prototype = _pMonthSpinControl; + _pMonthSpinControl._type_name = "Spin"; + _pMonthSpinControl._is_subcontrol = true; + _pMonthSpinControl._default_mask = "99"; + + _pMonthSpinControl.on_create_contents = function () { + var control = this.getElement(); + if (control) { + var spinedit = this.spinedit = new nexacro._SpinEditControl("spinedit", 0, 0, 0, 0, null, null, null, null, null, null, this); + var spinupbutton = this.spinupbutton = new nexacro._SpinButtonControl("spinupbutton", 0, 0, 0, 0, null, null, null, null, null, null, this); + var spindownbutton = this.spindownbutton = new nexacro._SpinButtonControl("spindownbutton", 0, 0, 0, 0, null, null, null, null, null, null, this); + spinedit.set_limitbymask("both"); + + spinedit.createComponent(true); + spinupbutton.createComponent(true); + spindownbutton.createComponent(true); + } + }; + + _pMonthSpinControl = null; +} diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/nexacro17lib/component/ComComp/Div.js b/nexacro-spring/src/main/webapp/deploy/_web_/nexacro17lib/component/ComComp/Div.js new file mode 100644 index 0000000..38cdc34 --- /dev/null +++ b/nexacro-spring/src/main/webapp/deploy/_web_/nexacro17lib/component/ComComp/Div.js @@ -0,0 +1,814 @@ +//============================================================================== +// +// TOBESOFT Co., Ltd. +// Copyright 2017 TOBESOFT Co., Ltd. +// All Rights Reserved. +// +// NOTICE: TOBESOFT permits you to use, modify, and distribute this file +// in accordance with the terms of the license agreement accompanying it. +// +// Readme URL: http://www.nexacro.co.kr/legal/nexacro17-public-license-readme-1.1.html +// +//============================================================================== + +if (!nexacro.Div) { + nexacro.Div = function (id, left, top, width, height, right, bottom, minwidth, maxwidth, minheight, maxheight, parent) { + nexacro.Component.call(this, id, left, top, width, height, right, bottom, minwidth, maxwidth, minheight, maxheight, parent); + + this.form = new nexacro._InnerForm("form", 0, 0, width, height, null, null, null, null, null, null, this); + }; + + var _pDiv = nexacro._createPrototype(nexacro.Component, nexacro.Div); + nexacro.Div.prototype = _pDiv; + _pDiv._type_name = "Div"; + + + _pDiv._cell_elem = null; + + + _pDiv.async = true; + _pDiv.url = ""; + _pDiv.urlchangeeffect = ""; + _pDiv.text = ""; + _pDiv.textAlign = "center"; + _pDiv.verticalAlign = "middle"; + + _pDiv.formscrollbarbarminsize = undefined; + _pDiv.formscrollbarbaroutsize = undefined; + _pDiv.formscrollbardecbuttonsize = undefined; + _pDiv.formscrollbarincbuttonsize = undefined; + _pDiv.formscrollbarsize = undefined; + _pDiv.formscrollbartrackbarsize = undefined; + _pDiv.formscrollbartype = undefined; + _pDiv.formscrollindicatorsize = undefined; + _pDiv.formscrolltype = undefined; + + + _pDiv._urlchangeeffect = null; + _pDiv._is_loadedform = false; + + + _pDiv._apply_client_padding = false; + _pDiv._is_simple_control = true; + _pDiv._is_container = true; + + + _pDiv.accessibilityrole = "form"; + + _pDiv._event_list = { + "onclick" : 1, + "ondblclick" : 1, + "onkillfocus" : 1, + "onsetfocus" : 1, + "onkeypress" : 1, + "onkeydown" : 1, + "onkeyup" : 1, + "onlbuttondown" : 1, + "onlbuttonup" : 1, + "onrbuttondown" : 1, + "onrbuttonup" : 1, + "onmouseenter" : 1, + "onmouseleave" : 1, + "onmousemove" : 1, + "onmousewheel" : 1, + "ondrag" : 1, + "ondragenter" : 1, + "ondragleave" : 1, + "ondragmove" : 1, + "ondrop" : 1, + "onmove" : 1, + "onsize" : 1, + "oncontextmenu" : 1, + "onvscroll" : 1, + "onhscroll" : 1, + "onmouseup" : 1, + "onmousedown" : 1, + "ontouchstart" : 1, + "ontouchmove" : 1, + "ontouchend" : 1 + }; + + _pDiv.on_create_contents = function () { + if (!this.url) { + this.form.createComponent(true); + } + }; + + _pDiv._applyElementVisible = function (v) { + this._control_element.setElementDisplay(v ? "" : "none"); + + var len = 0; + var form = this.form; + var compname; + if (v == true && form) { + len = form.components.length; + + for (var i = 0; i < len; i++) { + compname = form.components.get_id(i); + if (form[compname]._notifyParentDisplayOn) { + form[compname]._notifyParentDisplayOn(); + } + } + } + }; + + _pDiv.on_created_contents = function (win) { + var form = this.form; + + if (!this.url) { + form.on_created(win); + } + else { + if (!form._url) { + if (this.parent && this.parent instanceof nexacro.Tab && this.parent.preload == false) { + } + else { + form.loadForm(this.url, this.async, true, this._url); + } + } + + if (form._is_loaded && !form._is_created) { + form.createComponent(); + } + } + + this.on_apply_text(); + this._recalcLayout(); + }; + + _pDiv.on_destroy_contents = function () { + this._destroyTextElement(); + this._destroyFormControl(); + + this._user_property_list = null; + }; + + _pDiv.on_create_contents_command = function () { + var str = ""; + + return str; + }; + + _pDiv.on_attach_contents_handle = function (win) { + var form = this.form; + + if (!this.url) { + form.on_created(win); + } + else { + if (this.url && form._is_loaded && !form._is_created) { + form.createComponent(); + } + } + + this.on_apply_text(); + this._recalcLayout(); + }; + + _pDiv.on_change_containerRect = function (width, height) { + if (this._cell_elem) { + this._cell_elem.setElementSize(width, height); + } + + this._recalcLayout(); + }; + + _pDiv.on_change_containerPos = function () { + }; + + _pDiv.on_apply_prop_enable = function (v) { + if (this.form) { + this.form._setEnable(v); + } + }; + + _pDiv.on_get_css_assumedtypename = function () { + return this._type_name; + }; + + _pDiv.on_apply_text = function (text) { + var form = this.form; + if (form && ((form._child_list && form._child_list.length > 0) || this.url) || !this._is_alive) { + return; + } + + var control_elem = form.getElement(); + if (control_elem) { + if (!text) { + text = this._displaytext; + } + + var cell_elem = this._cell_elem; + if (!cell_elem && text) { + var win = this._getWindow(); + cell_elem = this._cell_elem = new nexacro.TextBoxElement(control_elem); + cell_elem.create(win); + } + + if (cell_elem) { + cell_elem.setElementSize(this._getClientWidth(), this._getClientHeight()); + cell_elem.setElementVerticalAlign(this.verticalAlign); + cell_elem.setElementTextAlign(this.textAlign); + cell_elem.setElementText(text); + } + } + }; + + _pDiv.set_url = function (v) { + if (this.url != v) { + this.url = v; + this.on_apply_url(); + } + }; + + _pDiv.on_apply_url = function (reload) { + var form = this.form; + if (!form) { + return; + } + + var url = this.url; + var confirm_message, pos; + + if (url && url.length > 0) { + nexacro._getLayoutManager().clearLayout(form); + + if (this._is_loadedform && form._is_loaded && reload != true) { + confirm_message = form._on_beforeclose(); + if (form._checkAndConfirmClose(confirm_message) == false) { + return; + } + var async = form._async; + form._on_close(); + form.set_tooltiptext(""); + + this._destroyFormControl(); + pos = this._getFormPosition(); + form = this.form = new nexacro._InnerForm("form", pos.left, pos.top, pos.width, pos.height, null, null, null, null, null, null, this); + form._async = async; + form.createComponent(); + + this._is_loadedform = false; + } + + var _parent = this.parent; + if (_parent != null) { + while (!_parent._url) { + _parent = _parent.parent; + } + + form.loadForm(url, this.async, true, _parent._url); + } + + this._destroyTextElement(); + } + else { + if (form._is_loaded) { + confirm_message = form._on_beforeclose(); + if (form._checkAndConfirmClose(confirm_message) == false) { + return; + } + form._on_close(); + form.set_tooltiptext(""); + + this._is_loadedform = false; + } + + this._destroyFormControl(); + + pos = this._getFormPosition(); + form = this.form = new nexacro._InnerForm("form", pos.left, pos.top, pos.width, pos.height, null, null, null, null, null, null, this); + form.createComponent(); + + this._destroyTextElement(); + + this.on_apply_text(); + } + }; + + _pDiv.set_urlchangeeffect = function (v) { + this.urlchangeeffect = v; + if (v) { + if (this._urlchangeeffect == null || this._urlchangeeffect.value != v) { + var urlchangeeffect = nexacro.TransitionEffectObject(v); + this._urlchangeeffect = urlchangeeffect; + } + } + else { + if (this._urlchangeeffect) { + this._urlchangeeffect = null; + } + } + }; + + _pDiv.set_async = function (v) { + v = nexacro._toBoolean(v); + if (this.async != v) { + this.async = v; + if (this.form) { + this.form._async = v; + } + } + }; + + _pDiv._on_apply_formscroll = function () { + if (this.formscrollbarbarminsize !== undefined) { + nexacro.Component.prototype.set_scrollbarbarminsize.call(this.form, this.formscrollbarbarminsize); + } + + if (this.formscrollbarbaroutsize !== undefined) { + nexacro.Component.prototype.set_scrollbarbaroutsize.call(this.form, this.formscrollbarbaroutsize); + } + + if (this.formscrollbardecbuttonsize !== undefined) { + nexacro.Component.prototype.set_scrollbardecbuttonsize.call(this.form, this.formscrollbardecbuttonsize); + } + + if (this.formscrollbarincbuttonsize !== undefined) { + nexacro.Component.prototype.set_scrollbarincbuttonsize.call(this.form, this.formscrollbarincbuttonsize); + } + + if (this.formscrollbarsize !== undefined) { + nexacro.Component.prototype.set_scrollbarsize.call(this.form, this.formscrollbarsize); + } + + if (this.formscrollbartrackbarsize !== undefined) { + nexacro.Component.prototype.set_scrollbartrackbarsize.call(this.form, this.formscrollbartrackbarsize); + } + + if (this.formscrollbartype !== undefined) { + nexacro.Component.prototype.set_scrollbartype.call(this.form, this.formscrollbartype); + } + + if (this.formscrollindicatorsize !== undefined) { + nexacro.Component.prototype.set_scrollindicatorsize.call(this.form, this.formscrollindicatorsize); + } + + if (this.formscrolltype !== undefined) { + nexacro.Component.prototype.set_scrolltype.call(this.form, this.formscrolltype); + } + }; + _pDiv.set_padding = nexacro._emptyFn; + + _pDiv.reload = function () { + this.on_apply_url(true); + }; + + _pDiv.getFocus = function () { + return this.parent ? this.parent.getFocus() : null; + }; + + _pDiv.getParentContext = function () { + return this.parent; + }; + + _pDiv.getSetter = function (name, fnname) { + if (!this._user_property_list) { + this._user_property_list = []; + } + this._user_property_list[name] = 1; + if (!fnname) { + fnname = "set_" + name; + } + var fn = this[fnname]; + if (fn) { + return new nexacro.SetterBinder(this, name, fn); + } + return new nexacro.PropBinder(this, name); + }; + + _pDiv.getOwnerFrame = function () { + return this._getOwnerFrame(); + }; + + _pDiv.addChild = function (id, obj) { + var form = this.form; + var ret = form.addChild(id, obj); + + return ret; + }; + + _pDiv.insertChild = function (idx, id, obj) { + var form = this.form; + var ret = form.insertChild(idx, id, obj); + + return ret; + }; + + _pDiv.removeChild = function (id) { + var obj = null; + if (!this._is_alive && id === "form") { + obj = this.form; + if (obj) { + var is_focused = false; + var _window = this._getWindow(); + if (_window) { + is_focused = (_window._indexOfCurrentFocusPaths(obj) > -1); + } + + if (obj._control_element) { + if (obj._control_element) { + obj._control_element._removeFromContainer(); + } + + if (is_focused) { + if (obj instanceof nexacro.Form) { + obj._on_deactivate(); + } + + _window._removeFromCurrentFocusPath(obj, true); + } + } + } + + delete this[id]; + } + else { + var form = this.form; + obj = form.removeChild(id); + } + + return obj; + }; + + _pDiv.addLayout = function (name, obj) { + var form = this.form; + if (form) { + form.addLayout(name, obj); + } + }; + + _pDiv.setContents = function (str) { + var ret = this._setContents(str); + return ret; + }; + + _pDiv.set_formscrollbarbarminsize = function (formscrollbarbarminsize) { + if (formscrollbarbarminsize !== undefined) { + formscrollbarbarminsize = parseInt(formscrollbarbarminsize); + if (isNaN(formscrollbarbarminsize)) { + return; + } + } + + if (this.formscrollbarbarminsize != formscrollbarbarminsize) { + this.formscrollbarbarminsize = formscrollbarbarminsize; + nexacro.Component.prototype.set_scrollbarbarminsize.call(this.form, formscrollbarbarminsize); + } + }; + + _pDiv.set_formscrollbarbaroutsize = function (formscrollbarbaroutsize) { + if (formscrollbarbaroutsize !== undefined) { + formscrollbarbaroutsize = parseInt(formscrollbarbaroutsize); + if (isNaN(formscrollbarbaroutsize)) { + return; + } + } + + if (this.formscrollbarbaroutsize != formscrollbarbaroutsize) { + this.formscrollbarbaroutsize = formscrollbarbaroutsize; + nexacro.Component.prototype.set_scrollbarbaroutsize.call(this.form, formscrollbarbaroutsize); + } + }; + + _pDiv.set_formscrollbardecbuttonsize = function (formscrollbardecbuttonsize) { + if (formscrollbardecbuttonsize !== undefined) { + formscrollbardecbuttonsize = parseInt(formscrollbardecbuttonsize); + if (isNaN(formscrollbardecbuttonsize)) { + return; + } + } + + if (this.formscrollbardecbuttonsize != formscrollbardecbuttonsize) { + this.formscrollbardecbuttonsize = formscrollbardecbuttonsize; + nexacro.Component.prototype.set_scrollbardecbuttonsize.call(this.form, formscrollbardecbuttonsize); + } + }; + + _pDiv.set_formscrollbarincbuttonsize = function (formscrollbarincbuttonsize) { + if (formscrollbarincbuttonsize !== undefined) { + formscrollbarincbuttonsize = parseInt(formscrollbarincbuttonsize); + if (isNaN(formscrollbarincbuttonsize)) { + return; + } + } + + if (this.formscrollbarincbuttonsize != formscrollbarincbuttonsize) { + this.formscrollbarincbuttonsize = formscrollbarincbuttonsize; + nexacro.Component.prototype.set_scrollbarincbuttonsize.call(this.form, formscrollbarincbuttonsize); + } + }; + + _pDiv.set_formscrollbarsize = function (formscrollbarsize) { + if (formscrollbarsize !== undefined) { + formscrollbarsize = parseInt(formscrollbarsize); + if (isNaN(formscrollbarsize)) { + return; + } + } + + if (this.formscrollbarsize != formscrollbarsize) { + this.formscrollbarsize = formscrollbarsize; + nexacro.Component.prototype.set_scrollbarsize.call(this.form, formscrollbarsize); + } + }; + + _pDiv.set_formscrollbartrackbarsize = function (formscrollbartrackbarsize) { + if (formscrollbartrackbarsize !== undefined) { + formscrollbartrackbarsize = parseInt(formscrollbartrackbarsize); + if (isNaN(formscrollbartrackbarsize)) { + return; + } + } + + if (this.formscrollbartrackbarsize != formscrollbartrackbarsize) { + this.formscrollbartrackbarsize = formscrollbartrackbarsize; + nexacro.Component.prototype.set_scrollbartrackbarsize.call(this.form, formscrollbartrackbarsize); + } + }; + + _pDiv.set_formscrollbartype = function (formscrollbartype) { + if (this.formscrollbartype != formscrollbartype) { + this.formscrollbartype = nexacro.Component.prototype.set_scrollbartype.call(this.form, formscrollbartype); + } + }; + + _pDiv.set_formscrollindicatorsize = function (formscrollindicatorsize) { + if (formscrollindicatorsize !== undefined) { + formscrollindicatorsize = parseInt(formscrollindicatorsize); + if (isNaN(formscrollindicatorsize)) { + return; + } + } + + if (this.formscrollindicatorsize != formscrollindicatorsize) { + this.formscrollindicatorsize = formscrollindicatorsize; + nexacro.Component.prototype.set_scrollindicatorsize.call(this.form, formscrollindicatorsize); + } + }; + + _pDiv.set_formscrolltype = function (formscrolltype) { + if (this.formscrolltype != formscrolltype) { + this.formscrolltype = nexacro.Component.prototype.set_scrolltype.call(this.form, formscrolltype); + } + }; + + _pDiv.scrollTo = function (x, y) { + if (this.form) { + this.form.scrollTo(x, y); + } + }; + + _pDiv._on_activate = function () { + nexacro.Component.prototype._on_activate.call(this); + + if (this.form) { + this.form._on_activate(); + } + + return true; + }; + + _pDiv._on_deactivate = function () { + nexacro.Component.prototype._on_deactivate.call(this); + + if (this.form) { + this.form._on_deactivate(); + } + + return true; + }; + + _pDiv._on_bubble_beforeclose = function (root_closing_comp, event_bubbles, fire_comp, refer_comp) { + return this.parent._on_bubble_beforeclose(root_closing_comp, event_bubbles, fire_comp, refer_comp); + }; + + _pDiv._on_bubble_close = function (event_bubbles, fire_comp, refer_comp) { + return this.parent._on_bubble_close(event_bubbles, fire_comp, refer_comp); + }; + + _pDiv._clearUserFunctions = nexacro._emptyFn; + + _pDiv._loadedForm = function () { + this._on_apply_formscroll(); + this._is_loadedform = true; + }; + + _pDiv._destroyTextElement = function () { + if (this._cell_elem) { + this._cell_elem.destroy(); + this._cell_elem = null; + } + }; + + _pDiv._destroyFormControl = function () { + if (this.form) { + this.form._destroy(); + this.form = null; + } + }; + + _pDiv._loadInclude = function (mainurl, url, notuseasync, service_url) { + var asyncmode = this.async; + var parent_context = this.getParentContext(); + var is_async; + + if (asyncmode) { + while (parent_context && parent_context._is_form) { + is_async = parent_context._getAsync(); + if (!parent_context._is_fired_onload && is_async === false) { + asyncmode = false; + break; + } + parent_context = parent_context.getParentContext(); + } + } + + if (!this._is_created) { + } + + this._loadIncludeJS.call(this, mainurl, url, asyncmode, service_url); + }; + + _pDiv._loadIncludeJS = function (mainurl, url, asyncmode, service_url) { + var service; + if (service_url && service_url.length > 0) { + service = nexacro._getServiceObject(service_url); + } + else { + service = nexacro._getServiceObject(url); + } + + this._load_manager.loadIncludeModule(url, null, asyncmode, service); + }; + + _pDiv._closeForm = function () { + this._destroyFormControl(); + }; + + _pDiv._recalcLayout = function () { + var form = this.form; + if (form) { + var pos = this._getFormPosition(); + + form._setPos(pos.left, pos.top); + form._setSize(pos.width, pos.height); + } + }; + + _pDiv._on_orientationchange = function (orientation) { + if (this.form) { + this.form._on_orientationchange(orientation); + } + }; + + _pDiv._setContents = function (str) { + var doc = nexacro._parseXMLDocument(str); + var layouts = doc.getElementsByTagName("Layouts")[0]; + + if (!layouts) { + layouts = doc; + } + + var layout = layouts.getElementsByTagName("Layout")[0]; + + if (!layout) { + return false; + } + + var ret = true; + + var node = layout.firstChild; + + while (node) { + if (node.nodeType == 1) { + var className = nexacro._getRegisterClass(node.tagName); + if (!className) { + return false; + } + var fnConstructor = nexacro._executeGlobalEvalStr(className); + if (!fnConstructor) { + return false; + } + + if (fnConstructor.prototype && fnConstructor.prototype._is_component) { + var attr = { + }; + var attr_props = { + }; + for (var i = 0; i < node.attributes.length; i++) { + var name = node.attributes[i].name; + if (/^(id|left|top|width|height|right|bottom|minwidth|maxwidth|minheight|maxheight|)$/.test(name)) { + attr[name] = node.attributes[i].value; + } + else { + attr_props[name] = node.attributes[i].value; + } + } + + var obj = new fnConstructor(attr["id"], attr["left"], attr["top"], attr["width"], attr["height"], attr["right"], attr["bottom"], attr["minwidth"], attr["maxwidth"], attr["minheight"], attr["maxheight"], this.form); + + for (var v in attr_props) { + if (obj["set_" + v]) { + obj["set_" + v](attr_props[v]); + } + else { + obj[v] = attr_props[v]; + } + } + + if (node.firstChild) { + var childnode = node.firstChild; + + var strXML = ""; + while (childnode) { + if (node.nodeType == 1) { + strXML += nexacro._documentToXml(childnode); + } + + childnode = childnode.nextSibling; + } + ret = obj._setContents(strXML); + } + + if (!ret) { + return ret; + } + + this.form.addChild(obj.id, obj); + + obj.show(); + } + } + node = node.nextSibling; + } + + return ret; + }; + + _pDiv._getFormPosition = function () { + var left = 0; + var top = 0; + var width = 0; + var height = 0; + + width = this._getClientWidth(); + height = this._getClientHeight(); + + if (!this._is_initcssselector) { + this._initCSSSelector(); + } + + + + + return { + left : left, + top : top, + width : width, + height : height + }; + }; + + _pDiv._getComponentsByTaborder = function () { + if (!this.form._isEnable() || !this.form._child_list || this.form._child_list.length == 0) { + return null; + } + + return [this.form]; + }; + + _pDiv._searchNextTabFocus = function (current, bSearchFromFirst, opt_force_cycle, filter_type) { + var ret = nexacro.FormBase.prototype._searchNextTabFocus.call(this, current, bSearchFromFirst, opt_force_cycle, filter_type); + + if (bSearchFromFirst && ret && ret[0] === this.form) { + return this.parent._searchNextTabFocus(this, undefined, undefined, filter_type); + } + + return ret; + }; + + _pDiv._searchPrevTabFocus = function (current, bSearchFromLast, opt_force_cycle, filter_type) { + var ret = nexacro.FormBase.prototype._searchPrevTabFocus.call(this, current, bSearchFromLast, opt_force_cycle, filter_type); + + if (bSearchFromLast && ret && ret[0] === this.form) { + return [this]; + } + + return ret; + }; + + _pDiv._getTabOrderNext = function (current, direction, filter_type) { + return nexacro.FormBase.prototype._getTabOrderNext.call(this, current, direction, filter_type); + }; + + _pDiv._getTabOrderFirst = function (filter_type) { + return nexacro.FormBase.prototype._getTabOrderFirst.call(this, filter_type); + }; + + _pDiv._getTabOrderLast = function (filter_type) { + return nexacro.FormBase.prototype._getTabOrderLast.call(this, filter_type); + }; + + delete _pDiv; +} diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/nexacro17lib/component/ComComp/DomObject.js b/nexacro-spring/src/main/webapp/deploy/_web_/nexacro17lib/component/ComComp/DomObject.js new file mode 100644 index 0000000..fb1d870 --- /dev/null +++ b/nexacro-spring/src/main/webapp/deploy/_web_/nexacro17lib/component/ComComp/DomObject.js @@ -0,0 +1,95 @@ +//============================================================================== +// +// TOBESOFT Co., Ltd. +// Copyright 2017 TOBESOFT Co., Ltd. +// All Rights Reserved. +// +// NOTICE: TOBESOFT permits you to use, modify, and distribute this file +// in accordance with the terms of the license agreement accompanying it. +// +// Readme URL: http://www.nexacro.co.kr/legal/nexacro17-public-license-readme-1.1.html +// +//============================================================================== + + +if (!nexacro.DomParser) { + nexacro.DomParseErrorEventInfo = function (obj, id, level, line, column, message, description) { + this.id = this.eventid = id || "onerror"; + this.fromobject = this.fromreferenceobject = obj; + + this.level = level; + this.line = line; + this.column = column; + this.message = message; + this.description = description; + }; + var _pDomParseErrorEventInfo = nexacro._createPrototype(nexacro.Event, nexacro.DomParseErrorEventInfo); + nexacro.DomParseErrorEventInfo.prototype = _pDomParseErrorEventInfo; + + _pDomParseErrorEventInfo._type_name = "DomParseErrorEventInfo"; + + delete _pDomParseErrorEventInfo; + + + nexacro.DomParser = function (id, parent) { + this.id = this.name = id; + this.parent = parent; + }; + + + + var _pDomParser = nexacro._createPrototype(nexacro._EventSinkObject, nexacro.DomParser); + nexacro.DomParser.prototype = _pDomParser; + + _pDomParser._type_name = "DomParser"; + _pDomParser._event_list = { + "onerror" : 1 + }; + + _pDomParser.on_created = nexacro._emptyFn; + _pDomParser.parseFromString = function (strText, strMineType) { + if (!strMineType || strMineType == "text/xml") { + var xmlDoc = nexacro._parseXMLDocument(strText); + if (xmlDoc) { + var error = nexacro._getParserError(xmlDoc); + if (error) { + this.on_fire_onparseerror("error", error.line, error.column, error.message, error.desc); + return null; + } + } + + return xmlDoc; + } + + return null; + }; + + _pDomParser.on_fire_onparseerror = function (level, line, column, message, description) { + if (this.onerror && this.onerror._has_handlers) { + var evt = new nexacro.DomParseErrorEventInfo(this, "onerror", level, line, column, message, description); + return this.onerror._fireEvent(this, evt); + } + return false; + }; + + delete _pDomParser; + + nexacro.XmlSerializer = function (id, parent) { + this.id = this.name = id; + this.parent = parent; + }; + + var _pXmlSerializer = nexacro._createPrototype(nexacro.Object, nexacro.XmlSerializer); + nexacro.XmlSerializer.prototype = _pXmlSerializer; + _pXmlSerializer.on_created = nexacro._emptyFn; + + _pXmlSerializer.serializeToString = function (xmldoc) { + return nexacro._documentToXml(xmldoc); + }; + + delete _pXmlSerializer; +} + + + + diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/nexacro17lib/component/ComComp/Edit.js b/nexacro-spring/src/main/webapp/deploy/_web_/nexacro17lib/component/ComComp/Edit.js new file mode 100644 index 0000000..bf6c9d7 --- /dev/null +++ b/nexacro-spring/src/main/webapp/deploy/_web_/nexacro17lib/component/ComComp/Edit.js @@ -0,0 +1,1626 @@ +//============================================================================== +// +// TOBESOFT Co., Ltd. +// Copyright 2017 TOBESOFT Co., Ltd. +// All Rights Reserved. +// +// NOTICE: TOBESOFT permits you to use, modify, and distribute this file +// in accordance with the terms of the license agreement accompanying it. +// +// Readme URL: http://www.nexacro.co.kr/legal/nexacro17-public-license-readme-1.1.html +// +//============================================================================== + +if (!nexacro.Edit) { + nexacro.Edit = function (id, left, top, width, height, right, bottom, minwidth, maxwidth, minheight, maxheight, parent, onlydisplay) { + nexacro.Component.call(this, id, left, top, width, height, right, bottom, minwidth, maxwidth, minheight, maxheight, parent); + + this._onlydisplay = onlydisplay; + + if (onlydisplay) { + this._apply_client_padding = true; + this.readonly = true; + } + }; + + var _pEdit = nexacro._createPrototype(nexacro.Component, nexacro.Edit); + nexacro.Edit.prototype = _pEdit; + _pEdit._type_name = "Edit"; + + + _pEdit.value = undefined; + _pEdit.displaynulltext = ""; + _pEdit.readonly = false; + _pEdit.password = false; + _pEdit.autoselect = false; + _pEdit.autoskip = false; + _pEdit.maxlength = 0; + _pEdit.usesoftkeyboard = true; + _pEdit.inputmode = "normal"; + _pEdit.inputfilter = "none"; + _pEdit.inputtype = "normal"; + _pEdit.imemode = "none"; + _pEdit.useime = "global"; + _pEdit.text = ""; + _pEdit.usecontextmenu = true; + + + _pEdit._input_element = null; + + _pEdit._inputfilter_obj = null; + _pEdit._inputtype_obj = null; + _pEdit._undostack = null; + + _pEdit._default_value = undefined; + _pEdit._default_text = ""; + _pEdit._keypad_type = "text"; + _pEdit._imedisable = false; + + _pEdit._processing_updateToDataset = false; + _pEdit._result_updateToDataset = true; + + _pEdit._onlydisplay = false; + _pEdit._apply_client_padding = false; + _pEdit._has_inputElement = true; + + + _pEdit._is_simple_control = true; + _pEdit._is_editable_control = true; + _pEdit._use_readonly_status = true; + + if ((nexacro._Browser == "IE" && nexacro._BrowserType != "Edge") || nexacro._Browser == "Runtime") { + _pEdit._set_node_value = false; + } + else { + _pEdit._set_node_value = true; + } + + if ((nexacro._Browser == "IE" && nexacro._BrowserVersion < 10) || nexacro._BrowserType == "Edge") { + _pEdit._use_focus_caret = true; + _pEdit._caret_pos = -1; + } + else { + _pEdit._use_focus_caret = false; + _pEdit._caret_pos = -1; + } + + + + _pEdit._event_list = { + "oneditclick" : 1, + "onkeydown" : 1, + "onkeyup" : 1, + "onkillfocus" : 1, + "onsetfocus" : 1, + "ondrag" : 1, + "ondragenter" : 1, + "ondragleave" : 1, + "ondragmove" : 1, + "ondrop" : 1, + "onlbuttondown" : 1, + "onlbuttonup" : 1, + "onrbuttondown" : 1, + "onrbuttonup" : 1, + "onmousedown" : 1, + "onmouseup" : 1, + "onmouseenter" : 1, + "onmouseleave" : 1, + "onmousemove" : 1, + "onmove" : 1, + "onsize" : 1, + "canchange" : 1, + "onchanged" : 1, + "oninput" : 1, + "oncontextmenu" : 1, + "ontouchstart" : 1, + "ontouchmove" : 1, + "ontouchend" : 1 + }; + + + _pEdit.accessibilityrole = "edit"; + + _pEdit.on_create_contents = function () { + var control = this.getElement(); + if (control) { + var input_elem; + if (!this._onlydisplay) { + input_elem = this._input_element = new nexacro.InputElement(control, "input"); + input_elem.setElementAutoSkip(this.autoskip); + input_elem.setElementAutoSelect(this.autoselect); + input_elem.setElementUseIme(this.useime); + input_elem.setElementImeMode(this.imemode); + input_elem.setElementReadonly(this.readonly); + input_elem.setElementDisplayNullText(this.displaynulltext); + input_elem.setElementMaxLength(this.maxlength); + if ((this.inputtype.indexOf("normal") >= 0) || (this.inputtype.indexOf("full") >= 0)) { + input_elem._inputtype = "text"; + } + else { + input_elem._inputtype = ""; + } + input_elem.setElementInputType(this.password ? "password" : this._keypad_type, this._imedisable); + } + else { + input_elem = this._input_element = new nexacro.TextBoxElement(control, "input"); + input_elem.setElementVerticalAlign("middle"); + } + + input_elem.setElementPosition(this._getClientLeft(), this._getClientTop()); + input_elem.setElementSize(this._getClientWidth(), this._getClientHeight()); + input_elem.setElementTextDecoration(this._textdecoration); + input_elem.setElementTextAlign(this.textAlign); + input_elem.setElementPadding(this.padding); + + this._undostack = new nexacro._EditUndoStack(this); + } + }; + + _pEdit.on_created_contents = function (win) { + var input_elem = this._input_element; + if (input_elem) { + this.on_apply_value(this.value); + + input_elem.create(win); + + this.set_usesoftkeyboard(this.usesoftkeyboard, true); + + if (nexacro._isNull(this.value)) { + this._changeUserStatus("nulltext", true); + } + } + }; + + _pEdit.on_destroy_contents = function () { + var input_elem = this._input_element; + if (input_elem) { + input_elem.destroy(); + this._input_element = null; + } + + var undostack = this._undostack; + if (undostack) { + undostack.destroy(); + this._undostack = null; + } + + var inputfilterobj = this._inputfilter_obj; + if (inputfilterobj) { + this._inputfilter_obj = null; + } + + var inputtypeobj = this._inputtype_obj; + if (inputtypeobj) { + this._inputtype_obj = null; + } + }; + + _pEdit.on_create_contents_command = function () { + var input_elem = this._input_element; + if (input_elem) { + this.on_apply_value(this.value); + this.on_apply_prop_enable(this._real_enable); + + return input_elem.createCommand(); + } + + return ""; + }; + + _pEdit.on_attach_contents_handle = function (win) { + var input_elem = this._input_element; + if (input_elem) { + input_elem.attachHandle(win); + + if (nexacro._isNull(this.value)) { + this._changeUserStatus("nulltext", true); + } + } + }; + + _pEdit.on_change_containerRect = function (width, height) { + var input_elem = this._input_element; + if (input_elem) { + input_elem.setElementSize(width, height); + } + }; + + _pEdit.on_change_containerPos = function (left, top) { + var input_elem = this._input_element; + if (input_elem) { + input_elem.setElementPosition(left, top); + } + }; + + _pEdit._apply_setfocus = function (evt_name, self_flag) { + this._processing_updateToDataset = false; + + var input_elem = this._input_element; + if (input_elem) { + input_elem.on_apply_imeSet(); + input_elem.on_apply_force_imeSet(); + + + if (evt_name) { + this._default_value = this.value; + this._default_text = this.text; + } + + this._changeUserStatus("nulltext", false); + + if (!this._onlydisplay) { + input_elem.setElementFocus(evt_name, self_flag); + + var text = input_elem.getElementText(); + if (text != this.text) { + this._default_text = this.text = text; + } + + if (!this.autoselect) { + if (this._use_focus_caret) { + if (this._caret_pos == -1) { + input_elem.setElementSetSelect(0, 0); + } + else { + input_elem.setElementSetSelect(this._caret_pos.begin, this._caret_pos.end); + } + } + else { + if (this._caret_pos == -1) { + input_elem.setElementSetSelect(0, 0); + } + } + } + } + } + }; + + _pEdit.on_getBindableProperties = function () { + return "value"; + }; + + _pEdit.on_apply_prop_enable = function (v) { + var input_elem = this._input_element; + if (input_elem) { + var color = this._getCSSStyleValue("color"); + + if (!this._onlydisplay) { + input_elem.setElementEnable(v, color); + } + } + }; + + _pEdit.on_init_bindSource = function (columnid, propid) { + if (propid == "value") { + if (this._undostack) { + this._undostack.clear(); + } + + this._setValue(undefined); + } + }; + + _pEdit.on_change_bindSource = function (propid, ds, row, col) { + if (propid == "value") { + var input_elem = this._input_element; + if (input_elem) { + if (!this._onlydisplay) { + input_elem.setCompositionComplete(); + } + } + + var v = ds.getColumn(row, col); + v = this._convertValueType(v, true); + + if (this._undostack) { + this._undostack.clear(); + } + + var _bSetselect = false; + if (this.value != v) { + _bSetselect = true; + } + + this._setValue(v); + + if (input_elem && _bSetselect && !this._onlydisplay) { + input_elem.setElementSetSelect(this.value ? this.value.length : 0); + + this._caret_pos = input_elem.getElementCaretPos(); + } + } + }; + + _pEdit.on_changeUserStatus = function (changestatus, value, applyuserstatus) { + if (value) { + return changestatus; + } + else { + return applyuserstatus; + } + }; + + _pEdit._getDlgCode = function () { + return { + want_tab : false, + want_return : false, + want_escape : false, + want_chars : false, + want_arrows : false + }; + }; + + _pEdit._getDragData = function () { + return this.getSelectedText(); + }; + + _pEdit.on_get_accessibility_label = function () { + var label = ""; + return label; + }; + + _pEdit._on_getFitSize = function () { + var control_elem = this.getElement(); + if (control_elem) { + var total_w = 0; + var total_h = 0; + + var border = this._getCurrentStyleBorder(); + if (border) { + total_w += border._getBorderWidth(); + total_h += border._getBorderHeight(); + } + + var padding = this._getCurrentStylePadding(); + if (padding) { + total_w += padding.left + padding.right; + total_h += padding.top + padding.bottom; + } + + var text = this.text; + if (text) { + var font = this._getCurrentStyleInheritValue("font"); + var wordspace = this._getCurrentStyleInheritValue("wordSpacing"); + var letterspace = this._getCurrentStyleInheritValue("letterSpacing"); + + var text_size = nexacro._getTextSize(this.text, font, false, undefined, "none", wordspace, letterspace); + + total_w += Math.ceil(text_size[0]); + total_h += Math.ceil(text_size[1]); + } + + return [total_w, total_h]; + } + + return [this._adjust_width, this._adjust_height]; + }; + + _pEdit.set_text = nexacro._emptyFn; + + _pEdit.set_value = function (v) { + v = this._convertValueType(v); + + if (this.value !== v) { + if (!this.applyto_bindSource("value", v)) { + return; + } + + this._setValue(v); + } + }; + + _pEdit.on_apply_value = function (value) { + var input_elem = this._input_element; + if (input_elem) { + var pos = input_elem.getElementCaretPos(); + var text = this.text; + value = (this.value ? this.text : this.value); + + if (this._is_created && nexacro._isNull(this.value)) { + this._changeUserStatus("nulltext", true); + } + else { + this._changeUserStatus("nulltext", false); + } + + if (!this._onlydisplay) { + if (this._undostack) { + if (pos && pos != -1) { + this._undostack.push(value, pos.begin, pos.end); + } + else { + this._undostack.push(value, 0, 0); + } + } + + input_elem.setElementValue(value); + text = input_elem.getElementText(); + } + else { + if (this.displaynulltext && nexacro._isNull(this.value)) { + input_elem.setElementText(this.displaynulltext); + } + else { + input_elem.setElementText(value); + } + } + + if (this.text != text) { + this.text = text; + } + + this._updateAccessibilityLabel(); + this._default_value = this.value; + this._default_text = this.text; + + pos = input_elem.getElementCaretPos(); + if (pos && pos != -1) { + this._caret_pos = pos; + } + } + }; + + _pEdit.set_displaynulltext = function (v) { + v = nexacro._toString(v); + if (this.displaynulltext != v) { + this.displaynulltext = v; + this.on_apply_displaynulltext(v); + } + }; + + _pEdit.on_apply_displaynulltext = function (displaynulltext) { + var input_elem = this._input_element; + if (input_elem) { + if (this._onlydisplay) { + this.on_apply_value(this.value); + } + else { + input_elem.setElementDisplayNullText(displaynulltext); + } + } + }; + + _pEdit.set_readonly = function (v) { + if (this._onlydisplay) { + return; + } + + v = nexacro._toBoolean(v); + if (this.readonly != v) { + this.readonly = v; + this.on_apply_readonly(v); + } + }; + + _pEdit.on_apply_readonly = function (readonly) { + this._changeStatus("readonly", readonly); + + var input_elem = this._input_element; + if (input_elem) { + if (!this._onlydisplay) { + input_elem.setElementReadonly(readonly); + } + } + }; + + _pEdit.set_autoselect = function (v) { + v = nexacro._toBoolean(v); + if (this.autoselect != v) { + this.autoselect = v; + this.on_apply_autoselect(v); + } + }; + + _pEdit.on_apply_autoselect = function (autoselect) { + var input_elem = this._input_element; + if (input_elem) { + if (!this._onlydisplay) { + input_elem.setElementAutoSelect(autoselect); + } + } + }; + + _pEdit.set_autoskip = function (v) { + v = nexacro._toBoolean(v); + if (this.autoskip != v) { + this.autoskip = v; + this.on_apply_autoskip(v); + } + }; + + _pEdit.on_apply_autoskip = function (autoskip) { + var input_elem = this._input_element; + if (input_elem) { + if (!this._onlydisplay) { + input_elem.setElementAutoSkip(autoskip); + } + } + }; + + _pEdit.set_inputmode = function (v) { + var inputmode_enum = ["normal", "upper", "lower"]; + if (inputmode_enum.indexOf(v) == -1) { + return; + } + + if (this.inputmode != v) { + this.inputmode = v; + } + }; + + _pEdit.set_inputfilter = function (v) { + if (v) { + var inputfilter_arr = v.split(','); + var inputfilter_enum = ["none", "alpha", "digit", "comma", "dot", "sign", "space", "symbol"]; + for (var i = 0, len = inputfilter_arr.length; i < len; i++) { + if (inputfilter_enum.indexOf(inputfilter_arr[i]) == -1) { + return; + } + } + } + else { + return; + } + + if (this.inputfilter != v) { + this.inputfilter = v; + this._inputfilter_obj = null; + + this.on_apply_inputfilter(v); + } + }; + + _pEdit.on_apply_inputfilter = function (inputfilter) { + this._inputfilter_obj = new nexacro._EditInputFilter(inputfilter); + }; + + _pEdit.set_inputtype = function (v) { + if (v) { + var inputtype_arr = v.split(','); + var inputtype_enum = ["normal", "alpha", "english", "digit", "number", "comma", "dot", "sign", "space", "symbol", "half", "full", "numberandenglish"]; + for (var i = 0, len = inputtype_arr.length; i < len; i++) { + if (inputtype_enum.indexOf(inputtype_arr[i]) == -1) { + return; + } + } + } + else { + return; + } + + if (this.inputtype != v) { + this.inputtype = v; + this._inputtype_obj = null; + + this.on_apply_inputtype(v); + } + }; + + _pEdit.on_apply_inputtype = function (inputtype) { + this._inputtype_obj = new nexacro._EditInputType(inputtype); + + if (nexacro._isTouchInteraction && nexacro._SupportTouch) { + this._imedisable = false; + } + else { + this._imedisable = this._inputtype_obj.imedisable; + } + + this._keypad_type = this._inputtype_obj.keypadtype; + + var input_elem = this._input_element; + if (input_elem && !this._onlydisplay) { + if ((this.inputtype.indexOf("normal") >= 0) || (this.inputtype.indexOf("full") >= 0)) { + input_elem._inputtype = "text"; + } + else { + input_elem._inputtype = ""; + } + + input_elem.setElementInputType(this.password ? "password" : this._keypad_type); + } + }; + + _pEdit.set_maxlength = function (v) { + if (isNaN(v = +v) || v < 0) { + return; + } + + if (this.maxlength != v) { + this.maxlength = v; + this.on_apply_maxlength(v); + } + }; + + _pEdit.on_apply_maxlength = function (maxlength) { + var input_elem = this._input_element; + if (input_elem && !this._onlydisplay) { + input_elem.setElementMaxLength(maxlength); + } + }; + + _pEdit.set_password = function (v) { + v = nexacro._toBoolean(v); + if (this.password != v) { + this.password = v; + this.on_apply_password(v); + } + }; + + _pEdit.on_apply_password = function (password) { + var input_elem = this._input_element; + if (input_elem && !this._onlydisplay) { + input_elem.setElementInputType(password ? "password" : this._keypad_type, this._imedisable); + } + }; + + _pEdit.set_useime = function (v) { + v = nexacro._toBoolean(v); + if (this.useime != v) { + this.useime = v; + this.on_apply_useime(v); + } + }; + + _pEdit.on_apply_useime = function (useime) { + var input_elem = this._input_element; + if (input_elem && !this._onlydisplay) { + input_elem.setElementUseIme(useime); + } + }; + + _pEdit.set_usesoftkeyboard = function (v, bforce) { + v = nexacro._toBoolean(v); + if (v != this.usesoftkeyboard || bforce) { + this.usesoftkeyboard = v; + this.on_apply_usesoftkeyboard(bforce); + } + }; + + _pEdit.on_apply_usesoftkeyboard = function (bforce) { + var input_elem = this._input_element; + if (input_elem && !this._onlydisplay) { + input_elem.setElementUseSoftKeyboard(this.usesoftkeyboard, bforce); + } + }; + + _pEdit.set_imemode = function (v) { + var imemode_enum = ["none", "alpha", "alpha,full", "hangul", "hangul,full", "katakana", "katakana,full", "hiragana", "direct"]; + if (imemode_enum.indexOf(v) == -1) { + return; + } + + if (this.imemode != v) { + this.imemode = v; + this.on_apply_imemode(v); + } + }; + + _pEdit.on_apply_imemode = function (imemode) { + var input_elem = this._input_element; + if (input_elem && !this._onlydisplay) { + input_elem.setElementImeMode(imemode); + } + }; + + _pEdit.set_usecontextmenu = function (v) { + v = nexacro._toBoolean(v); + if (this.usecontextmenu != v) { + this.usecontextmenu = v; + } + }; + + _pEdit.set_cursor = function (v) { + this.cursor = v; + if (v) { + if (this._cursor == null || this._cursor.value != v) { + if (this.enable && v == "auto") { + v = "text"; + } + var cursor = nexacro.CursorObject(v); + this._cursor = cursor; + this.on_apply_cursor(cursor); + } + } + else { + if (this._cursor) { + this._cursor = null; + this.on_apply_cursor(null); + } + } + }; + + _pEdit.on_apply_textAlign = function (halign) { + var input_elem = this._input_element; + if (input_elem) { + input_elem.setElementTextAlign(halign); + } + }; + + _pEdit.on_apply_padding = function (padding) { + var input_elem = this._input_element; + if (input_elem) { + input_elem.setElementPadding(padding); + } + }; + + _pEdit.on_apply_textDecoration = function (textDecoration) { + var input_elem = this._input_element; + if (input_elem) { + input_elem.setElementTextDecoration(textDecoration); + } + }; + + _pEdit.getLength = function () { + return (this.value ? this.value.length : 0); + }; + + _pEdit.getCaretPos = function () { + if (this.readonly) { + return -1; + } + + var input_elem = this._input_element; + if (input_elem) { + var pos = input_elem.getElementCaretPos(); + if (pos && pos != -1) { + return pos.begin; + } + } + + return -1; + }; + + _pEdit.setCaretPos = function (v) { + var input_elem = this._input_element; + if (input_elem) { + if (!this._onlydisplay) { + if (arguments.length == 0) { + v = 0; + } + else { + v = nexacro._toInt(v); + if (v == -1) { + if (v) { + v = this.text.length; + } + else { + v = 0; + } + } + } + + input_elem.setElementSetSelect(v, v); + } + + return true; + } + + return false; + }; + + _pEdit.getSelect = function () { + var input_elem = this._input_element; + if (input_elem && !this._onlydisplay) { + return input_elem.getElementSelectionRange(); + } + + return [0, 0]; + }; + + _pEdit.setSelect = function (start, end) { + var input_elem = this._input_element; + if (input_elem) { + if (!this._onlydisplay) { + var txt = this.text ? this.text : ""; + var txt_len = txt.length; + + if (nexacro._isNull(start) || start === "") { + start = 0; + } + if (nexacro._isNull(end) || end === "") { + end = -1; + } + + if (!nexacro._isNumber(start)) { + start = nexacro._toInt(start); + } + if (!nexacro._isNumber(end)) { + end = nexacro._toInt(end); + } + + if (start == -1) { + start = txt_len; + } + if (end == -1) { + end = txt_len; + } + + if (start > end) { + var tmp = start; + start = end; + end = tmp; + } + + input_elem.setElementSetSelect(start, end); + } + + return true; + } + + return false; + }; + + _pEdit.getSelectedText = function () { + var input_elem = this._input_element; + if (input_elem) { + if (!this._onlydisplay) { + var sel = input_elem.getElementSelectionRange(); + var start = sel[0], end = sel[1]; + var text = this.text; + + if (text && (start != end)) { + return text.substring(start, end); + } + } + } + + return ""; + }; + + _pEdit.setSelectedText = function (v) { + v = nexacro._toString(v); + + var input_elem = this._input_element; + if (input_elem) { + if (!this._onlydisplay) { + var sel = input_elem.getElementSelectionRange(); + var start = sel[0], end = sel[1]; + if (start == end) { + return ""; + } + + var insertlen = v.length; + var src = this.text.substring(start, end); + var newtext = this.text; + var newlen = newtext.length - (end - start) + insertlen; + if (this.maxlength > 0 && newlen > this.maxlength) { + v = v.substring(0, this.maxlength - insertlen); + } + newtext = newtext.substring(0, start) + v + newtext.substring(end); + + if (this.text != newtext) { + this._setValue(newtext); + input_elem.setElementSetSelect(start, start + insertlen); + } + + return src; + } + } + + return ""; + }; + + _pEdit.updateToDataset = function () { + this._result_updateToDataset = this.applyto_bindSource("value", this.value); + if (this._result_updateToDataset) { + this._default_value = this.value; + this._default_text = this.text; + } + this._processing_updateToDataset = true; + + return this._result_updateToDataset; + }; + + _pEdit.on_deactivate_process = function () { + var input_elem = this._input_element; + if (input_elem) { + input_elem.setCompositionComplete(); + } + }; + + _pEdit._on_deactivate = function () { + if (!this._is_alive) { + return; + } + + if (!this._isSelected()) { + this._changeStatus("focused", false); + } + + this.on_deactivate_process.call(this); + }; + + + _pEdit._on_value_change = function (pretext, prevalue, posttext, postvalue) { + if (!this.on_fire_canchange(this, pretext, prevalue, posttext, postvalue)) { + return false; + } + + this._default_value = postvalue; + this._default_text = posttext; + + var input_elem = this._input_element; + var pos = input_elem.getElementCaretPos(); + if (pos && pos != -1) { + this._caret_pos = pos; + } + + if (this._processing_updateToDataset && !this._result_updateToDataset && prevalue === postvalue) { + this._processing_updateToDataset = false; + this._result_updateToDataset = true; + return false; + } + else if (!this.applyto_bindSource("value", postvalue)) { + return false; + } + + this.on_fire_onchanged(this, pretext, prevalue, posttext, postvalue); + return true; + }; + + _pEdit._on_input_undo = function (item) { + if (this.readonly || !this._isEnable()) { + return; + } + + var input_elem = this._input_element; + if (input_elem) { + if (item) { + var caret = item.end; + if (item.value && item.value.length > caret) { + caret = item.value.length; + } + input_elem.updateElementText(item.value, caret); + input_elem.setElementSetSelect(item.start, item.end); + return true; + } + } + }; + + _pEdit._on_input_redo = function (item) { + if (this.readonly || !this._isEnable()) { + return; + } + + var input_elem = this._input_element; + if (input_elem) { + if (item) { + input_elem.updateElementText(item.value, item.end); + input_elem.setElementSetSelect(item.start, item.end); + return true; + } + } + }; + + _pEdit.on_keydown_basic_before_process = function (keycode, alt_key, ctrl_key, shift_key) { + return true; + }; + + _pEdit.on_keydown_basic_specialkey_process = function (keycode, alt_key, ctrl_key, shift_key) { + var input_elem = this._input_element; + + if (keycode == nexacro.KeyCode_ImeInput && this._imedisable) { + input_elem.stopSysEvent(); + return; + } + else if (!alt_key && !shift_key && ctrl_key && keycode == 90) { + if (input_elem.isComposing()) { + input_elem.setCompositionComplete(); + } + + if (this._undostack) { + this._undostack.undo(); + + input_elem._applyMaxlength(); + + input_elem.stopSysEvent(); + return; + } + } + else if (!alt_key && !shift_key && ctrl_key && keycode == 89) { + if (this._undostack) { + this._undostack.redo(); + input_elem.stopSysEvent(); + return; + } + } + + return true; + }; + + _pEdit.on_keydown_basic_process = function (keycode, alt_key, ctrl_key, shift_key) { + var input_elem = this._input_element; + if (this._undostack && !input_elem.isComposing()) { + var pos = input_elem.getElementCaretPos(); + if (pos && pos != -1) { + this._undostack.update(pos.begin, pos.end); + } + } + + return true; + }; + + _pEdit.on_keydown_basic_action = function (keycode, alt_key, ctrl_key, shift_key) { + if (this.readonly || !this._isEnable()) { + return; + } + + var input_elem = this._input_element; + if (input_elem) { + if (!this.on_keydown_basic_before_process.call(this, keycode, alt_key, ctrl_key, shift_key)) { + return; + } + if (!this.on_keydown_basic_specialkey_process.call(this, keycode, alt_key, ctrl_key, shift_key)) { + return; + } + + this.on_keydown_basic_process.call(this, keycode, alt_key, ctrl_key, shift_key); + } + }; + + _pEdit.on_keydown_default_before_process = function (keycode) { + return true; + }; + _pEdit.on_keydown_default_specialkey_process = function (keycode) { + var input_elem = this._input_element; + + if (keycode == nexacro.Event.KEY_RETURN) { + if (input_elem.isComposing()) { + input_elem.setCompositionComplete(); + } + + var pre_value = this._default_value; + var pre_text = this._default_text; + + var cur_value = input_elem.value; + var cur_text = cur_value ? cur_value : ""; + + if (pre_value != cur_value) { + if (!this._on_value_change(pre_text, pre_value, cur_text, cur_value)) { + this.value = pre_value; + this.text = pre_text; + + input_elem.setElementValue(pre_text); + input_elem.setElementSetSelect(this._caret_pos.begin, this._caret_pos.end); + } + } + } + return true; + }; + + _pEdit.on_keydown_default_process = function (keycode) { + return true; + }; + + _pEdit.on_keydown_default_action = function (keycode) { + if (this.readonly || !this._isEnable()) { + return; + } + + var input_elem = this._input_element; + if (input_elem) { + if (!this.on_keydown_default_before_process.call(this, keycode)) { + return; + } + if (!this.on_keydown_default_specialkey_process.call(this, keycode)) { + return; + } + + this.on_keydown_default_process.call(this, keycode); + } + }; + + _pEdit.on_keypress_basic_before_process = function (keycode, charcode, alt_key, ctrl_key) { + return true; + }; + + _pEdit.on_keypress_basic_specialkey_process = function (keycode, charcode, alt_key, ctrl_key) { + var input_elem = this._input_element; + if (input_elem) { + if (keycode == nexacro.Event.KEY_TAB) { + if (!this._getDlgCode().want_tab) { + input_elem.stopSysEvent(); + return; + } + } + + if (keycode !== 0 && charcode === 0) { + return 2; + } + else { + if (keycode == nexacro.Event.KEY_ENTER || keycode == nexacro.Event.KEY_ESC) { + return 2; + } + } + } + return true; + }; + + _pEdit.on_keypress_basic_process = function (keycode, charcode, alt_key, ctrl_key) { + if (nexacro._OS == "iOS") { + return true; + } + + charcode = charcode || keycode; + + var input_elem = this._input_element; + if (!ctrl_key && !alt_key && charcode && !input_elem.isComposing()) { + var inputChar = String.fromCharCode(charcode); + if (inputChar.length > 0 && this._isFilterChar(inputChar)) { + input_elem.stopSysEvent(); + return false; + } + } + + return true; + }; + + _pEdit.on_keypress_basic_action = function (keycode, charcode, alt_key, ctrl_key) { + var input_elem = this._input_element; + if (input_elem) { + if (!this.on_keypress_basic_before_process.call(this, keycode, charcode, alt_key, ctrl_key)) { + return; + } + var ret = this.on_keypress_basic_specialkey_process.call(this, keycode, charcode, alt_key, ctrl_key); + if (!ret) { + return; + } + else if (ret == 2) { + return true; + } + + if (!this.on_keypress_basic_process.call(this, keycode, charcode, alt_key, ctrl_key)) { + return false; + } + } + }; + + _pEdit.on_beforekeyinput_basic_action = function (value, status, begin, end, inputType) { + if (this.readonly || !this._isEnable()) { + return 0; + } + + var input_elem = this._input_element; + if (input_elem) { + if (input_elem._use_event_beforeinput) { + return this._beforeinput_process_with_HTMLEvent(value, status, begin, end, inputType); + } + else { + return this._beforeinput_process_with_NexacroInputEvent(value, status, begin, end); + } + } + }; + + _pEdit.on_keyinput_basic_before_process = function (input_text) { + return true; + }; + + _pEdit.on_keyinput_basic_process = function (input_text) { + var input_elem = this._input_element; + + var input_value = input_elem.value === null ? undefined : input_elem.value; + input_text = input_text === undefined ? input_elem._getInputValue() : input_text; + + this.value = input_value; + this.text = input_text; + + if (this._undostack && !input_elem.isComposing()) { + var pos = input_elem.getElementCaretPos(); + if (pos && pos != -1) { + this._undostack.push(input_value, pos.begin, pos.end); + } + else { + this._undostack.push(input_value, 0, 0); + } + } + + return true; + }; + + _pEdit.on_keyinput_basic_action = function (input_text) { + if (this.readonly || !this._isEnable()) { + return false; + } + + var input_elem = this._input_element; + if (input_elem) { + if (!this.on_keyinput_basic_before_process.call(this, input_text)) { + return false; + } + if (!this.on_keyinput_basic_process.call(this, input_text)) { + return false; + } + } + + this._updateAccessibilityLabel(); + + return true; + }; + + _pEdit.on_killfocus_basic_process = function () { + var input_elem = this._input_element; + var cur_text; + if (!this._onlydisplay) { + var pre_value = this._default_value; + var pre_text = this._default_text; + + var cur_value = input_elem.value; + cur_text = cur_value ? cur_value : ""; + + var pos = input_elem.getElementCaretPos(); + if (pre_value != cur_value) { + if (!this._on_value_change(pre_text, pre_value, cur_text, cur_value)) { + var cur_text_len = cur_text ? cur_text.length : 0; + var pre_text_len = pre_text ? pre_text.length : 0; + if (pos != -1) { + if (cur_text_len - pre_text_len >= 0) { + pos.begin = pos.end = pos.begin - (cur_text_len - pre_text_len); + } + + if (pos.begin < 0) { + pos.begin = pos.end = 0; + } + + this._caret_pos = pos; + } + else { + this._caret_pos.begin = this._caret_pos.end = pre_value ? pre_value.length : 0; + } + + this.value = pre_value; + this.text = pre_text; + + input_elem.setElementValue(pre_value); + input_elem.setElementSetSelect(this._caret_pos.begin, this._caret_pos.end); + } + } + else { + this._caret_pos = input_elem.getElementCaretPos(); + } + + if (nexacro._isNull(this.value)) { + this._changeUserStatus("nulltext", true); + } + + if (nexacro._enableaccessibility && nexacro._Browser == "Runtime" && nexacro._accessibilitytype == 5) { + this._setAccessibilityStatKillFocus(); + } + + var _win = this._getRootWindow(); + var idx = _win._indexOfCurrentFocusPaths(this); + if (idx < 0) { + input_elem.setElementBlur(); + } + } + else { + if (nexacro._isNull(this.value)) { + this._changeUserStatus("nulltext", true); + } + } + + return true; + }; + + _pEdit.on_killfocus_basic_action = function () { + var input_elem = this._input_element; + if (input_elem) { + if (!this._onlydisplay) { + var _sel = input_elem.getElementSelectionRange(); + if (_sel[0] == _sel[1]) { + input_elem._setElementLastSelectionRange(); + } + } + + if (!this.on_killfocus_basic_process.call(this)) { + return; + } + } + }; + + _pEdit.on_click_basic_action = function (elem, button) { + var input_elem = this._input_element; + if (input_elem) { + var _window = this._getWindow(); + if (_window && this._track_capture) { + var capture_comp = _window._getCaptureComp(true, false, this); + if (!this._onlydisplay && (!capture_comp || capture_comp == this)) { + input_elem.setElementFocus(button); + } + } + } + }; + + _pEdit.on_fire_onclick = function (button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY) { + if (this.oneditclick && this.oneditclick._has_handlers) { + var caretpos = this.getCaretPos(); + var clientXY = this._getClientXY(canvasX, canvasY); + + var evt = new nexacro.EditClickEventInfo(this, "oneditclick", caretpos, button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientXY[0], clientXY[1], this, this); + return this.oneditclick._fireEvent(this, evt); + } + + return true; + }; + + _pEdit.on_fire_canchange = function (obj, pretext, prevalue, posttext, postvalue) { + if (this.canchange && this.canchange._has_handlers) { + var evt = new nexacro.ChangeEventInfo(obj, "canchange", pretext, prevalue, posttext, postvalue); + return this.canchange._fireCheckEvent(this, evt); + } + + return true; + }; + + _pEdit.on_fire_onchanged = function (obj, pretext, prevalue, posttext, postvalue) { + if (this.onchanged && this.onchanged._has_handlers) { + var evt = new nexacro.ChangeEventInfo(obj, "onchanged", pretext, prevalue, posttext, postvalue); + return this.onchanged._fireEvent(this, evt); + } + }; + + _pEdit.on_fire_oninput = function () { + if (this.oninput && this.oninput._has_handlers) { + var evt = new nexacro.InputEventInfo(this, "oninput"); + return this.oninput._fireEvent(this, evt); + } + + return true; + }; + + _pEdit._convertValueType = function (v, bapplyrule) { + var ret; + if (bapplyrule) { + ret = nexacro.Component.prototype._convertValueType.call(this, v); + } + else { + ret = nexacro._isNull(v) ? v : nexacro._toString(v); + } + + return ret; + }; + + _pEdit._setValue = function (v) { + this.text = nexacro._toString(v); + this.value = v; + + this.on_apply_value(v); + }; + + _pEdit._setReadonlyView = function (v) { + var input_elem = this._input_element; + if (input_elem) { + if (!this._onlydisplay) { + input_elem.setElementReadonly(v); + } + } + }; + + _pEdit._setDefaultCaret = function () { + this.setCaretPos(0); + }; + + _pEdit._setFocusToNextComponent = function () { + var root_comp = this._getRootComponent(this); + var next_comp = this._getForm().getNextComponent(root_comp, true); + if (next_comp) { + next_comp.setFocus(); + if (next_comp._is_editable_control) { + next_comp._setDefaultCaret(); + } + } + }; + + _pEdit._isFilterChar = function (ch) { + if (ch != "") { + if (this._inputfilter_obj && this._inputfilter_obj.test(ch)) { + return true; + } + + if (this._inputtype_obj && !this._inputtype_obj.test(ch)) { + return true; + } + } + + return false; + }; + + _pEdit.on_beforeinput_process_with_HTMLEvent = function (value, status, begin, end, inputType) { + var input_elem = this._input_element; + + var update_value = value ? value.replace(/\r\n/g, "") : value; + var input_value = input_elem._getInputValue(); + var update_value_len = update_value ? update_value.length : 0; + var ret = [input_elem._BeforeinputState.PASS]; + + if (inputType == "deleteContentBackward" || inputType == "deleteContentForward" || inputType == "deleteByCut") { + return ret; + } + + if (this._inputtype_obj) { + update_value = this._inputtype_obj.apply(update_value); + if (value != update_value) { + if (update_value && inputType == "insertFromPaste") { + update_value_len = update_value.length; + input_elem._beforeinput_result_data = update_value; + input_elem._beforeinput_result_pos = { + begin : begin + update_value_len, + end : begin + update_value_len + }; + ret.push(input_elem._BeforeinputState.REPLACE); + } + else { + ret.push(input_elem._BeforeinputState.CANCEL); + } + } + } + + if (this._inputfilter_obj) { + update_value = this._inputfilter_obj.apply(update_value); + if (value != update_value) { + if (update_value && inputType == "insertFromPaste") { + update_value_len = update_value.length; + input_elem._beforeinput_result_data = update_value; + input_elem._beforeinput_result_pos = { + begin : begin + update_value_len, + end : begin + update_value_len + }; + ret.push(input_elem._BeforeinputState.REPLACE); + } + else { + ret.push(input_elem._BeforeinputState.CANCEL); + } + } + } + + if (inputType == "insertFromPaste") { + if (update_value) { + var maxlength = this.maxlength; + update_value = update_value.replace(/\r\n/g, ""); + if (maxlength && begin + (input_value.length - end) + update_value_len > maxlength) { + update_value = update_value.substring(0, maxlength - (begin + input_value.length - end)); + } + + input_elem._beforeinput_result_insert_data = update_value; + + update_value_len = update_value.length; + update_value = input_value.substring(0, begin) + update_value + input_value.substring(end); + input_elem._beforeinput_result_data = update_value; + input_elem._beforeinput_result_pos = { + begin : begin + update_value_len, + end : begin + update_value_len + }; + ret.push(input_elem._BeforeinputState.REPLACE); + } + } + + if (status == 0 || status == 3) { + if (update_value) { + switch (this.inputmode) { + case "upper": + ret.push(input_elem._BeforeinputState.CONVERT_UPPER); + break; + case "lower": + ret.push(input_elem._BeforeinputState.CONVERT_LOWER); + break; + } + } + } + + if (this.maxlength > 0 && (status == 0 || status == 3)) { + input_value = input_value ? input_value : input_elem._getInputValue(); + var check = input_elem._checkMaxLength(input_value + (update_value ? update_value : ""), end); + if (check && check.ismax) { + ret.push(input_elem._BeforeinputState.MAXLENGTH); + } + } + + if (this.maxlength > 0 && (status == 1 || status == 2)) { + input_value = input_value ? input_value : input_elem._getInputValue(); + if (begin != end) { + input_value = input_value.substring(0, begin); + } + + update_value = input_value + update_value; + if (update_value.length > this.maxlength) { + ret.push(input_elem._BeforeinputState.CANCEL); + ret.push(input_elem._BeforeinputState.MAXLENGTH); + } + } + + return ret; + }; + + _pEdit._beforeinput_process_with_HTMLEvent = function (value, status, begin, end, inputType) { + var input_elem = this._input_element; + if (input_elem) { + return this.on_beforeinput_process_with_HTMLEvent.call(this, value, status, begin, end, inputType); + } + }; + + _pEdit.on_beforeinput_process_with_NexacroInputEvent = function (value, status, begin, end) { + var input_elem = this._input_element; + var bPaste = input_elem._paste_caret_pos ? true : false; + var pre_value = input_elem.value; + var input_text = value.substring(begin, end); + if (input_text) { + var update_value = input_text; + if (nexacro._is_hangul(update_value) || (status == nexacro._CompositionState.NONE || status == nexacro._CompositionState.END)) { + if (this._inputtype_obj) { + update_value = this._inputtype_obj.apply(update_value); + } + if (this._inputfilter_obj) { + update_value = this._inputfilter_obj.apply(update_value); + } + if (this.inputmode == "upper") { + update_value = update_value.toUpperCase(); + } + else if (this.inputmode == "lower") { + update_value = update_value.toLowerCase(); + } + } + + if (update_value != input_text) { + if (bPaste && !update_value) { + var pre_value_length = pre_value ? pre_value.length : 0; + var pos = begin + (input_text.length - (value.length - pre_value_length)); + input_elem.updateElementText(pre_value, pos); + } + else { + input_elem.replaceElementText(update_value, begin, end); + } + } + } + }; + + _pEdit._beforeinput_process_with_NexacroInputEvent = function (value, status, begin, end) { + var input_elem = this._input_element; + if (input_elem) { + this.on_beforeinput_process_with_NexacroInputEvent.call(this, value, status, begin, end); + } + }; + + _pEdit._on_input_compositionend = function (value) { + var input_elem = this._input_element; + if (input_elem) { + if (this._undostack) { + var pos = input_elem.getElementCaretPos(); + if (pos && pos != -1) { + this._undostack.push(value, pos.begin, pos.end); + } + else { + this._undostack.push(value, 0, 0); + } + } + } + }; + + _pEdit.on_apply_imeSet = function () { + var input_elem = this._input_element; + if (input_elem) { + var _locale = input_elem._imelocale.getLocale(); + var i, len; + if (_locale && nexacro._cache_edit_set[_locale]) { + for (var prop in nexacro._cache_edit_set[_locale]) { + this[prop] = nexacro._cache_edit_set[_locale][prop]; + } + + for (i = 0, len = nexacro._edit_user_override_func.length; i < len; i++) { + if (!nexacro._cache_edit_set[_locale][nexacro._edit_user_override_func[i]]) { + this[nexacro._edit_user_override_func[i]] = nexacro.Edit.prototype[nexacro._edit_user_override_func[i]]; + } + } + } + else { + for (i = 0, len = nexacro._edit_user_override_func.length; i < len; i++) { + this[nexacro._edit_user_override_func[i]] = nexacro.Edit.prototype[nexacro._edit_user_override_func[i]]; + } + } + } + }; + + _pEdit._setAccessibilityReadOnly = nexacro._emptyFn; + + _pEdit = null; +} + diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/nexacro17lib/component/ComComp/ExportObject.js b/nexacro-spring/src/main/webapp/deploy/_web_/nexacro17lib/component/ComComp/ExportObject.js new file mode 100644 index 0000000..d925736 --- /dev/null +++ b/nexacro-spring/src/main/webapp/deploy/_web_/nexacro17lib/component/ComComp/ExportObject.js @@ -0,0 +1,4160 @@ +//============================================================================== +// +// TOBESOFT Co., Ltd. +// Copyright 2017 TOBESOFT Co., Ltd. +// All Rights Reserved. +// +// NOTICE: TOBESOFT permits you to use, modify, and distribute this file +// in accordance with the terms of the license agreement accompanying it. +// +// Readme URL: http://www.nexacro.co.kr/legal/nexacro17-public-license-readme-1.1.html +// +//============================================================================== + +if (!nexacro.ExcelExportObject) { + nexacro.ExcelExportProgressEventInfo = function (obj, id, itemindex, itemtype, recordindex, errorobj) { + this.id = this.eventid = id || "onprogress"; + this.fromobject = obj; + this.fromreferenceobject = errorobj; + + this.itemindex = itemindex; + this.itemtype = itemtype; + this.recordindex = recordindex; + }; + var _pExportEventInfo = nexacro._createPrototype(nexacro.Event, nexacro.ExcelExportProgressEventInfo); + nexacro.ExcelExportProgressEventInfo.prototype = _pExportEventInfo; + _pExportEventInfo._type_name = "ExcelExportProgressEventInfo"; + + delete _pExportEventInfo; + + nexacro.ExcelExportEventInfo = function (obj, id, url, errorobj) { + this.id = this.eventid = id || "onsuccess"; + this.fromobject = obj; + this.fromreferenceobject = errorobj; + + this.url = url; + }; + var _pExcelExportEventInfo = nexacro._createPrototype(nexacro.Event, nexacro.ExcelExportEventInfo); + nexacro.ExcelExportEventInfo.prototype = _pExcelExportEventInfo; + _pExcelExportEventInfo._type_name = "ExcelExportEventInfo"; + + delete _pExcelExportEventInfo; + + + nexacro.ExcelExportErrorEventInfo = function (obj, id, errortype, errormsg, errorobj, statuscode) { + this.id = this.eventid = id || "onerror"; + this.fromobject = obj; + this.fromreferenceobject = errorobj; + + this.errortype = errortype; + this.errormsg = errormsg; + this.statuscode = statuscode; + }; + var _pExportErrorEventInfo = nexacro._createPrototype(nexacro.ErrorEventInfo, nexacro.ExcelExportErrorEventInfo); + nexacro.ExcelExportErrorEventInfo.prototype = _pExportErrorEventInfo; + _pExportErrorEventInfo._type_name = "ExcelExportErrorEventInfo"; + + delete _pExportErrorEventInfo; + + + nexacro.ExcelExportObject = function (name, parent) { + this.id = this.name = name; + + if (!parent) { + var app = nexacro.getApplication(); + if (app) { + parent = app.getActiveForm(); + if (!parent) { + var currwin = app.mainframe._window; + var cur_focus_paths = currwin.getCurrentFocusPaths(); + var cur_focus_paths_len = (cur_focus_paths ? cur_focus_paths.length : 0); + for (var i = 0; i < cur_focus_paths_len; i++) { + var _comp = cur_focus_paths[i]; + if (!_comp) { + continue; + } + if (_comp._is_form) { + parent = _comp; + break; + } + } + } + } + } + this.parent = parent; + this._grids = []; + this._dataset = []; + this._xml = []; + + this.onsuccess = new nexacro.EventListener("onsuccess"); + this.onprogress = new nexacro.EventListener("onprogress"); + this.onerror = new nexacro.EventListener("onerror"); + this._hidden_frame_handle = null; + nexacro._create_hidden_frame("", this.on_complete_download, this, "export"); + }; + var _pExcelExport = nexacro.ExcelExportObject.prototype = nexacro._createPrototype(nexacro._EventSinkObject, nexacro.ExcelExportObject); + _pExcelExport._type_name = "ExportObject"; + + _pExcelExport.activepagename = ""; + _pExcelExport.exportactivemode = "noactive"; + _pExcelExport.exporteventtype = "itemrecord"; + _pExcelExport.exportfilename = ""; + _pExcelExport.exportfilpath = ""; + + _pExcelExport.exportmessagealert = ""; + _pExcelExport.exportmessagecomplete = ""; + _pExcelExport.exportmessageprocess = ""; + _pExcelExport.exportmessageready = ""; + + _pExcelExport.exportopenmode = "noopen"; + + _pExcelExport._exporttype = nexacro.ExportTypes.EXCEL; + _pExcelExport.exporttype = nexacro.ExportTypes.EXCEL; + _pExcelExport.exportuitype = "none"; + + _pExcelExport.templatefilename = ""; + _pExcelExport.commdataformat = ""; + + _pExcelExport.commcompress = "none"; + _pExcelExport.exporturl = ""; + + _pExcelExport.transferrowcount = 500; + + _pExcelExport.exportfilepasswrod = ""; + _pExcelExport.exportwordwrap = true; + + _pExcelExport.filefilter = ""; + _pExcelExport.filefilterindex = 0; + + _pExcelExport._exportuitype = 0; + _pExcelExport._exporturl = ""; + _pExcelExport._commcompress = false; + _pExcelExport._commdataformat = 2; + + _pExcelExport._allRowCount = 0; + _pExcelExport._progress_pos = 0; + _pExcelExport._uniqueIndex = 0; + _pExcelExport._fileURL = ""; + _pExcelExport._itemsIndex = 0; + + _pExcelExport._argsParam = null; + _pExcelExport._argsDsParam = null; + _pExcelExport._orgval_type = 0; + _pExcelExport._file_password = null; + _pExcelExport._wrap_text = true; + _pExcelExport._filedownload = true; + _pExcelExport._righttoleft = true; + + _pExcelExport._exportBar = null; + _pExcelExport._tempSaveMethod = null; + + _pExcelExport.excelTypeTable = + { + EXCEL : 0x0100, + EXCEL97 : 0x0110, + EXCEL2007 : 0x0120, + HANCELL2010 : 0x0400, + HANCELL2014 : 0x0410, + CSV : 0x0500, + 256 : 0x0100, + 272 : 0x0110, + 288 : 0x0120, + 1024 : 0x0400, + 1040 : 0x0410, + 1280 : 0x0500 + }; + + _pExcelExport._event_list = + { + "onsuccess" : 1, + "onerror" : 1, + "onprogress" : 1 + }; + + _pExcelExport.on_created = nexacro._emptyFn; + _pExcelExport.set_templatefilename = function (v) { + if (v != this.templatefilename) { + this.templatefilename = v; + } + return v; + }; + + _pExcelExport.set_commdataformat = function (v) { + if (v != this.commdataformat) { + this.commdataformat = v; + switch (v.toString().toUpperCase()) { + case "XML": + this._commdataformat = 0; + break; + case "BINARY": + this._commdataformat = 1; + break; + case "CSV": + this._commdataformat = 3; + break; + default: + this._commdataformat = 2; + break; + } + } + return v; + }; + + _pExcelExport.set_commcompress = function (v) { + if (v != this.commcompress) { + this.commcompress = v; + + if (v.toString().toUpperCase() == "COMPRESS") { + this._commcompress = true; + } + else { + this._commcompress = false; + } + } + return v; + }; + + _pExcelExport.set_exporturl = function (v) { + if (v != this.exporturl) { + this.exporturl = this._exporturl = v; + if (v) { + this._exporturl = nexacro._getServiceLocation(v, this.parent._getFormBaseUrl(), null, false); + } + } + return v; + }; + + _pExcelExport.set_exporttype = function (v) { + if (v != this.exporttype) { + this.exporttype = v; + var export_type = this.excelTypeTable[(v + "").toUpperCase()]; + if (!export_type) { + export_type = 256; + } + this._exporttype = export_type; + } + return v; + }; + + _pExcelExport.set_activepagename = function (v) { + if (v != this.activepagename) { + this.activepagename = v; + } + return v; + }; + + _pExcelExport.set_exportactivemode = function (v) { + if (v != this.exportactivemode) { + this.exportactivemode = v; + } + return v; + }; + + _pExcelExport.set_exporteventtype = function (v) { + if (v != this.exporteventtype) { + this.exporteventtype = v; + } + return v; + }; + + + _pExcelExport.set_exportopenmode = function (v) { + if (v != this.exportopenmode) { + this.exportopenmode = v; + } + return v; + }; + + _pExcelExport.set_exportfilename = function (v) { + v = v + ""; + if (v != this.exportfilename) { + this.exportfilename = v; + } + return v; + }; + + _pExcelExport.set_exportfilepath = function (v) { + if (v != this.exportfilepath) { + this.exportfilepath = v; + } + return v; + }; + + _pExcelExport.set_exportmessagealert = function (v) { + if (v != this.exportmessagealert) { + this.exportmessagealert = v; + } + return v; + }; + + _pExcelExport.set_exportuitype = function (v) { + if (v != this.exportuitype) { + this.exportuitype = v; + switch (v) { + case "exportprogress": + this._exportuitype = 1; + break; + case "statusbar": + this._exportuitype = 2; + break; + default: + this._exportuitype = 0; + break; + } + } + return v; + }; + + _pExcelExport.set_exportmessageready = function (v) { + if (v != this.exportmessageready) { + this.exportmessageready = v; + } + + return v; + }; + + _pExcelExport.set_exportmessageprocess = function (v) { + if (v != this.exportmessageprocess) { + this.exportmessageprocess = v; + } + + return v; + }; + + _pExcelExport.set_exportmessagecomplete = function (v) { + if (v != this.exportmessagecomplete) { + this.exportmessagecomplete = v; + } + + return v; + }; + + + _pExcelExport.set_transferrowcount = function (v) { + this.transferrowcount = nexacro._toInt(v); + }; + + _pExcelExport.set_exportfilepassword = function (v) { + if (v != this.exportfilepassword) { + this.exportfilepassword = v; + } + }; + + _pExcelExport.set_exportwordwrap = function (v) { + if (v != this.exportwordwrap) { + this.exportwordwrap = v; + } + }; + + _pExcelExport.set_filefilter = function (v) { + this.filefilter = v; + }; + + _pExcelExport.set_filefilterindex = function (v) { + this.filefilterindex = v; + }; + + + _pExcelExport.addExportItem = function (type, item) { + var size = -1; + var eItem; + var use_arg_len = arguments.length; + var arrOrgValueTypeCellindex = null; + var orgvalue_cells = []; + var orgvalue_param_idx = arguments.length - 1; + + if (nexacro._isArray(arguments[orgvalue_param_idx])) { + use_arg_len--; + arrOrgValueTypeCellindex = arguments[orgvalue_param_idx]; + } + + if (arrOrgValueTypeCellindex) { + for (var i = 0; i < arrOrgValueTypeCellindex.length; i++) { + orgvalue_cells[(arrOrgValueTypeCellindex[i] | 0)] = true; + } + } + + if (use_arg_len == 2) { + if (type && item && item instanceof nexacro.ExportItem) { + eItem = item; + eItem.parent = this; + eItem._setEventHandler("onprogress", this.on_notify_onprogress, this); + eItem._setEventHandler("onsuccess", this.on_notify_onsuccess, this); + eItem._setEventHandler("onerror", this.on_notify_onerror, this); + eItem._orgvalue_cells = orgvalue_cells; + } + else { + return -1; + } + } + else { + if (type && item && type == this._getItemType(item)) { + eItem = new nexacro.ExportItem(this.id + "item" + this._uniqueIndex++, this); + + eItem._setEventHandler("onprogress", this.on_notify_onprogress, this); + eItem._setEventHandler("onsuccess", this.on_notify_onsuccess, this); + eItem._setEventHandler("onerror", this.on_notify_onerror, this); + eItem._orgvalue_cells = orgvalue_cells; + + switch (use_arg_len) { + case 11: + case 10: + arguments[9] && eItem.set_exportsize(arguments[9]); + case 9: + arguments[8] && eItem.set_exceptstyle(arguments[8]); + case 8: + arguments[7] && eItem.set_exportimage(arguments[7]); + case 7: + arguments[6] && eItem.set_exportvalue(arguments[6]); + case 6: + arguments[5] && eItem.set_exportmerge(arguments[5]); + case 5: + arguments[4] && eItem.set_exportselect(arguments[4]); + case 4: + arguments[3] && eItem.set_exporthead(arguments[3]); + case 3: + arguments[2] && eItem.set_range(arguments[2]); + case 2: + arguments[1] && eItem.set_source(arguments[1]); + break; + } + } + else { + return -1; + } + } + switch (type) { + case nexacro.ExportItemTypes.GRID: + eItem.set_type(type); + size = this._grids.push(eItem) - 1; + eItem._righttoleft = eItem.source._isRtl(); + break; + case nexacro.ExportItemTypes.DATA: + break; + case nexacro.ExportItemTypes.XML: + break; + } + return size; + }; + + _pExcelExport.clear = function () { + var count = 0; + + count += this._grids.length; + count += this._dataset.length; + count += this._xml.length; + + for (var i = 0, len = this._grids.length; i < len; i++) { + var item = this._grids.pop(); + if (item) { + item._clear(); + } + } + + this._grids = []; + this._dataset = []; + this._xml = []; + + return count; + }; + + _pExcelExport.clearExportItems = function (type) { + var length; + if (type == nexacro.ExportItemTypes.GRID) { + length = this._grids.length; + for (var i = 0; i < length; i++) { + var item = this._grids.pop(); + if (item) { + item._clear(); + } + } + this._grids = []; + } + + if (length == 0) { + this._uniqueIndex = 0; + } + return length; + }; + + _pExcelExport.count = function () { + var count = 0; + + count += this._grids.length; + count += this._dataset.length; + count += this._xml.length; + + return count; + }; + + _pExcelExport.countExportItems = function (type) { + var count = 0; + + if (type == nexacro.ExportItemTypes.GRID) { + count += this._grids.length; + } + + return count; + }; + + _pExcelExport.delExportItem = function (type, index) { + var isDelete = false; + + if (type == nexacro.ExportItemTypes.GRID) { + if (this._grids.splice(index, 1).length > 0) { + isDelete = true; + } + } + + return isDelete; + }; + + _pExcelExport.getExportItem = function (type, index) { + var item = null; + + if (type == nexacro.ExportItemTypes.GRID) { + item = this._grids[index]; + } + + return item ? item : null; + }; + + _pExcelExport.setExportItem = function (type, index, item) { + if (!item || !(item instanceof nexacro.ExportItem)) { + return false; + } + + var reVal = false; + + if (type == nexacro.ExportItemTypes.GRID) { + if (index > -1 && index < this._grids.length) { + item.parent = this; + this._grids[index] = item; + reVal = true; + } + } + + return reVal; + }; + + _pExcelExport.exportItems = function (type) { + var g_len = -1; + if (!this.exporturl) { + return g_len; + } + if (type == nexacro.ExportItemTypes.GRID) { + var grid_items = this._grids; + g_len = this._gCount = grid_items.length; + this._allCount = g_len; + + if (g_len > 0) { + if (this.exportmessagealert != "") { + nexacro.alert(this.exportmessagealert); + } + grid_items[0]._gridItemExport(this); + } + } + return g_len; + }; + + _pExcelExport.exportDataEx = function (argsParam, argsDsParam, bFileDownload) { + this._is_export_ex = true; + var retn = this.exportData(argsParam, argsDsParam, 0, bFileDownload); + this._is_export_ex = false; + + return retn; + }; + + _pExcelExport.exportData = function (argsParam, argsDsParam, nOrgValueType, bFileDownload) { + this._argsParam = argsParam; + this._argsDsParam = argsDsParam; + if (typeof nOrgValueType == "string") { + nOrgValueType = nOrgValueType.toLowerCase(); + switch (nOrgValueType) { + case "false": + case "0": + this._orgval_type = 0; + break; + case "true": + case "1": + this._orgval_type = 1; + break; + case "2": + this._orgval_type = 2; + break; + default: + this._orgval_type = 0; + break; + } + } + else if (typeof nOrgValueType == "number") { + nOrgValueType = nexacro._toInt(nOrgValueType); + if (nOrgValueType < 0 || nOrgValueType > 2) { + this._orgval_type = 0; + } + else { + this._orgval_type = nOrgValueType; + } + } + else { + if (nOrgValueType === true || nOrgValueType === false) { + this._orgval_type = nOrgValueType ? 1 : 0; + } + else { + this._orgval_type = 0; + } + } + + this._filedownload = (bFileDownload !== undefined) ? !!bFileDownload : true; + + var i; + + this._file_password = null; + if (this.exportfilepassword) { + this._file_password = this.exportfilepassword; + } + + if (this.exportwordwrap !== "") { + var wordwrap = nexacro._toBoolean(this.exportwordwrap); + if (wordwrap != this._wrap_text) { + this._wrap_text = wordwrap; + } + } + + var ret = -1; + if (!this.exporturl) { + return ret; + } + + var grid_items = this._grids; + var g_len = this._gCount = grid_items.length; + this._allCount = g_len; + if (this._allCount > 0 && this.exportmessagealert != "") { + nexacro.alert(this.exportmessagealert); + } + + + for (i = 0; i < g_len; i++) { + this._allRowCount += grid_items[i].source._getGridRowCount(); + } + if (g_len > 0) { + grid_items[0]._gridItemExport(this); + } + + return this.count(); + }; + + _pExcelExport.destroy = function () { + var exportbar = this._exportBar; + if (exportbar) { + exportbar.destroy(); + } + + for (var i = 0, len = this._grids.length; i < len; i++) { + var item = this._grids.pop(); + if (item) { + item._clear(); + } + } + this._grids = null; + this._dataset = null; + this._grids = null; + this._dataset = null; + + this._excel_suppress_info = null; + this._merge_datas = null; + this._xml.length = 0; + + if (this.parent) { + this.parent.removeChild(this.id); + } + nexacro._EventSinkObject.prototype.destroy.call(this); + return true; + }; + + + _pExcelExport.on_fire_onprogress = function (obj, e) { + var event = this.onprogress; + + if (event && event._has_handlers) { + event._fireEvent(this, e); + } + }; + + _pExcelExport.on_fire_onsuccess = function (obj, e) { + var event = this.onsuccess; + + if (event && event._has_handlers) { + event._fireEvent(this, e); + } + }; + + _pExcelExport.on_fire_onerror = function (obj, e) { + var event = this.onerror; + var ret; + + if (event && event._has_handlers) { + ret = event._fireEvent(this, e); + } + return ret; + }; + + _pExcelExport.on_notify_onprogress = function (obj, e) { + this.on_fire_onprogress(obj, e); + return false; + }; + + _pExcelExport.on_notify_onsuccess = function (obj, e) { + this.on_fire_onsuccess(obj, e); + return false; + }; + + _pExcelExport.on_notify_onerror = function (obj, e) { + this.on_fire_onerror(obj, e); + return false; + }; + + _pExcelExport.on_complete_download = function (status, data, url, errcode, httpcode, errmsg) { + if (status >= 0) { + if (this.exportactivemode == "active") { + nexacro._execShell(data); + } + } + }; + + + _pExcelExport._getItemType = function (item) { + var rt; + switch (item && item._type_name) { + case "Grid": + rt = nexacro.ExportItemTypes.GRID; + break; + case "Dataset": + break; + case "Xml": + break; + default: + if (item instanceof nexacro.Grid) { + rt = nexacro.ExportItemTypes.GRID; + } + break; + } + return rt; + }; + + _pExcelExport._getProcessStr = function (item, itemrecord, totalrecord) { + var str = ""; + str = this.exportmessageprocess.replace("%d", item); + str = str.replace("%d", itemrecord); + str = str.replace("%d", totalrecord); + + return str; + }; + + _pExcelExport._getForm = function () { + if (this.parent instanceof nexacro.Form) { + return this.parent; + } + return null; + }; + + _pExcelExport._getExportBar = function (uiType) { + var form = this._getForm(); + var pbar_name = "_exportBar"; + var obj = form[pbar_name]; + if (obj) { + obj.destroy(); + } + + obj = new nexacro.ExportProgress(pbar_name, 0, 0, 10, 10, null, null, null, null, null, null, form); + form.addChild(obj.name, obj); + obj._uitype = uiType; + if (obj.createComponent(true)) { + obj.on_created(); + } + return obj; + }; + + delete _pExcelExport; + + nexacro.ExportItem = function (name, parent) { + this.id = this.name = name; + this.parent = parent || null; + + + this._merge_datas = null; + this._gridTempInfo = null; + this._tmpSuppressInfos = undefined; + this._stylecache = { + }; + this._excel_suppress_info = { + }; + + this._style_map1 = null; + this._style_map2 = null; + this._ds_style2 = null; + this._ds_style = null; + this._ds_cell = null; + this._ds_response = null; + this._load_manager = null; + this._orgvalue_cells = null; + }; + + var _pExportItem = nexacro.ExportItem.prototype = nexacro._createPrototype(nexacro._EventSinkObject, nexacro.ExportItem); + _pExportItem._type_name = "ExportItem"; + + + _pExportItem.exceptstyle = "none"; + _pExportItem.exporthead = "allband"; + _pExportItem._exporthead = ""; + _pExportItem.exportimage = "none"; + _pExportItem.exportmerge = "suppress"; + _pExportItem._exportmerge = 1; + _pExportItem.exportselect = "allrecord"; + _pExportItem.exportvalue = "allstyle"; + _pExportItem.exportsize = "width"; + + _pExportItem.range = ""; + _pExportItem.source = ""; + _pExportItem.type = ""; + + _pExportItem._applyA = true; + _pExportItem._applyB = true; + _pExportItem._applyC = true; + _pExportItem._applyF = true; + _pExportItem._applyHead = true; + _pExportItem._applySumm = true; + _pExportItem._applyL = true; + _pExportItem._d_BLColor = ""; + + _pExportItem._seq = 1; + _pExportItem._preStartRow = 0; + _pExportItem._startRow = 0; + _pExportItem._eof = false; + _pExportItem._instanceId = ""; + + _pExportItem._a_ct = 0; + _pExportItem._bg_ct = 0; + _pExportItem._c_ct = 0; + _pExportItem._f_ct = 0; + _pExportItem._l_ct = 0; + _pExportItem._t_ct = 0; + _pExportItem._sm_ct = 0; + _pExportItem._g_ct = 0; + _pExportItem._s_ct = 0; + _pExportItem._selectcount = 0; + + _pExportItem._righttoleft = false; + + _pExportItem._event_list = { + "onsuccess" : 1, + "onprogress" : 1, + "onerror" : 1 + }; + + _pExportItem._suppress_align_table = { + "first" : "top", + "first,over" : "top", + "middle" : "middle", + "middle,over" : "middle", + "last" : "bottom", + "last,over" : "bottom" + }; + + _pExportItem._clear = function () { + if (this._ds_style2) { + this._ds_style2.destroy(); + this._ds_style2 = null; + delete this._ds_style2; + } + + if (this._ds_style) { + this._ds_style.destroy(); + this._ds_style = null; + delete this._ds_style; + } + + if (this._style_map1) { + this._style_map1 = null; + } + + if (this._style_map2) { + this._style_map2 = null; + } + + if (this._ds_command) { + this._ds_command.destroy(); + this._ds_command = null; + delete this._ds_command; + } + + if (this._ds_cell) { + this._ds_cell.destroy(); + this._ds_cell = null; + delete this._ds_cell; + } + + if (this._ds_response) { + this._ds_response.destroy(); + this._ds_response = null; + delete this._ds_response; + } + if (this._load_manager) { + this._load_manager.destroy(); + this._load_manager = null; + delete this._load_manager; + } + + if (this._merge_datas) { + this._merge_datas = null; + } + if (this._stylecache) { + this._stylecache = null; + } + if (this.source) { + this.source = null; + } + if (this._gridTempInfo) { + this._gridTempInfo = null; + } + if (this._excel_suppress_info) { + this._excel_suppress_info = null; + } + + if (this._tmpSuppressInfos) { + this._tmpSuppressInfos = null; + } + + this._righttoleft = false; + this._orgvalue_cells = null; + }; + + + _pExportItem.set_exceptstyle = function (v) { + if (v != this.exceptstyle) { + var chkExceptstyle = 0; + + var except = v.replace(/ /g, "").split(","); + var eLen = except.length; + for (var i = 0; i < eLen; i++) { + switch (except[i].toLowerCase()) { + case "align": + this._applyA = false; + chkExceptstyle += 1; + break; + case "background": + this._applyB = false; + chkExceptstyle += 1; + break; + case "color": + this._applyC = false; + chkExceptstyle += 1; + break; + case "font": + this._applyF = false; + chkExceptstyle += 1; + break; + case "border": + this._applyL = false; + chkExceptstyle += 1; + break; + case "none": + this._applyA = true; + this._applyB = true; + this._applyC = true; + this._applyF = true; + this._applyL = true; + chkExceptstyle += 1; + break; + } + } + + if (eLen === chkExceptstyle) { + this.exceptstyle = v; + } + } + + return v; + }; + + _pExportItem.set_exporthead = function (v) { + if (v != this.exporthead) { + this.exporthead = v; + var except = v.replace(/ /g, "").split(","); + var eLen = except.length; + for (var i = 0; i < eLen; i++) { + switch (except[i].toLowerCase()) { + case "nohead": + this._applyHead = false; + break; + case "nosumm": + this._applySumm = false; + break; + default: + this._applySumm = true; + this._applySumm = true; + break; + } + } + } + + if (!this._applyHead || !this._applySumm) { + if (!this._applyHead && !this._applySumm) { + this._exporthead = "nohead, nosumm"; + } + else if (!this._applyHead) { + this._exporthead = "nohead"; + } + else { + this._exporthead = "nosumm"; + } + } + else { + this._exporthead = "allband"; + } + + return v; + }; + + _pExportItem.set_exportimage = function (v) { + if (v != this.exportimage) { + this.exportimage = v; + } + + return v; + }; + + _pExportItem.set_exportmerge = function (v) { + if (v != this.exportmerge) { + this.exportmerge = v; + switch (v) { + case "nosuppress": + this._exportmerge = 0; + break; + case "merge": + this._exportmerge = 2; + break; + default: + this._exportmerge = 1; + break; + } + } + + return v; + }; + + _pExportItem.set_exportselect = function (v) { + if (v != this.exportselect) { + this.exportselect = v; + } + return v; + }; + + _pExportItem.set_exportvalue = function (v) { + if (v != this.exportvalue) { + this.exportvalue = v; + } + return v; + }; + + + _pExportItem.set_range = function (v) { + if (v != this.range) { + this.range = v; + } + + return v; + }; + + _pExportItem.set_source = function (v) { + if (v != this.source) { + this.source = v; + } + + return v; + }; + + _pExportItem.set_type = function (v) { + if (v != this.type) { + this.type = v; + } + + return v; + }; + + _pExportItem.set_exportsize = function (v) { + if (v != this.exportsize) { + this.exportsize = v; + } + return v; + }; + + + + + _pExportItem.on_fire_onprogress = function (obj, itemindex, itemtype, recordindex) { + var event = this.parent.onprogress; + + if (event && event._has_handlers) { + var evt = new nexacro.ExcelExportProgressEventInfo(obj, "onprogress", itemindex, itemtype, recordindex, this); + event._fireEvent(this, evt); + } + }; + + _pExportItem.on_fire_onsuccess = function (obj, referObj, url) { + var event = this.parent.onsuccess; + + if (event && event._has_handlers) { + var evt = new nexacro.ExcelExportEventInfo(obj, "onsuccess", url, this); + event._fireEvent(this, evt); + } + }; + + + _pExportItem.on_fire_onerror = function (obj, errortype, errormsg, statuscode) { + var event = this.parent.onerror; + + if (event && event._has_handlers) { + var evt = new nexacro.ExcelExportErrorEventInfo(obj, "onerror", errortype, errormsg, this, statuscode); + event._fireEvent(this, evt); + } + }; + + _pExportItem._getWindow = function () { + var excelexport = this.parent; + if (excelexport) { + var form = excelexport.parent; + if (form._is_form) { + return form._getWindow(); + } + } + return null; + }; + + _pExportItem._getWindowHandle = function () { + var excelexport = this.parent; + if (excelexport) { + var form = excelexport.parent; + if (form._is_form) { + return form._getWindowHandle(); + } + } + return null; + }; + + _pExportItem._getCellStyle = function (cell, rowIdx, odd, sn, status) { + var cellStyleinfo; + var userstatus = status == true ? "selected" : undefined; + + switch (sn) { + case "align": + cellStyleinfo = cell._query_status_align(rowIdx, cell.displaytype, userstatus); + break; + case "background": + cellStyleinfo = cell._query_status_background(rowIdx, userstatus); + break; + case "border": + cellStyleinfo = cell._query_status_border(rowIdx, userstatus); + cellStyleinfo = nexacro.BorderObject(cellStyleinfo); + break; + case "color": + cellStyleinfo = cell._query_status_color(rowIdx, userstatus); + break; + case "font": + cellStyleinfo = cell._query_status_font(rowIdx, userstatus); + break; + case "textDecoration": + cellStyleinfo = cell._grid._getCellStyleInfo(cell._cellidx, "textDecoration", rowIdx, userstatus); + if (cellStyleinfo) { + cellStyleinfo = cellStyleinfo.match(/underline|line-through/g); + if (cellStyleinfo) { + cellStyleinfo = cellStyleinfo.join(","); + cellStyleinfo = cellStyleinfo.replace("line-through", "strikeout"); + } + } + + break; + } + return cellStyleinfo; + }; + + + _pExportItem._getCellText = function (source, rowidx, cellidx, subcellidx) { + var celltext; + + if (source && source instanceof nexacro.Grid) { + var band; + if (rowidx == -1) { + band = "head"; + } + else if (rowidx == -2) { + band = "summ"; + } + else { + band = "body"; + } + + var export_obj = this.parent; + var display_type = source.getCellProperty(band, cellidx, "displaytype"); + var orgv_cells = this._orgvalue_cells; + var isdecorate = false; + if (display_type == "decoratetext") { + isdecorate = true; + } + + if (source.getSubCellCount(band, cellidx)) { + if (subcellidx == undefined) { + return null; + } + + if (orgv_cells[cellidx]) { + celltext = source.getSubCellValue(rowidx, cellidx, subcellidx); + } + else if (export_obj._orgval_type) { + if (export_obj._orgval_type != 2 || (export_obj._orgval_type == 2 && display_type != "date")) { + celltext = source.getSubCellValue(rowidx, cellidx, subcellidx); + isdecorate = false; + } + else { + celltext = source.getSubCellText(rowidx, cellidx, subcellidx); + } + } + else { + celltext = source.getSubCellText(rowidx, cellidx, subcellidx); + } + } + else { + if (orgv_cells[cellidx]) { + celltext = source.getCellValue(rowidx, cellidx); + } + else if (export_obj._orgval_type) { + if (export_obj._orgval_type != 2 || (export_obj._orgval_type == 2 && display_type != "date")) { + celltext = source.getCellValue(rowidx, cellidx); + isdecorate = false; + } + else { + celltext = source.getCellText(rowidx, cellidx); + } + } + else { + celltext = source.getCellText(rowidx, cellidx); + } + } + + if (isdecorate) { + celltext = nexacro._getDisplayTextfromDecorateText(celltext); + } + } + + return celltext; + }; + + _pExportItem._getCellLocale = function (cell, rowidx) { + var locale = cell ? cell._getLocale(rowidx) : ""; + if (!locale) { + locale = nexacro._locale ? nexacro._locale : nexacro._getLocale(); + } + + locale = locale.replace(/-/g, "_"); + + return locale; + }; + + _pExportItem._find_styleName = function (dataset, type, value, count, startRow) { + var style_map; + if (dataset.id == "STYLE") { + style_map = this._style_map1; + if (!style_map) { + style_map = this._style_map1 = { + }; + } + } + else if (dataset.id == "STYLE2") { + style_map = this._style_map2; + if (!style_map) { + style_map = this._style_map2 = { + }; + } + } + + var style_arr; + if (style_map) { + style_arr = style_map[type]; + } + else { + style_map = { + }; + } + + if (!style_arr) { + style_arr = style_map[type] = []; + } + + var len = style_arr.length; + var style_name, val; + if (len > 0) { + for (var i = 0; i < len; i++) { + val = style_map[type][i].value; + if (value == val) { + style_name = style_map[type][i].name; + break; + } + } + } + + if (!style_name) { + style_name = type + (++count); + style_map[type][len] = { + value : value, + name : style_name + }; + + var r_count = dataset.getRowCount(); + dataset.addRow(); + dataset.setColumn(r_count, "type", type); + dataset.setColumn(r_count, "name", style_name); + + var delimiter = String.fromCharCode(29); + if (value) { + val = value.toString(); + var extra_value = val.split(delimiter); + if (extra_value.length > 1) { + value = extra_value[0]; + var locale = extra_value[1]; + dataset.setColumn(r_count, "locale", locale); + } + } + dataset.setColumn(r_count, "value", value); + } + return [style_name, count]; + }; + + _pExportItem._getFitValue = function (obj) { + if (!obj) { + return; + } + + var str = this._fontParseInfo(obj._sysvalue); + + return str; + }; + + _pExportItem._getFitFontValue = function (fontval) { + var size = this._default_size, face = this._default_face, type; + var unit; + + if (fontval) { + var font = new nexacro._FontObject(fontval); + font._parseInfo(fontval); + + size = font.size; + type = font.type; + face = font.face; + unit = font._unit; + + if (unit == "px") { + size = parseInt(nexacro._convertPxToPt(size)); + } + } + + return type + "," + size + "," + face; + }; + + _pExportItem._getHEXtoRGB = function (color) { + var rgb = "transparent"; + if (color) { + if (typeof color == "object") { + rgb = this._getHexColor(color.value.split(" ")[0]); + } + else if (typeof (color) == "string" && (color.indexOf("rgb(") >= 0) || (color.indexOf("RGB(") >= 0)) { + rgb = "rgbstring"; + } + else if (typeof (color) == "string" && (color.indexOf("rgba(") >= 0) || (color.indexOf("RGBA(") >= 0)) { + rgb = "rgbastring"; + } + else { + rgb = this._getHexColor(color); + } + var style_a = []; + + if (rgb === "") { + rgb = color._value; + } + else { + if (rgb.indexOf("#") > -1) { + style_a.push(parseInt(rgb.substring(1, 3), 16)); + style_a.push(parseInt(rgb.substring(3, 5), 16)); + style_a.push(parseInt(rgb.substring(5, 7), 16)); + rgb = style_a.join(","); + } + else if (rgb == "rgbstring") { + color = color.substring(4, 17); + color = color.split(","); + + for (var i = 0; i < color.length; i++) { + color[i] = parseInt(color[i]); + } + rgb = color.join(","); + } + else if (rgb == "rgbastring" || rgb == "transparent") { + rgb = "transparent"; + } + else { + var start = rgb.indexOf("("); + var end = rgb.indexOf(")"); + style_a = rgb.substring(start + 1, end - 1).split(","); + style_a.pop(); + rgb = style_a.join(","); + } + } + } + return rgb; + }; + + _pExportItem._makeforDsStyle = function (ds_style, align, background, color, font, line, cell_type, row_merge, col_merge) { + var rt, style_name = ""; + var cellStyleinfo = ""; + + if (this._applyA) { + rt = this._find_styleName(ds_style, "align", align, this._a_ct); + style_name = rt[0]; + this._a_ct = rt[1]; + cellStyleinfo += "align:" + style_name + ","; + } + if (this._applyB) { + rt = this._find_styleName(ds_style, "background", background, this._bg_ct); + style_name = rt[0]; + this._bg_ct = rt[1]; + cellStyleinfo += "background:" + style_name + ","; + } + if (this._applyC) { + rt = this._find_styleName(ds_style, "color", color, this._c_ct); + style_name = rt[0]; + this._c_ct = rt[1]; + cellStyleinfo += "color:" + style_name + ","; + } + if (this._applyF) { + rt = this._find_styleName(ds_style, "font", font, this._f_ct); + style_name = rt[0]; + this._f_ct = rt[1]; + cellStyleinfo += "font:" + style_name + ","; + } + + line = line.replace(/transparent,[^:]*/g, "empty"); + + rt = this._find_styleName(ds_style, "line", line, this._l_ct); + style_name = rt[0]; + this._l_ct = rt[1]; + cellStyleinfo += "line:" + style_name + ","; + + rt = this._find_styleName(ds_style, "type", cell_type, this._t_ct); + style_name = rt[0]; + this._t_ct = rt[1]; + cellStyleinfo += "type:" + style_name; + + if (row_merge > 1) { + rt = this._find_styleName(ds_style, "rowsuppress", row_merge, this._sm_ct); + style_name = rt[0]; + this._sm_ct = rt[1]; + cellStyleinfo += ",rowsuppress:" + style_name; + } + if (col_merge > 1) { + rt = this._find_styleName(ds_style, "colsuppress", col_merge, this._sm_ct); + style_name = rt[0]; + this._sm_ct = rt[1]; + cellStyleinfo += ",colsuppress:" + style_name; + } + + rt = this._find_styleName(ds_style, "style", cellStyleinfo, this._s_ct); + style_name = rt[0]; + this._s_ct = rt[1]; + + return style_name; + }; + + _pExportItem._checkExpr = function (obj, cssclass) { + if (cssclass && cssclass._bindtype > 0) { + return true; + } + + if (obj && obj._bindtype > 0) { + return true; + } + + return false; + }; + + _pExportItem._checkGradation = function (background) { + return false; + }; + + _pExportItem._getHexColor = function (color) { + var v = nexacro._xreNamedColorList[color]; + if (v) { + return v; + } + + var len = color.length; + if (color.substring(0, 1) == '#') { + if (len == 7) { + return color; + } + if (len > 7) { + return color.substr(0, 7); + } + } + if (color.substring(0, 2) == "0x") { + if (len == 8) { + return "#" + color.substring(2); + } + if (len == 10) { + return "#" + color.substring(2, 8); + } + } + return ""; + }; + + _pExportItem._getGradationColor = function (gradation) { + var gColor; + var gColor2; + var gArr = []; + if (gradation) { + gColor = gradation._value; + if (gColor != "") { + gColor = this._getHexColor(gradation.start_color); + gColor2 = this._getHexColor(gradation.end_color); + + if (gColor.indexOf("#") > -1) { + var name = gColor + gColor2; + if (this._stylecache[name]) { + return this._stylecache[name]; + } + else { + gArr.push(Math.round((parseInt(gColor.substring(1, 3), 16) + parseInt(gColor2.substring(1, 3), 16)) / 2)); + gArr.push(Math.round((parseInt(gColor.substring(3, 5), 16) + parseInt(gColor2.substring(3, 5), 16)) / 2)); + gArr.push(Math.round((parseInt(gColor.substring(5), 16) + parseInt(gColor2.substring(5), 16)) / 2)); + gColor = gArr.join(","); + this._stylecache[name] = gColor; + } + } + return gColor; + } + } + return ""; + }; + + _pExportItem._getCellBodyStyle = function (cell, idx) { + var align, background, background2, color, color2, font, line, gradation2, c_style, c_style2, _background2, _color2; + + var ds_style = this._ds_style; + var flag = false; + var viewType = cell.displaytype._value; + var _linestyle = "empty:empty:empty:empty"; + var linecolor = { + vertical : "empty", + horizon : "empty" + }; + + align = cell._query_status_align(0, viewType); + if (align == ",") { + align = "left,"; + } + background = cell._query_status_background(0); + color = cell._query_status_color(0); + font = cell._query_status_font(0); + + if (this._applyL) { + line = cell._query_status_border(0); + line = nexacro.BorderObject(line); + } + + background2 = cell._query_status_background(1); + color2 = cell._query_status_color(1); + var _background; + + var _align = align; + if (this._checkGradation(background)) { + } + else { + _background = this._getHEXtoRGB(background); + } + + var _color = this._getHEXtoRGB(color); + var _font = nexacro._nvl(this._getFitFontValue(font), ""); + var textdecoration = this._getCellStyle(cell, 0, false, "textDecoration", "enabled"); + if (textdecoration) { + _font = textdecoration + "," + _font; + } + + if (this._applyL && line) { + if (line.right && line.right.style != "none" && line.right._width != 0) { + linecolor.vertical = this._getHEXtoRGB(line.right.color) + (line.right.style == "solid" ? "" : "," + line.right.style); + linecolor.horizon = this._getHEXtoRGB(line.bottom.color) + (line.bottom.style == "solid" ? "" : "," + line.bottom.style); + if (this._applyHead) { + _linestyle = (cell._col == 0 ? linecolor.vertical : "empty") + ":" + "empty" + ":"; + } + else { + _linestyle = (cell._col == 0 ? linecolor.vertical : "empty") + ":" + (cell._row == 0 ? linecolor.horizon : "empty") + ":"; + } + + _linestyle += linecolor.vertical + ":" + linecolor.horizon; + } + } + + if (this._checkExpr(align, cell.cssclass)) { + _align = undefined; + } + else { + this._stylecache[idx + "align"] = _align; + } + if (this._checkExpr(background, cell.cssclass)) { + _background = undefined; + } + else { + this._stylecache[idx + "background0"] = _background; + } + if (this._checkExpr(color, cell.cssclass)) { + _color = undefined; + } + else { + this._stylecache[idx + "color0"] = _color; + } + if (this._checkExpr(font, cell.cssclass)) { + _font = undefined; + } + else { + this._stylecache[idx + "font"] = _font; + } + if (this._checkExpr(line, cell.cssclass)) { + } + else { + this._stylecache[idx + "line"] = _linestyle; + } + + if (background2) { + if (this._checkGradation(background2)) { + gradation2 = cell._stylecache.gradationtruefalsenormal; + if (!gradation2) { + gradation2 = cell.style.gradation2; + if (!gradation2) { + gradation2 = cell._query_pseudo_gradation(0, true, false, "enabled"); + } + } + _background2 = this._getGradationColor(gradation2); + } + else { + _background2 = this._getHEXtoRGB(background2); + } + if (this._checkExpr(background2, cell.cssclass)) { + _background2 = undefined; + } + else { + this._stylecache[idx + "background1"] = _background2; + } + if (_background != _background2) { + flag = true; + } + } + else { + this._stylecache[idx + "background1"] = _background2 = _background; + } + if (color2) { + _color2 = this._getHEXtoRGB(color2); + if (this._checkExpr(color2, cell.cssclass)) { + _color2 = undefined; + } + else { + this._stylecache[idx + "color1"] = _color2; + } + if (_color != _color2) { + flag = true; + } + } + else { + this._stylecache[idx + "color1"] = _color2 = _color; + } + + var cell_type = this._getFixedCellType(cell, 0); + c_style = this._makeforDsStyle(ds_style, _align, _background, _color, _font, _linestyle, cell_type); + if (flag) { + c_style2 = this._makeforDsStyle(ds_style, _align, _background2, _color2, _font, _linestyle, cell_type); + } + + var subCell = cell._subcells; + var subL = subCell.length; + if (subL) { + var subCellFormat = ""; + for (var i = 0; i < subL; i++) { + subCellFormat += this._modifyFormat(subCell[i], c_style, c_style2, 0, cell); + } + return subCellFormat; + } + else { + return this._modifyFormat(cell, c_style, c_style2, 0); + } + }; + + _pExportItem._getFixedCellType = function (cell, rowidx) { + var cell_type = cell._getDisplaytype(rowidx); + var displaytype = ""; + var format; + var exportObj = this.parent; + + if (exportObj._is_export_ex) { + if (!this._orgvalue_cells[cell._cellidx]) { + return "text"; + } + } + + switch (cell_type) { + case "number": + break; + case "maskeditcontrol": + case "mask": + format = cell._getAttrValue(cell.maskeditformat, rowidx); + if (format != null && format.length != 0) { + displaytype = format; + } + + var masktype = cell._getAttrValue(cell.maskedittype, rowidx); + if (masktype == "number") { + cell_type = "number"; + } + else { + cell_type = "text"; + } + + break; + case "calendarcontrol": + case "date": + case "time": + case "datetime": + cell_type = "date"; + var locale; + format = cell._getAttrValue(cell.calendardateformat, rowidx); + if (format == null || format.length == 0 || !format.match(/LONGDATE|SHORTDATE|[yMdHhms]/)) { + format = "yyyy-MM-dd"; + } + else { + locale = cell._getAttrValue(cell.locale, rowidx); + if (!locale) { + locale = nexacro._BrowserLang; + } + + if (format == "SHORTDATE") { + format = nexacro.Locale._makeDateMaskString(locale, format); + if (format == "") { + format = nexacro.Locale._default_shortdate_format; + } + } + else if (format == "LONGDATE") { + format = nexacro.Locale._makeDateMaskString(locale, "SHORTDATE"); + if (format == "") { + format = nexacro.Locale._default_longdate_format; + } + } + } + displaytype = format; + + locale = this._getCellLocale(cell, rowidx); + var delimiter = String.fromCharCode(29); + + if (locale) { + displaytype += delimiter + locale; + } + + break; + case "imagecontrol": + if (this.exportimage.toLowerCase() == "image") { + displaytype += "image"; + } + cell_type = "text"; + break; + case "text": + if (cell._getAttrValue(cell.displaytype, rowidx) == "normal") { + cell_type = "normal"; + } + else { + cell_type = "text"; + } + break; + default: + cell_type = "text"; + break; + } + return cell_type + (displaytype ? ":" + displaytype : ""); + }; + + _pExportItem._modifyFormat = function (cell, style1, style2, rowidx, mainCell, virtual_merge_value) { + var text, temp_str, str; + temp_str = str = ""; + var colspan = cell._colspan; + var rowspan = cell._rowspan; + var row = cell._row; + var col = cell._col; + var _row = row; + var _col = col; + + if (rowidx < 0) { + text = cell._getDisplayText(rowidx); + if (cell._getDisplaytype(rowidx) == "decoratetext") { + text = nexacro._getDisplayTextfromDecorateText(text); + } + } + else { + text = cell.text._value; + } + + text = nexacro._encodeXml(text); + if (mainCell) { + row = _row + mainCell._row; + col = _col + mainCell._col; + } + + str += "'; + } + str += ""; + for (i = 0, frLen = f_hrows ? f_hrows.length : 0; i < frLen; i++) { + str += ''; + } + for (i = 0, frLen = f_brows ? f_brows.length : 0; i < frLen; i++) { + str += ''; + } + for (i = 0, frLen = f_srows ? f_srows.length : 0; i < frLen; i++) { + str += ''; + } + str += ""; + + if (hLen > 0 && this._applyHead) { + str += ""; + for (i = 0; i < hLen; i++) { + if (nexacro._Browser == "Runtime") { + nexacro._peekWindowHandleMessageQueuePassing(this._getWindow()); + } + + cell = hCells[i]; + background = this._getCellStyle(cell, -1, false, "background", "enabled"); + if (this._checkGradation(background)) { + gradation = this._getCellStyle(cell, -1, false, "gradation", "enabled"); + bg = this._getGradationColor(gradation); + } + else { + bg = this._getHEXtoRGB(background); + } + + align = this._getCellStyle(cell, -1, false, "align", "enabled"); + font = this._getFitFontValue(this._getCellStyle(cell, -1, false, "font", "enabled")); + textdecoration = this._getCellStyle(cell, -1, false, "textDecoration", "enabled"); + if (textdecoration) { + font = textdecoration + "," + font; + } + + color = this._getHEXtoRGB(this._getCellStyle(cell, -1, false, "color", "enabled")); + linecolor = { + vertical : "empty", + horizon : "empty" + }; + + if (this._applyL) { + line = this._getCellStyle(cell, -1, false, "border", "enabled"); + + if (line) { + if (line.right && line.right.style != "none" && line.right._width != 0) { + linecolor.vertical = this._getHEXtoRGB(line.right.color) + (line.right.style == "solid" ? "" : "," + line.right.style); + } + + if (line.bottom && line.bottom.style != "none" && line.bottom._width != 0) { + linecolor.horizon = this._getHEXtoRGB(line.bottom.color) + (line.bottom.style == "solid" ? "" : "," + line.bottom.style); + } + } + } + + cell_type = this._getFixedCellType(cell, -1); + subCell = cell._subcells; + subL = subCell.length; + if (subL) { + for (j = 0; j < subL; j++) { + linestyle = this._getSubCellLine(subCell[j], linecolor, linecolor, cell._rowspan - 1, cell._colspan - 1); + style = this._makeforDsStyle(ds_style, align, bg, color, font, linestyle, cell_type); + str += this._modifyFormat(subCell[j], style, null, -1, cell); + } + } + else { + linestyle = (cell._col == 0 ? linecolor.vertical : "empty") + ":" + (cell._row == 0 ? linecolor.horizon : "empty") + ":"; + linestyle += linecolor.vertical + ":" + linecolor.horizon; + + + if (this._exportmerge == 1) { + if (!!grid._checkVirtualMerge(cell, -1)) { + linestyle = this._makeVirtualLine(cell._virtualmerge_infos[1].remove, linecolor, true); + virtual_value = ""; + + merge_data = this._merge_datas && this._merge_datas[-1 + "_" + i]; + if (merge_data) { + if (merge_data.isVirtualStart) { + virtual_value = nexacro._encodeXml(cell._getDisplayText(-1)); + if (align != "left,top") { + temp_align = align.split(","); + merge_str = merge_data[temp_align[1]] + "_" + merge_data[temp_align[0]]; + if (this._merge_datas[merge_str]) { + this._merge_datas[merge_str].disPlayText = virtual_value; + this._merge_datas[merge_str].showText = true; + } + else { + this._merge_datas[merge_str] = { + disPlayText : virtual_value, + showText : true + }; + } + } + virtual_value = ""; + } + else if (merge_data.showText) { + virtual_value = merge_data.disPlayText; + } + } + } + } + else if (this._exportmerge == 2) { + merge_data = this._merge_datas && this._merge_datas[-1 + "_" + i]; + if (merge_data) { + if (merge_data.isVirtualStart) { + virtual_value = "rowspan=\"" + merge_data.rowspan + "\" colspan=\"" + merge_data.colspan + "\" "; + } + else { + need_merge_cell = true; + } + } + } + + if (!need_merge_cell) { + style = this._makeforDsStyle(ds_style, align, bg, color, font, linestyle, cell_type); + str += this._modifyFormat(cell, style, null, -1, false, virtual_value); + } + } + } + str += ""; + } + + if (bLen > 0) { + str += ""; + for (i = 0; i < bLen; i++) { + if (nexacro._Browser == "Runtime") { + nexacro._peekWindowHandleMessageQueuePassing(this._getWindow()); + } + + cell = bCells[i]; + str += this._getCellBodyStyle(cell, i); + } + str += ""; + } + + if (sLen > 0 && this._applySumm) { + str += ""; + for (i = 0; i < sLen; i++) { + if (nexacro._Browser == "Runtime") { + nexacro._peekWindowHandleMessageQueuePassing(this._getWindow()); + } + + cell = sCells[i]; + background = this._getCellStyle(cell, -2, false, "background", "enabled"); + if (this._checkGradation(background)) { + gradation = this._getCellStyle(cell, -2, false, "gradation", "enabled"); + bg = this._getGradationColor(gradation); + } + else { + bg = this._getHEXtoRGB(background); + } + align = this._getCellStyle(cell, -2, false, "align", "enabled"); + font = this._getFitFontValue(this._getCellStyle(cell, -2, false, "font", "enabled")); + textdecoration = this._getCellStyle(cell, -2, false, "textDecoration", "enabled"); + if (textdecoration) { + font = textdecoration + "," + font; + } + + color = this._getHEXtoRGB(this._getCellStyle(cell, -2, false, "color", "enabled")); + linecolor = { + vertical : "empty", + horizon : "empty" + }; + + if (this._applyL) { + line = this._getCellStyle(cell, -2, false, "border", "enabled"); + + if (line) { + if (line.right && line.right.style != "none" && line.right._width != 0) { + linecolor.vertical = this._getHEXtoRGB(line.right.color) + (line.right.style == "solid" ? "" : "," + line.right.style); + } + + if (grid.summarytype == "default") { + if (line.top && line.top.style != "none" && line.top._width != 0) { + linecolor.horizon = this._getHEXtoRGB(line.top.color) + (line.top.style == "solid" ? "" : "," + line.top.style); + } + } + else { + if (line.bottom && line.bottom.style != "none" && line.bottom.width != 0) { + linecolor.horizon = this._getHEXtoRGB(line.bottom.color) + (line.bottom.style == "solid" ? "" : "," + line.bottom.style); + } + } + } + } + + cell_type = this._getFixedCellType(cell, -2); + subCell = cell._subcells; + subL = subCell.length; + if (subL) { + for (j = 0; j < subL; j++) { + linestyle = this._getSubCellLine(subCell[j], linecolor, linecolor, cell._rowspan - 1, cell._colspan - 1); + style = this._makeforDsStyle(ds_style, align, bg, color, font, linestyle, cell_type); + str += this._modifyFormat(subCell[j], style, null, -2, cell); + } + } + else { + need_merge_cell = false; + linestyle = linecolor.vertical + ":" + linecolor.horizon + ":" + linecolor.vertical + ":" + linecolor.horizon; + if (this._exportmerge == 1) { + if (!!grid._checkVirtualMerge(cell, -2)) { + linestyle = this._makeVirtualLine(cell._virtualmerge_infos[0].remove, linecolor); + virtual_value = ""; + + merge_data = this._merge_datas && this._merge_datas[-2 + "_" + i]; + if (merge_data) { + if (merge_data.isVirtualStart) { + virtual_value = nexacro._encodeXml(cell._getDisplayText(-2)); + if (align != "left,top") { + temp_align = align.split(","); + merge_str = merge_data[temp_align[1]] + "_" + merge_data[temp_align[0]]; + if (this._merge_datas[merge_str]) { + this._merge_datas[merge_str].disPlayText = virtual_value; + this._merge_datas[merge_str].showText = true; + } + else { + this._merge_datas[merge_str] = { + disPlayText : virtual_value, + showText : true + }; + } + virtual_value = ""; + } + } + else if (merge_data.showText) { + virtual_value = merge_data.disPlayText; + } + } + } + } + else if (this._exportmerge == 2) { + if (!!grid._checkVirtualMerge(cell, -2)) { + merge_data = this._merge_datas && this._merge_datas[-2 + "_" + i]; + if (merge_data) { + if (merge_data.isVirtualStart) { + virtual_value = "rowspan=\"" + merge_data.rowspan + "\" colspan=\"" + merge_data.colspan + "\" "; + } + else { + need_merge_cell = true; + } + } + } + } + + if (!need_merge_cell) { + style = this._makeforDsStyle(ds_style, align, bg, color, font, linestyle, cell_type); + str += this._modifyFormat(cell, style, null, -2, false, virtual_value); + } + } + } + str += ""; + } + + str += ""; + return str; + }; + + _pExportItem._getForm = function () { + return this.parent.parent; + }; + + _pExportItem._eventExport = function (exportObj, type, row_index, selectCnt) { + var eventtype = exportObj.exporteventtype; + var itemIndex = exportObj._itemsIndex; + var exportbar = exportObj._exportBar; + if (eventtype != "none") { + var row_num = row_index + 1; + var processStr = ""; + var is_end = row_num == this._bodyRowCnt; + var progress_pos = exportObj._progress_pos + row_num; + if (eventtype == "item" && is_end) { + this.on_fire_onprogress(exportObj, itemIndex, this.type, selectCnt == null ? row_index : selectCnt); + if (exportbar) { + processStr = exportObj._getProcessStr(itemIndex + 1, progress_pos, exportObj._allRowCount); + exportbar._set_text(processStr); + exportbar._set_pos((itemIndex + 1) / exportObj._allCount * 100); + } + } + else if (eventtype == "itemrecord") { + this.on_fire_onprogress(exportObj, itemIndex, this.type, selectCnt == null ? row_index : selectCnt); + if (exportbar) { + processStr = exportObj._getProcessStr(itemIndex + 1, row_num, this._bodyRowCnt); + exportbar._set_text(processStr); + exportbar._set_pos(row_num / this._bodyRowCnt * 100); + } + } + else if (eventtype == "totalrecord") { + this.on_fire_onprogress(exportObj, itemIndex, this.type, selectCnt == null ? row_index : selectCnt); + if (exportbar) { + processStr = exportObj._getProcessStr(itemIndex + 1, progress_pos, exportObj._allRowCount); + exportbar._set_text(processStr); + exportbar._set_pos(progress_pos / exportObj._allRowCount * 100); + } + } + + if (progress_pos == exportObj._allRowCount && exportObj.exportmessagecomplete != "") { + if (exportbar) { + exportbar._set_text(exportObj.exportmessagecomplete); + } + } + if (is_end && exportbar) { + if (eventtype == "itemrecord") { + exportObj._progress_pos = progress_pos; + } + else { + exportObj._progress_pos += this._startRow - this._preStartRow; + } + } + } + }; + + _pExportItem._updateBarPos = function (exportObj, eventtype) { + if (eventtype != "none" && exportObj._exportuitype) { + var itemIndex = exportObj._itemsIndex + 1; + var exportbar = exportObj._exportBar; + exportObj._progress_pos += this._startRow - this._preStartRow; + var processStr = ""; + var is_end = this._startRow == this._bodyRowCnt; + if (eventtype == "item" && is_end) { + processStr = exportObj._getProcessStr(itemIndex, exportObj._progress_pos, exportObj._allRowCount); + exportbar._set_text(processStr); + exportbar._set_pos(itemIndex / exportObj._allCount * 100); + } + else if (eventtype == "itemrecord") { + processStr = exportObj._getProcessStr(itemIndex, this._startRow, this._bodyRowCnt); + exportbar._set_text(processStr); + exportbar._set_pos(this._startRow / this._bodyRowCnt * 100); + } + else if (eventtype == "totalrecord") { + processStr = exportObj._getProcessStr(itemIndex, exportObj._progress_pos, exportObj._allRowCount); + exportbar._set_text(processStr); + exportbar._set_pos(exportObj._progress_pos / exportObj._allRowCount * 100); + } + if (exportObj._progress_pos == exportObj._allRowCount && exportObj.exportmessagecomplete != "") { + exportbar._set_text(exportObj.exportmessagecomplete); + } + } + }; + + _pExportItem._rollbackSuppressInfo = function () { + var cells = this.source._curFormat._bodycells; + var supLen = this._tmpSuppressInfos && this._tmpSuppressInfos.length; + for (var i = 0; i < supLen; i++) { + cells[i]._suppress_infos = this._tmpSuppressInfos.shift(); + } + }; + + _pExportItem._gridSuppressUpdate = function (grid, rowcount) { + var cells = grid._curFormat._bodycells; + var cLen = cells.length; + this._tmpSuppressInfos = []; + var i; + + for (i = 0; i < cLen; i++) { + this._tmpSuppressInfos.push(cells[i]._suppress_infos); + } + + grid._analyzeSuppress(true); + + for (i = 0; i < rowcount; i++) { + if (nexacro._Browser == "Runtime") { + nexacro._peekWindowHandleMessageQueuePassing(this._getWindow()); + } + + grid._suppressUpdateRow(i, 0, rowcount - 1, true); + } + }; + + _pExportItem._gridExportContinue = function (exportObj) { + var grid = this.source; + var ds_command = this._ds_command; + + ds_command.setColumn(0, "command", "export"); + ds_command.setColumn(0, "type", exportObj._exporttype); + ds_command.setColumn(0, "item", grid.id); + ds_command.setColumn(0, "seq", this._seq); + ds_command.setColumn(0, "startrow", this._startRow); + ds_command.setColumn(0, "instanceid", this._instanceId); + ds_command.setColumn(0, "url", exportObj._fileURL); + ds_command.setColumn(0, "summarytype", grid.summarytype); + + ds_command.setColumn(0, "range", this.range); + ds_command.setColumn(0, "exportsize", this.exportsize); + ds_command.setColumn(0, "exporthead", this._exporthead); + ds_command.setColumn(0, "exportimage", this.exportimage); + + ds_command.setColumn(0, "exportfilename", exportObj.exportfilename); + ds_command.setColumn(0, "exportfilepath", exportObj.exportfilepath); + ds_command.setColumn(0, "format", ""); + ds_command.setColumn(0, "password", exportObj._file_password); + ds_command.setColumn(0, "wraptext", exportObj._wrap_text); + ds_command.setColumn(0, "righttoleft", this._righttoleft); + + var ds_style = this._ds_style; + + var ds_style2 = this._ds_style2; + + if (!ds_style2) { + ds_style2 = this._ds_style2 = new nexacro.Dataset("STYLE2"); + ds_style2.addColumn("type", "String", 10); + ds_style2.addColumn("name", "String", 32); + ds_style2.addColumn("value", "String", 1024); + ds_style2.addColumn("locale", "String", 32); + } + else { + this._ds_style2.clearData(); + } + + delete this._ds_cell; + var ds = new nexacro.Dataset("CELL"); + this._ds_cell = ds; + + var bodycntcell = grid.getCellCount("body"); + + var bodycntrow = this._bodyRowCnt; + + var style_name; + var sFlag = false; + + if (this._exportmerge && grid._is_use_suppress && bodycntrow >= grid._bodyBand._get_rows().length) { + this._gridSuppressUpdate(grid, bodycntrow); + } + + var export_param = null; + var export_dsparam = null; + if (bodycntcell > 0) { + for (var jj = 0; jj < bodycntcell; jj++) { + ds.addColumn("Column" + jj, "String", 256); + } + + var partitionRow = this._partitionRow + this._startRow; + if (partitionRow >= bodycntrow) { + partitionRow = bodycntrow; + this._eof = true; + export_param = this.parent._argsParam; + export_dsparam = this.parent._argsDsParam; + } + + var cells = grid._curFormat._bodycells; + + var is_selected = false; + var rr = 0; + var subcnt; + var d_BLColor, merge_data, line, cell_type; + + var emptyCellFlag = false; + var _win = this._getWindow(); + + for (var k = this._startRow; k < partitionRow; k++) { + if (nexacro._Browser == "Runtime") { + nexacro._peekWindowHandleMessageQueuePassing(_win); + } + + subcnt = 0; + var val, j; + var selectChk = false; + for (j = 0; j < bodycntcell; j++) { + selectChk = selectChk || grid.isSelectedCell(j, "body", k, -9); + } + var is_selectRec = this.exportselect == "selectrecord"; + var idx; + if (selectChk || !is_selectRec) { + idx = ds.addRow(); + if (is_selectRec) { + this._eventExport(exportObj, this.type, k, this._selectcount++); + } + else { + this._eventExport(exportObj, this.type, k); + } + } + else { + continue; + } + + var odd = k % 2; + var activate_select_style = (this.exportvalue == "selectstyle"); + for (j = 0; j < bodycntcell; j++) { + emptyCellFlag = false; + is_selected = grid.isSelectedCell(j, "body", k, -9); + if (!is_selected) { + if (is_selectRec) { + emptyCellFlag = true; + } + } + var backgroundCell; + var alignCell; + var fontCell; + var colorCell; + var lineCell; + + + var cell = cells[j]; + var rowspan = cell._rowspan; + var suppress_infos = cell._suppress_infos; + var selected = is_selected && activate_select_style; + + var iscssclassexpr = this._checkExpr(null, cell.cssclass); + var cssclasses = iscssclassexpr ? cell._getAttrValue(cell.cssclass, k) : ""; + + var cacheindex = j + (cssclasses ? cssclasses : ""); + var selectedcc = selected ? "-c" : ""; + + var cacheA = this._stylecache[cacheindex + "align" + selectedcc]; + var cacheL = this._stylecache[cacheindex + "line" + selectedcc]; + var cacheB, cacheC, cacheF; + + + { + + if (emptyCellFlag) { + cacheB = "255,255,255"; + cacheC = "255,255,255"; + d_BLColor = this._d_BLColor; + cacheL = d_BLColor + ":" + d_BLColor + ":" + d_BLColor + ":" + d_BLColor; + sFlag = true; + } + else { + cacheB = this._stylecache[cacheindex + "background" + odd + selectedcc]; + cacheC = this._stylecache[cacheindex + "color" + odd + selectedcc]; + } + cacheF = this._stylecache[cacheindex + "font" + selectedcc]; + } + + if (!nexacro._isNull(cacheA)) { + alignCell = cacheA; + if (iscssclassexpr) { + sFlag = true; + } + } + else { + if (this._applyA) { + sFlag = true; + alignCell = nexacro._nvl(this._getCellStyle(cell, k, odd, "align", selected), ""); + + if (iscssclassexpr) { + this._stylecache[cacheindex + "align" + selectedcc] = alignCell; + } + } + } + if (!nexacro._isNull(cacheB)) { + backgroundCell = cacheB; + if (iscssclassexpr) { + sFlag = true; + } + } + else { + if (this._applyB) { + sFlag = true; + backgroundCell = nexacro._nvl(this._getHEXtoRGB(this._getCellStyle(cell, k, odd, "background", selected)), ""); + + if (iscssclassexpr) { + this._stylecache[cacheindex + "background" + odd + selectedcc] = backgroundCell; + } + } + } + if (!nexacro._isNull(cacheC)) { + colorCell = cacheC; + if (iscssclassexpr) { + sFlag = true; + } + } + else { + if (this._applyC) { + sFlag = true; + colorCell = nexacro._nvl(this._getHEXtoRGB(this._getCellStyle(cell, k, odd, "color", selected)), ""); + + if (iscssclassexpr) { + this._stylecache[cacheindex + "color" + odd + selectedcc] = colorCell; + } + } + } + if (!nexacro._isNull(cacheF)) { + fontCell = cacheF; + if (iscssclassexpr) { + sFlag = true; + } + } + else { + if (this._applyF) { + sFlag = true; + fontCell = nexacro._nvl(this._getFitFontValue(this._getCellStyle(cell, k, odd, "font", selected)), ""); + var textdecoration = this._getCellStyle(cell, k, odd, "textDecoration", selected); + if (textdecoration) { + fontCell = textdecoration + "," + fontCell; + } + + if (iscssclassexpr) { + this._stylecache[cacheindex + "font" + selectedcc] = fontCell; + } + } + } + + var is_line_changed = false, left_linecolor = null, top_linecolor = null, right_linecolor = null, bottom_linecolor = null, linecolor; + + var row_suppress_count = 0; + var col_suppress_count = 0; + + var issupp = false; + switch (this._exportmerge) { + case 0: + break; + case 1: + if (cell.suppress > 0) { + sFlag = is_line_changed = true; + + if (suppress_infos[k]) { + if (suppress_infos[k].border_proc) { + bottom_linecolor = "empty"; + } + + if (suppress_infos[k].text_proc) { + emptyCellFlag = true; + } + } + } + + grid._checkVirtualMerge(cell, k); + if (cell._virtualmerge_infos && cell._virtualmerge_infos[k + 2]) { + var virtual_border_str = cell._virtualmerge_infos[k + 2].remove; + if (virtual_border_str) { + sFlag = is_line_changed = true; + switch (virtual_border_str) { + case "bottomvirtual": + bottom_linecolor = "empty"; + break; + case "rightbottomvirtual": + right_linecolor = bottom_linecolor = "empty"; + break; + case "rightvirtual": + right_linecolor = "empty"; + break; + } + } + } + break; + case 2: + if (cell.suppress > 0) { + sFlag = is_line_changed = true; + if (rowspan > 1) { + issupp = true; + } + var column_suppress = j + "count"; + var excel_suppress_info = this._excel_suppress_info; + if (!excel_suppress_info[column_suppress]) { + excel_suppress_info[column_suppress] = 0; + alignCell = alignCell.split(",")[0] + ", " + this._suppress_align_table[cell.suppressalign]; + } + + if (suppress_infos[k] && suppress_infos[k].border_proc) { + this._excel_suppress_info[column_suppress]++; + } + else { + row_suppress_count = ++excel_suppress_info[column_suppress]; + if (issupp) { + row_suppress_count = row_suppress_count * rowspan; + } + + if (issupp && row_suppress_count == 1) { + issupp = false; + } + excel_suppress_info[column_suppress] = 0; + } + } + + merge_data = this._merge_datas && this._merge_datas[k + "_" + j]; + if (merge_data && merge_data.isVirtualEnd) { + sFlag = is_line_changed = true; + row_suppress_count = merge_data.rowspan; + col_suppress_count = merge_data.colspan; + } + break; + } + + if (grid._supphorztype > 0) { + if (cell._area == "left" || cell._area == "right") { + sFlag = is_line_changed = true; + + if (suppress_infos[k]) { + if (suppress_infos[k].horz_text_proc) { + emptyCellFlag = true; + } + } + } + } + + if (!is_line_changed && !nexacro._isNull(cacheL)) { + lineCell = cacheL; + if (iscssclassexpr) { + sFlag = true; + } + } + else { + if (this._applyL) { + line = this._getCellStyle(cell, k, odd, "border", selected); + if (!left_linecolor) { + left_linecolor = this._getHEXtoRGB(line.left.color) + (line.left.style == "solid" ? "" : "," + line.left.style); + } + if (!top_linecolor) { + top_linecolor = this._getHEXtoRGB(line.top.color) + (line.top.style == "solid" ? "" : "," + line.top.style); + } + if (!right_linecolor) { + right_linecolor = this._getHEXtoRGB(line.right.color) + (line.right.style == "solid" ? "" : "," + line.right.style); + } + if (!bottom_linecolor) { + bottom_linecolor = this._getHEXtoRGB(line.bottom.color) + (line.bottom.style == "solid" ? "" : "," + line.bottom.style); + } + lineCell = left_linecolor + ":" + top_linecolor + ":" + right_linecolor + ":" + bottom_linecolor; + + if (iscssclassexpr) { + this._stylecache[cacheindex + "line" + selectedcc] = lineCell; + } + } + else { + lineCell = "empty:empty:empty:empty:"; + } + } + + + + cell_type = this._getFixedCellType(cell, k); + style_name = this._makeforDsStyle(ds_style2, alignCell, backgroundCell, colorCell, fontCell, lineCell, cell_type, row_suppress_count, col_suppress_count); + var longdate_flag = false; + if (cell_type.indexOf("date") > -1 && (this._checkExpr(cell.locale) || this._checkExpr(cell.calendardateformat))) { + sFlag = true; + if (cell.calendardateformat == "LONGDATE") { + longdate_flag = true; + } + } + + + if (!sFlag) { + var display_type = cell._getDisplaytype(k); + if (display_type == "mask" || display_type == "maskeditcontrol") { + var masktype = cell._getAttrValue(cell.maskedittype, k); + if (masktype == "number") { + sFlag = true; + } + } + } + + var display_text = this._getCellText(grid, k, j); + val = emptyCellFlag ? "" : display_text; + + var is_orgvaluecell = this._orgvalue_cells[j]; + + if (longdate_flag) { + cell.calendardateformat = "SHORTDATE"; + val = cell._getDisplayText_date(k); + cell.calendardateformat = "LONGDATE"; + } + + var displaytype = grid.getCellProperty("body", j, "displaytype"); + if (displaytype == "imagecontrol") { + var expImg = this.exportimage.toLowerCase(); + if (expImg == "url" || expImg == "image") { + var path = this._getCellText(grid, k, j); + + if (path) { + var url = nexacro._getURIValue(path); + val = nexacro._getImageLocation(url, this._getForm()._getFormBaseUrl()); + } + else { + val = path; + } + } + else { + val = ""; + } + } + + + var delimiter; + if (exportObj._commdataformat == 3) { + delimiter = "_x001D_"; + } + else { + delimiter = String.fromCharCode(29); + } + + if (this._exportmerge == 1) { + if (cell.suppress > 0) { + if (suppress_infos[k] && suppress_infos[k].text_proc) { + val = ""; + } + } + + if (grid._supphorztype > 0) { + if (cell._area == "left" || cell._area == "right") { + if (suppress_infos[k]) { + if (suppress_infos[k].horz_text_proc) { + val = ""; + } + } + } + } + + if (!!grid._checkVirtualMerge(cell, k)) { + val = ""; + merge_data = this._merge_datas && this._merge_datas[k + "_" + j]; + if (merge_data) { + if (merge_data.isVirtualStart) { + if (alignCell == "left,top") { + val = display_text; + } + else { + var temp_align = alignCell.split(","); + var merge_str = merge_data[temp_align[1]] + "_" + merge_data[temp_align[0]]; + if (this._merge_datas[merge_str]) { + this._merge_datas[merge_str].disPlayText = display_text; + this._merge_datas[merge_str].showText = true; + } + else { + this._merge_datas[merge_str] = { + disPlayText : display_text, + showText : true + }; + } + } + } + + if (merge_data.showText) { + val = merge_data.disPlayText; + } + } + } + } + else if (this._exportmerge == 2) { + if (grid._supphorztype > 0) { + if (cell._area == "left" || cell._area == "right") { + if (suppress_infos[k]) { + if (suppress_infos[k].horz_text_proc) { + val = ""; + } + } + } + } + } + + if (exportObj._orgval_type || is_orgvaluecell) { + val = nexacro._isNumber(val) ? val : nexacro._isDecimal(val) ? val.toString() : nexacro._nvl(val, ""); + } + else { + val = nexacro._nvl(val, ""); + } + + if (issupp) { + ds.setColumn(idx, "Column" + (j + subcnt), val + delimiter + (sFlag || (is_selected && activate_select_style) ? style_name : "") + delimiter + issupp); + issupp = false; + } + else { + ds.setColumn(idx, "Column" + (j + subcnt), val + delimiter + (sFlag || (is_selected && activate_select_style) ? style_name : "")); + } + + if (cell._subcells.length) { + var subCell = cell._subcells; + var subL = subCell.length; + var rsp = cell._rowspan - 1; + var csp = cell._colspan - 1; + + var subline = ""; + d_BLColor = this._d_BLColor; + if (this._applyL) { + line = this._getCellStyle(cell, k, odd, "border", selected); + linecolor = this._getHEXtoRGB(line.right.color) + (line.right.style == "solid" ? "" : "," + line.right.style); + } + else { + linecolor = d_BLColor; + } + + var lLine; + var tLine; + var rLine; + var bLine; + + for (var i = 0; i < subL; i++) { + var sbc = subCell[i]._col; + var sbr = subCell[i]._row; + if (sbc == csp) { + rLine = linecolor; + } + else { + rLine = "empty"; + } + if (sbc == 0) { + lLine = d_BLColor; + } + else { + lLine = "empty"; + } + if (sbr == rsp) { + bLine = linecolor; + } + else { + bLine = "empty"; + } + if (sbr == 0) { + tLine = d_BLColor; + } + else { + tLine = "empty"; + } + + subline = lLine + ":" + tLine + ":" + rLine + ":" + bLine; + + cell_type = this._getFixedCellType(subCell[i], 0); + style_name = this._makeforDsStyle(ds_style2, alignCell, backgroundCell, colorCell, fontCell, subline, cell_type); + + if (i != 0) { + ds.addColumn("Column" + (jj + subcnt), "String", 256); + subcnt++; + } + + display_text = this._getCellText(grid, k, j, i); + val = emptyCellFlag ? "" : display_text; + + if (exportObj._orgval_type || is_orgvaluecell) { + val = nexacro._isNumber(val) ? val : nexacro._isDecimal(val) ? val.toString() : nexacro._nvl(val, ""); + } + else { + val = nexacro._nvl(val, ""); + } + + ds.setColumn(idx, "Column" + (j + subcnt), val + delimiter + style_name); + } + } + } + rr++; + } + this._preStartRow = this._startRow; + this._startRow = partitionRow; + } + + ds_command.setColumn(0, "eof", this._eof); + + if (this._ds_response) { + delete this._ds_response; + } + + this._ds_response = new nexacro.Dataset("RESPONSE"); + + this._rollbackSuppressInfo(); + + if (export_dsparam != undefined) { + this._transaction(this.id, exportObj._exporturl, "COMMAND=_ds_command STYLE=_ds_style2 CELL=_ds_cell" + " " + export_dsparam, "_ds_response=RESPONSE", export_param, "_exportCallback", true, exportObj._commdataformat, exportObj._commcompress); + } + else { + this._transaction(this.id, exportObj._exporturl, "COMMAND=_ds_command STYLE=_ds_style2 CELL=_ds_cell", "_ds_response=RESPONSE", export_param, "_exportCallback", true, exportObj._commdataformat, exportObj._commcompress); + } + this._updateBarPos(exportObj, exportObj.exporteventtype); + }; + + + _pExportItem._onHttpTransactionError = function (obj, bfireevent, errorobj, errortype, url, returncode, requesturi, locationuri, extramsg) { + var ret = false; + var commerrorobj = nexacro.MakeCommunicationError(this, errortype, url, returncode, requesturi, locationuri, extramsg); + if (bfireevent) { + ret = this.on_fire_onerror(obj, commerrorobj.name, commerrorobj.message, errorobj, returncode, requesturi, locationuri); + } + + return ret; + }; + + _pExportItem._exportCallback = function (svcid, errstatus, message) { + var grid = this.source; + var exportObj = this.parent; + var exportbar = exportObj._exportBar; + if (errstatus < 0) { + message = nexacro._decodeXml(message); + this.on_fire_onerror(exportObj, "ObjectError", message, errstatus); + nexacro._stopTransaction(this, 0); + if (exportbar) { + exportbar._hide(); + exportbar._set_pos(0); + exportbar._set_text(""); + } + if (grid._hasTree) { + grid.set_treeinitstatus(this._gridTempInfo.treeinitstatus); + nexacro.Grid.prototype._recreate_contents_all = exportObj._tempSaveMethod; + exportObj._tempSaveMethod = null; + grid._treeIndexes = this._gridTempInfo.treeIndexes; + grid._treeStates = this._gridTempInfo.treeStates; + grid.enableevent = this._gridTempInfo.enableevent; + this._gridTempInfo = null; + } + } + else { + this._instanceId = this._ds_response.getColumn(0, "instanceid"); + var excelURL = this._ds_response.getColumn(0, "url"); + if (excelURL != null && excelURL != "") { + exportObj._fileURL = excelURL; + } + + var itemIndex = exportObj._itemsIndex; + var is_finish = itemIndex + 1 == exportObj._allCount; + var is_end = this._startRow == this._bodyRowCnt; + this._seq++; + + if (is_end) { + if (grid._hasTree) { + grid.set_treeinitstatus(this._gridTempInfo.treeinitstatus); + nexacro.Grid.prototype._recreate_contents_all = exportObj._tempSaveMethod; + exportObj._tempSaveMethod = null; + grid._treeIndexes = this._gridTempInfo.treeIndexes; + grid._treeStates = this._gridTempInfo.treeStates; + grid.enableevent = this._gridTempInfo.enableevent; + this._gridTempInfo = null; + } + + if (is_finish) { + var completemessage = exportObj.exportmessagecomplete; + if (completemessage) { + exportbar._set_text(completemessage); + } + if (exportbar) { + exportbar._hide(); + exportbar._set_pos(0); + exportbar._set_text(""); + } + + + this._tmpSuppressInfos = null; + exportObj._fileURL = ""; + exportObj._allRowCount = 0; + exportObj._progress_pos = 0; + exportObj._itemsIndex = 0; + + var exportfilename_; + if (excelURL != null && excelURL != "") { + var index_ = excelURL.lastIndexOf("/"); + if (index_ == -1) { + index_ = excelURL.lastIndexOf("\\"); + } + if (index_ != -1) { + exportfilename_ = excelURL.substring(index_ + 1); + } + } + + var application = nexacro.getApplication(); + if (application) { + application._endCommProgress(); + } + + this.on_fire_onsuccess(exportObj, this, excelURL); + + if (exportObj._filedownload) { + switch (exportObj.exporttype) { + case nexacro.ExportTypes.EXCEL: + case nexacro.ExportTypes.EXCEL97: + exportfilename_ = exportObj.exportfilename; + exportfilename_ += ".xls"; + break; + case nexacro.ExportTypes.EXCEL2007: + exportfilename_ = exportObj.exportfilename; + exportfilename_ += ".xlsx"; + break; + case nexacro.ExportTypes.HANCELL2010: + case nexacro.ExportTypes.HANCELL2014: + exportfilename_ = exportObj.exportfilename; + exportfilename_ += ".cell"; + break; + case nexacro.ExportTypes.CSV: + exportfilename_ = exportObj.exportfilename; + exportfilename_ += ".csv"; + break; + } + + var exportfilepath_; + if (exportObj.exportfilepath != null && exportObj.exportfilepath != "") { + exportfilepath_ = exportObj.exportfilepath; + if (exportfilepath_.charAt(exportfilepath_.length - 1) != '\\') { + exportfilepath_ += "\\"; + } + } + + if (nexacro._Browser == "Runtime") { + nexacro._downloadExport(excelURL, exportObj._hidden_frame_handle, exportfilename_, exportfilepath_, exportObj.filefilter, exportObj.filefilterindex, "export"); + } + else { + nexacro._downloadExport(excelURL, exportObj._hidden_frame_handle, exportfilename_, undefined, exportObj.filefilter, exportObj.filefilterindex); + } + } + } + else { + exportObj._itemsIndex++; + if (exportObj._itemsIndex == exportObj._gCount) { + } + else { + exportObj._grids[exportObj._itemsIndex]._gridItemExport(exportObj); + } + } + this._instanceId = ""; + this._startRow = 0; + this._seq = 1; + this._eof = false; + this._selectcount = 0; + } + else { + this._gridExportContinue(exportObj); + } + } + }; + + _pExportItem._makeMergeDatas = function (grid, format_body_rowcount, col_len) { + var row_len = format_body_rowcount; + var merge_datas = this._merge_datas = { + }; + var virtual_mergecell, end_row, last_row, start_subrow, temp; + start_subrow = 0; + var rowspan, colspan, top_row, middle_row, bottom_row, left_col, center_col, right_col, start_col, end_col, start_row; + var rowcount = grid._getGridRowCount() - 1; + + for (var i = 0, len = grid._virtual_mergecell_arr.length; i < len; i++) { + if (nexacro._Browser == "Runtime") { + nexacro._peekWindowHandleMessageQueuePassing(this._getWindow()); + } + + virtual_mergecell = grid._virtual_mergecell_arr[i]; + + if (virtual_mergecell.start_subrow != null) { + start_subrow = virtual_mergecell.start_subrow; + } + + + if (virtual_mergecell.end_row > rowcount) { + last_row = end_row = rowcount; + } + else { + last_row = end_row = virtual_mergecell.end_row; + } + + if (virtual_mergecell.start_row == -1) { + row_len = grid._curFormat._headrows ? grid._curFormat._headrows.length : 0; + end_row = start_row = 0; + } + else if (virtual_mergecell.start_row == -2) { + row_len = grid._curFormat._summrows ? grid._curFormat._summrows.length : 0; + end_row = start_row = 0; + } + else { + start_row = virtual_mergecell.start_row; + } + + rowspan = (row_len * end_row + virtual_mergecell.end_subrow) - (row_len * start_row + start_subrow) + 1; + colspan = virtual_mergecell.end_column - virtual_mergecell.start_column + 1; + + temp = ((row_len * start_row + start_subrow + 1) + (row_len * end_row + virtual_mergecell.end_subrow + 1)) / 2 << 0; + top_row = virtual_mergecell.start_row; + middle_row = (temp - 1) / row_len << 0; + bottom_row = last_row; + + start_col = col_len * start_subrow + virtual_mergecell.start_column; + end_col = col_len * virtual_mergecell.end_subrow + virtual_mergecell.end_column; + + left_col = ((temp - 1) % row_len * col_len + virtual_mergecell.start_column) << 0; + center_col = ((temp - 1) % row_len * col_len + (virtual_mergecell.start_column + virtual_mergecell.end_column) / 2) << 0; + right_col = ((temp - 1) % row_len * col_len + virtual_mergecell.end_column) << 0; + + if (virtual_mergecell.start_row < 0) { + middle_row = virtual_mergecell.start_row; + } + + merge_datas[top_row + "_" + start_col] = { + isVirtualStart : true, + left : left_col, + center : center_col, + right : right_col, + top : top_row, + middle : middle_row, + bottom : bottom_row, + rowspan : rowspan, + colspan : colspan + }; + + merge_datas[bottom_row + "_" + end_col] = { + isVirtualEnd : true, + rowspan : rowspan, + colspan : colspan + }; + } + }; + + _pExportItem._gridItemExport = function (exportObj) { + var uiType = exportObj._exportuitype; + if (exportObj.exporteventtype != "none" && uiType) { + var exportbar = exportObj._exportBar; + if (!exportbar || exportbar._uitype != uiType) { + exportbar = exportObj._exportBar = exportObj._getExportBar(uiType); + var str = exportObj._getProcessStr(exportObj.count(), exportObj._allRowCount, exportObj._allRowCount); + str = nexacro._getLongerStr(str, exportObj.exportmessagecomplete, exportObj.exportmessageready); + + var textbox = exportbar._textbox; + var font = textbox ? textbox._getCurrentStyleInheritValue("font") : exportbar.font || exportbar._getCurrentStyleInheritValue("font"); + var tSize = nexacro._getTextSize(str, font); + exportbar._textWidth = tSize[0]; + exportbar._textHeight = tSize[1]; + } + + if (exportObj._itemsIndex == 0 && exportObj.exportmessageready != "") { + exportbar._set_text(exportObj.exportmessageready); + } + exportbar._show(); + } + + var grid = this.source; + var cur_fomat_col_len = grid._curFormat._cols ? grid._curFormat._cols.length : 0; + var cur_fomat_row_len = grid._curFormat._bodyrows ? grid._curFormat._bodyrows.length : 0; + + if (grid._hasTree) { + this._gridTempInfo = { + }; + exportObj._tempSaveMethod = nexacro.Grid.prototype._recreate_contents_all; + nexacro.Grid.prototype._recreate_contents_all = nexacro._emptyFn; + this._gridTempInfo.enableevent = grid.enableevent; + grid.enableevent = false; + this._gridTempInfo.treeIndexes = grid._treeIndexes.slice(0); + this._gridTempInfo.treeStates = grid._treeStates.slice(0); + this._gridTempInfo.treeinitstatus = grid.treeinitstatus; + grid.set_treeinitstatus("expand,all"); + } + + if (grid._is_use_virtualmerge) { + this._makeMergeDatas(grid, cur_fomat_row_len, cur_fomat_col_len); + } + + this._style_map1 = null; + this._style_map2 = null; + + var ds_style = this._ds_style; + + if (!ds_style) { + ds_style = this._ds_style = new nexacro.Dataset("STYLE"); + + ds_style.addColumn("type", "String", 10); + ds_style.addColumn("name", "String", 32); + ds_style.addColumn("value", "String", 1024); + ds_style.addColumn("locale", "String", 32); + } + else { + ds_style.clearData(); + } + + + var ds_command = this._ds_command; + + if (!ds_command) { + ds_command = new nexacro.Dataset("COMMAND"); + this._ds_command = ds_command; + + ds_command.addColumn("command", "String", 32); + ds_command.addColumn("type", "int", 32); + ds_command.addColumn("item", "String", 256); + ds_command.addColumn("seq", "int"); + ds_command.addColumn("startrow", "int", 32); + ds_command.addColumn("eof", "boolean", 32); + ds_command.addColumn("instanceid", "String", 256); + ds_command.addColumn("url", "String", 256); + ds_command.addColumn("summarytype", "String", 256); + ds_command.addColumn("range", "String", 32); + ds_command.addColumn("exportsize", "String", 32); + ds_command.addColumn("exporthead", "String", 32); + ds_command.addColumn("exportimage", "String", 32); + ds_command.addColumn("exportfilename", "String", 32); + ds_command.addColumn("exportfilepath", "String", 256); + ds_command.addColumn("format", "String", 1024 * 1024); + ds_command.addColumn("password", "String", 256); + ds_command.addColumn("wraptext", "boolean", 32); + ds_command.addColumn("locale", "String", 32); + ds_command.addColumn("righttoleft", "boolean", 32); + } + else { + ds_command.clearData(); + } + + ds_command.addRow(); + + ds_command.setColumn(0, "command", "export"); + ds_command.setColumn(0, "type", exportObj._exporttype); + ds_command.setColumn(0, "item", grid.id); + ds_command.setColumn(0, "seq", this._seq); + ds_command.setColumn(0, "startrow", this._startRow); + ds_command.setColumn(0, "instanceid", this._instanceId); + ds_command.setColumn(0, "url", exportObj._fileURL); + ds_command.setColumn(0, "summarytype", grid.summarytype); + + ds_command.setColumn(0, "range", this.range); + var is_selectRec = this.exportselect == "selectrecord"; + var is_show_head = grid.selecttype != ("area" || "multiarea" || "treecell") ? true : false; + if (is_show_head) { + if (is_selectRec) { + if (this._exporthead == "") { + this._exporthead = "nohead, nosumm"; + this._applyHead = false; + this._applySumm = false; + } + this._exportmerge = false; + } + } + else { + this._exporthead = "nohead, nosumm"; + this._applyHead = false; + this._applySumm = false; + } + ds_command.setColumn(0, "exportsize", this.exportsize); + ds_command.setColumn(0, "exporthead", this._exporthead); + ds_command.setColumn(0, "exportimage", this.exportimage); + ds_command.setColumn(0, "exportfilename", exportObj.exportfilename); + ds_command.setColumn(0, "exportfilepath", exportObj.exportfilepath); + + if (nexacro._Browser == "Runtime") { + nexacro._flushCommand(this._getWindow()); + } + var madeformat = nexacro._replaceAll(this._makeFormat(grid), " ", ""); + ds_command.setColumn(0, "format", madeformat); + ds_command.setColumn(0, "password", exportObj._file_password); + ds_command.setColumn(0, "wraptext", exportObj._wrap_text); + ds_command.setColumn(0, "righttoleft", this._righttoleft); + + var locale = grid._getLocale(); + if (locale) { + locale = locale.replace(/-/g, "_"); + ds_command.setColumn(0, "locale", locale); + } + + var ds = new nexacro.Dataset("CELL"); + this._ds_cell = ds; + + var bodycntcell = grid.getCellCount("body"); + + var bodycntrow = this._bodyRowCnt = grid._getGridRowCount(); + + var style_name = ""; + + if (this._exportmerge && grid._is_use_suppress && bodycntrow >= grid._bodyBand._get_rows().length) { + this._gridSuppressUpdate(grid, bodycntrow); + } + + var export_param = null; + var export_dsparam = null; + + if (bodycntcell > 0) { + for (var jj = 0; jj < bodycntcell; jj++) { + ds.addColumn("Column" + jj, "String", 256); + } + + var transferrowcount = this.parent ? (this.parent.transferrowcount || bodycntrow) : bodycntrow; + var partRowCount = this._partitionRow = transferrowcount; + + if (partRowCount >= bodycntrow) { + partRowCount = bodycntrow; + this._eof = true; + export_param = this.parent._argsParam; + export_dsparam = this.parent._argsDsParam; + } + + var cells = grid._curFormat._bodycells; + + var activate_select_style = (this.exportvalue == "selectstyle"); + var is_selected; + var subcnt; + var emptyCellFlag = false; + var d_BLColor, merge_data, line, cell_type; + + var k, j; + + var _win = this._getWindow(); + + for (k = 0; k < partRowCount; k++) { + subcnt = 0; + + if (nexacro._Browser == "Runtime") { + nexacro._peekWindowHandleMessageQueuePassing(_win); + } + + var val; + var selectChk = false; + var idx; + for (j = 0; j < bodycntcell; j++) { + selectChk = selectChk || grid.isSelectedCell(j, "body", k, -9); + } + + if (selectChk || !is_selectRec) { + idx = ds.addRow(); + if (is_selectRec) { + this._eventExport(exportObj, this.type, k, this._selectcount++); + } + else { + this._eventExport(exportObj, this.type, k); + } + } + else { + continue; + } + var odd = k % 2; + + for (j = 0; j < bodycntcell; j++) { + emptyCellFlag = false; + is_selected = grid.isSelectedCell(j, "body", k, -9); + + if (!is_selected) { + if (is_selectRec) { + emptyCellFlag = true; + } + } + var backgroundCell, alignCell, fontCell, colorCell, lineCell; + + + var cell = cells[j]; + var suppress_infos = cell._suppress_infos; + var selected = is_selected && activate_select_style; + var sFlag = false; + var rowspan = cell._rowspan; + + var iscssclassexpr = this._checkExpr(null, cell.cssclass); + var cssclasses = iscssclassexpr ? cell._getAttrValue(cell.cssclass, k) : ""; + + var cacheindex = j + (cssclasses ? cssclasses : ""); + var selectedcc = selected ? "-c" : ""; + + var cacheA = this._stylecache[cacheindex + "align" + selectedcc]; + var cacheL = this._stylecache[cacheindex + "line" + selectedcc]; + var cacheB, cacheC, cacheF; + + + + { + + if (emptyCellFlag) { + cacheB = "255,255,255"; + cacheC = "255,255,255"; + d_BLColor = this._d_BLColor; + cacheL = d_BLColor + ":" + d_BLColor + ":" + d_BLColor + ":" + d_BLColor; + sFlag = true; + } + else { + cacheB = this._stylecache[cacheindex + "background" + odd + selectedcc]; + cacheC = this._stylecache[cacheindex + "color" + odd + selectedcc]; + } + cacheF = this._stylecache[cacheindex + "font" + selectedcc]; + } + + if (!nexacro._isNull(cacheA)) { + alignCell = cacheA; + if (iscssclassexpr) { + sFlag = true; + } + } + else { + if (this._applyA) { + sFlag = true; + alignCell = nexacro._nvl(this._getCellStyle(cell, k, odd, "align", selected), ""); + + if (iscssclassexpr) { + this._stylecache[cacheindex + "align" + selectedcc] = alignCell; + } + } + else { + alignCell = null; + } + } + if (!nexacro._isNull(cacheB)) { + backgroundCell = cacheB; + if (iscssclassexpr) { + sFlag = true; + } + } + else { + if (this._applyB) { + sFlag = true; + backgroundCell = nexacro._nvl(this._getHEXtoRGB(this._getCellStyle(cell, k, odd, "background", selected)), ""); + + if (iscssclassexpr) { + this._stylecache[cacheindex + "background" + odd + selectedcc] = backgroundCell; + } + } + else { + backgroundCell = null; + } + } + if (!nexacro._isNull(cacheC)) { + colorCell = cacheC; + if (iscssclassexpr) { + sFlag = true; + } + } + else { + if (this._applyC) { + sFlag = true; + colorCell = nexacro._nvl(this._getHEXtoRGB(this._getCellStyle(cell, k, odd, "color", selected)), ""); + + if (iscssclassexpr) { + this._stylecache[cacheindex + "color" + odd + selectedcc] = colorCell; + } + } + else { + colorCell = null; + } + } + if (!nexacro._isNull(cacheF)) { + fontCell = cacheF; + if (iscssclassexpr) { + sFlag = true; + } + } + else { + if (this._applyF) { + sFlag = true; + fontCell = nexacro._nvl(this._getFitFontValue(this._getCellStyle(cell, k, odd, "font", selected)), ""); + var textdecoration = this._getCellStyle(cell, k, odd, "textDecoration", selected); + if (textdecoration) { + fontCell = textdecoration + "," + fontCell; + } + + if (iscssclassexpr) { + this._stylecache[cacheindex + "font" + selectedcc] = fontCell; + } + } + else { + fontCell = null; + } + } + + var is_line_changed = false, left_linecolor = null, top_linecolor = null, right_linecolor = null, bottom_linecolor = null, linecolor; + + var row_suppress_count = 0; + var col_suppress_count = 0; + + var issupp = false; + switch (this._exportmerge) { + case 0: + break; + case 1: + if (cell.suppress > 0) { + sFlag = is_line_changed = true; + + if (suppress_infos[k]) { + if (suppress_infos[k].border_proc) { + bottom_linecolor = "empty"; + } + + if (suppress_infos[k].text_proc) { + emptyCellFlag = true; + } + } + } + grid._checkVirtualMerge(cell, k); + + if (cell._virtualmerge_infos && cell._virtualmerge_infos[k + 2]) { + var virtual_border_str = cell._virtualmerge_infos[k + 2].remove; + if (virtual_border_str) { + sFlag = is_line_changed = true; + switch (virtual_border_str) { + case "bottomvirtual": + bottom_linecolor = "empty"; + break; + case "rightbottomvirtual": + right_linecolor = bottom_linecolor = "empty"; + break; + case "rightvirtual": + right_linecolor = "empty"; + break; + } + } + } + + break; + case 2: + if (cell.suppress > 0) { + if (rowspan > 1) { + issupp = true; + } + sFlag = is_line_changed = true; + var column_suppress = j + "count"; + var excel_suppress_info = this._excel_suppress_info; + if (!excel_suppress_info[column_suppress]) { + excel_suppress_info[column_suppress] = 0; + alignCell = alignCell.split(",")[0] + ", " + this._suppress_align_table[cell.suppressalign]; + } + + if (suppress_infos[k] && suppress_infos[k].border_proc) { + this._excel_suppress_info[column_suppress]++; + } + else { + row_suppress_count = ++excel_suppress_info[column_suppress]; + if (issupp) { + row_suppress_count = row_suppress_count * rowspan; + } + + if (issupp && row_suppress_count == 1) { + issupp = false; + } + excel_suppress_info[column_suppress] = 0; + } + } + + merge_data = this._merge_datas && this._merge_datas[k + "_" + j]; + if (merge_data && merge_data.isVirtualEnd) { + sFlag = is_line_changed = true; + row_suppress_count = merge_data.rowspan; + col_suppress_count = merge_data.colspan; + } + break; + } + + if (grid._supphorztype > 0) { + if (cell._area == "left" || cell._area == "right") { + sFlag = is_line_changed = true; + + if (suppress_infos[k]) { + if (suppress_infos[k].horz_text_proc) { + emptyCellFlag = true; + } + } + } + } + + if (!is_line_changed && !nexacro._isNull(cacheL)) { + lineCell = cacheL; + if (iscssclassexpr) { + sFlag = true; + } + } + else { + if (this._applyL) { + line = this._getCellStyle(cell, k, odd, "border", selected); + if (!left_linecolor) { + left_linecolor = this._getHEXtoRGB(line.left.color) + (line.left.style == "solid" ? "" : "," + line.left.style); + } + if (!top_linecolor) { + top_linecolor = this._getHEXtoRGB(line.top.color) + (line.top.style == "solid" ? "" : "," + line.top.style); + } + if (!right_linecolor) { + right_linecolor = this._getHEXtoRGB(line.right.color) + (line.right.style == "solid" ? "" : "," + line.right.style); + } + if (!bottom_linecolor) { + bottom_linecolor = this._getHEXtoRGB(line.bottom.color) + (line.bottom.style == "solid" ? "" : "," + line.bottom.style); + } + lineCell = left_linecolor + ":" + top_linecolor + ":" + right_linecolor + ":" + bottom_linecolor; + + if (iscssclassexpr) { + this._stylecache[cacheindex + "line" + selectedcc] = lineCell; + } + } + else { + lineCell = "empty:empty:empty:empty:"; + } + } + + cell_type = this._getFixedCellType(cell, k); + style_name = this._makeforDsStyle(ds_style, alignCell, backgroundCell, colorCell, fontCell, lineCell, cell_type, row_suppress_count, col_suppress_count); + + var longdate_flag = false; + if (cell_type.indexOf("date") > -1 && (this._checkExpr(cell.locale) || this._checkExpr(cell.calendardateformat))) { + sFlag = true; + if (cell.calendardateformat == "LONGDATE") { + longdate_flag = true; + } + } + + if (!sFlag) { + var display_type = cell._getDisplaytype(k); + if (display_type == "mask" || display_type == "maskeditcontrol") { + var masktype = cell._getAttrValue(cell.maskedittype, k); + if (masktype == "number") { + sFlag = true; + } + } + } + + var display_text = this._getCellText(grid, k, j); + val = emptyCellFlag ? "" : display_text; + + var is_orgvaluecell = this._orgvalue_cells[j]; + + if (longdate_flag) { + cell.calendardateformat = "SHORTDATE"; + val = cell._getDisplayText_date(k); + cell.calendardateformat = "LONGDATE"; + } + + var displaytype = grid.getCellProperty("body", j, "displaytype"); + if (displaytype == "imagecontrol") { + var expImg = this.exportimage.toLowerCase(); + if (expImg == "url" || expImg == "image") { + var path = this._getCellText(grid, k, j); + + if (path) { + var url = nexacro._getURIValue(path); + val = nexacro._getImageLocation(url, this._getForm()._getFormBaseUrl()); + } + else { + val = path; + } + } + else { + val = ""; + } + } + + + var delimiter; + if (exportObj._commdataformat == 3) { + delimiter = "_x001D_"; + } + else { + delimiter = String.fromCharCode(29); + } + + if (this._exportmerge == 1) { + if (cell.suppress > 0) { + if (suppress_infos[k] && suppress_infos[k].text_proc) { + val = ""; + } + } + + if (grid._supphorztype > 0) { + if (cell._area == "left" || cell._area == "right") { + if (suppress_infos[k]) { + if (suppress_infos[k].horz_text_proc) { + val = ""; + } + } + } + } + + + if (!!grid._checkVirtualMerge(cell, k)) { + val = ""; + merge_data = this._merge_datas && this._merge_datas[k + "_" + j]; + if (merge_data) { + if (merge_data.isVirtualStart) { + if (alignCell == "left,top") { + val = display_text; + } + else { + var temp_align = alignCell.split(","); + var merge_str = merge_data[temp_align[1]] + "_" + merge_data[temp_align[0]]; + if (this._merge_datas[merge_str]) { + this._merge_datas[merge_str].disPlayText = display_text; + this._merge_datas[merge_str].showText = true; + } + else { + this._merge_datas[merge_str] = { + disPlayText : display_text, + showText : true + }; + } + } + } + + if (merge_data.showText) { + val = merge_data.disPlayText; + } + } + } + } + else if (this._exportmerge == 2) { + if (grid._supphorztype > 0) { + if (cell._area == "left" || cell._area == "right") { + if (suppress_infos[k]) { + if (suppress_infos[k].horz_text_proc) { + val = ""; + } + } + } + } + } + + if (exportObj._orgval_type || is_orgvaluecell) { + val = nexacro._isNumber(val) ? val : nexacro._isDecimal(val) ? val.toString() : nexacro._nvl(val, ""); + } + else { + val = nexacro._nvl(val, ""); + } + + if (issupp) { + ds.setColumn(idx, "Column" + (j + subcnt), val + delimiter + (sFlag || (is_selected && activate_select_style) ? style_name : "") + delimiter + issupp); + issupp = false; + } + else { + ds.setColumn(idx, "Column" + (j + subcnt), val + delimiter + (sFlag || (is_selected && activate_select_style) ? style_name : "")); + } + + if (cell._subcells.length) { + var subCell = cell._subcells; + var subL = subCell.length; + var rsp = cell._rowspan - 1; + var csp = cell._colspan - 1; + + var subline = ""; + d_BLColor = this._d_BLColor; + if (this._applyL) { + line = this._getCellStyle(cell, k, odd, "border", selected); + linecolor = this._getHEXtoRGB(line.right.color) + (line.right.style == "solid" ? "" : "," + line.right.style); + } + else { + linecolor = d_BLColor; + } + var lLine; + var tLine; + var rLine; + var bLine; + + for (var i = 0; i < subL; i++) { + var sbc = subCell[i]._col; + var sbr = subCell[i]._row; + if (sbc == csp) { + rLine = linecolor; + } + else { + rLine = "empty"; + } + if (sbc == 0) { + lLine = d_BLColor; + } + else { + lLine = "empty"; + } + if (sbr == rsp) { + bLine = linecolor; + } + else { + bLine = "empty"; + } + if (sbr == 0) { + tLine = d_BLColor; + } + else { + tLine = "empty"; + } + + subline = lLine + ":" + tLine + ":" + rLine + ":" + bLine; + cell_type = this._getFixedCellType(subCell[i], 0); + style_name = this._makeforDsStyle(ds_style, alignCell, backgroundCell, colorCell, fontCell, subline, cell_type); + + if (i != 0) { + ds.addColumn("Column" + (jj + subcnt), "String", 256); + subcnt++; + } + + display_text = this._getCellText(grid, k, j, i); + val = emptyCellFlag ? "" : display_text; + + if (exportObj._orgval_type || is_orgvaluecell) { + val = nexacro._isNumber(val) ? val : nexacro._isDecimal(val) ? val.toString() : nexacro._nvl(val, ""); + } + else { + val = nexacro._nvl(val, ""); + } + + ds.setColumn(idx, "Column" + (j + subcnt), val + delimiter + style_name); + } + } + } + } + this._preStartRow = this._startRow; + this._startRow = partRowCount; + } + else { + this._eof = true; + export_param = this.parent._argsParam; + export_dsparam = this.parent._argsDsParam; + } + + ds_command.setColumn(0, "eof", this._eof); + + if (this._ds_response) { + delete this._ds_response; + } + + this._ds_response = new nexacro.Dataset("RESPONSE"); + + this._rollbackSuppressInfo(); + + if (export_dsparam != undefined) { + this._transaction(this.id, exportObj._exporturl, "COMMAND=_ds_command STYLE=_ds_style CELL=_ds_cell" + " " + export_dsparam, "_ds_response=RESPONSE", export_param, "_exportCallback", true, exportObj._commdataformat, exportObj._commcompress); + } + else { + this._transaction(this.id, exportObj._exporturl, "COMMAND=_ds_command STYLE=_ds_style CELL=_ds_cell", "_ds_response=RESPONSE", export_param, "_exportCallback", true, exportObj._commdataformat, exportObj._commcompress); + } + return true; + }; + + _pExportItem._transaction = function (id, url, inDatasetsParam, outDatasetsParam, argsParam, callbackFn, isAsync, datatype, isCompress) { + this._load_manager = new nexacro._LoadManager(this); + var service = nexacro._getServiceObject(url, true); + this._load_manager.loadDataModule(url, id, inDatasetsParam, outDatasetsParam, argsParam, callbackFn, isAsync, datatype, isCompress, service); + }; + + _pExportItem._stopTransaction = function () { + nexacro.Form.prototype._stopTransaction.apply(this, arguments); + }; + + _pExportItem._getDatasetObject = function (queryid) { + var _ds = this[queryid]; + var form = this.parent.parent; + if (_ds == null && form) { + _ds = form._getDatasetObject(queryid); + } + + if (_ds == null) { + var app = nexacro.getApplication(); + _ds = app[queryid]; + } + + return _ds; + }; + + _pExportItem._waitCursor = nexacro._emptyFn; + + _pExportItem._removeUrl = function (v) { + if (v && v.length) { + var index = v.indexOf("'"); + var end = -1; + + if (index > -1) { + end = v.lastIndexOf("'"); + v = v.substring(index + 1, end); + } + + index = v.indexOf("("); + if (index > -1) { + end = v.lastIndexOf(")"); + v = v.substring(index + 1, end); + } + } + return v; + }; + + delete _pExportItem; + + nexacro.ExportProgress = function (id, left, top, width, height, right, bottom, minwidth, maxwidth, minheight, maxheight, parent) { + nexacro.PopupControl.call(this, id, left, top, width, height, right, bottom, minwidth, maxwidth, minheight, maxheight, parent); + + this._uitype = 0; + this.visible = false; + + this.progressbar = null; + this._textWidth = 0; + this._textHeight = 0; + }; + var _pExportProgress = nexacro.ExportProgress.prototype = nexacro._createPrototype(nexacro.PopupControl, nexacro.ExportProgress); + + _pExportProgress._type_name = "ExportProgress"; + + + _pExportProgress.on_apply_color = function (color) { + var textbox = this._textbox; + if (textbox) { + if (color) { + textbox.set_color(color); + } + else { + textbox.set_color(""); + } + } + }; + + _pExportProgress.on_apply_font = function (font) { + var textbox = this._textbox; + if (textbox) { + textbox.set_font(font); + } + }; + + _pExportProgress.on_create_contents = function () { + var control_elem = this.getElement(); + if (control_elem) { + switch (this._uitype) { + case 1: + var progressbar = new nexacro.ProgressBar("progressbar", 0, 0, 1, 1, null, null, null, null, null, null, this); + progressbar._setControl(); + progressbar.createComponent(); + this.progressbar = progressbar; + var textbox = new nexacro.Static("progressbar:text", 0, 0, 1, 1, null, null, null, null, null, null, this); + textbox.set_textAlign("center"); + textbox._setControl(); + textbox.createComponent(); + this._textbox = textbox; + break; + case 2: + var app = nexacro.getApplication(); + if (app) { + this.progressbar = app.mainframe.statusbar; + } + break; + } + } + }; + + _pExportProgress.createCommand = function () { + return ""; + }; + + _pExportProgress.on_created_contents = function (_window) { + nexacro.PopupControl.prototype.on_created_contents.call(this, _window); + _window = _window || this._getWindow(); + switch (this._uitype) { + case 1: + var textbox = this._textbox; + var progressbar = this.progressbar; + if (progressbar) { + progressbar.on_created(); + } + if (textbox) { + textbox.on_created(); + } + break; + case 2: + break; + } + }; + + _pExportProgress.on_change_containerRect = function (width, height) { + switch (this._uitype) { + case 1: + var textbox = this._textbox; + if (textbox) { + textbox.move(0, 0, width, height); + } + var progressbar = this.progressbar; + if (progressbar) { + progressbar.move(null, null, width, height, 0, 0); + } + break; + case 2: + break; + } + }; + + _pExportProgress.on_destroy_contents = function () { + switch (this._uitype) { + case 1: + var textbox = this._textbox; + if (textbox) { + textbox.destroy(); + } + this.progressbar.destroy(); + this.progressbar = null; + break; + case 2: + this.textbox = null; + this.progressbar = null; + break; + } + }; + + + + _pExportProgress._getWindow = function () { + return nexacro.Component.prototype._getWindow.call(this); + }; + + _pExportProgress.on_fire_onlbuttondown = function (button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientX, clientY, from_comp, from_refer_comp) { + return true; + }; + + _pExportProgress._on_keydown = function (elem, keycode, altKey, ctrlKey, shiftKey) { + if (keycode == nexacro.Event.KEY_TAB) { + elem._event_stop = true; + } + else if (keycode == nexacro.Event.KEY_ESC) { + nexacro._stopTransaction(this, 2); + } + + return true; + }; + + + _pExportProgress._show = function () { + if (!this._is_created || !this.parent) { + return; + } + + var _window = this._getWindow(); + if (_window) { + var width, height; + + + if (_window.frame) { + var frame = _window.frame; + width = frame.getOffsetWidth(); + height = frame.getOffsetHeight(); + } + else { + width = _window.getClientWidth(); + height = _window.getClientHeight(); + } + + var capture_comp = _window._getCaptureComp(true, true, this); + if (capture_comp != this) { + _window._setCaptureLock(this, true, true); + } + + var cpd = this._getCurrentStylePadding(); + var pWidth = 0; + var pHeight = 0; + var _left = 0; + var _top = 0; + var gap = 20; + var half_gap = 10; + if (this._uitype == 1) { + pWidth = (this._textWidth < 80 ? 100 : this._textWidth + gap); + pHeight = this._textHeight + half_gap; + if (cpd) { + pWidth += cpd.left + cpd.right; + pHeight += cpd.top + cpd.bottom; + } + _left = Math.round((width - pWidth) / 2); + _top = Math.round((height - pHeight) / 2); + } + + this.move(_left, _top, pWidth, pHeight, null, null); + this.set_visible(true); + } + }; + + _pExportProgress._hide = function () { + var excelexport = this.parent; + if (excelexport) { + var _window = excelexport._getWindow(); + if (_window) { + _window._releaseCaptureLock(this); + + if (nexacro._resize_popup_inbound == true) { + var control_elem = this._control_element; + if (control_elem) { + control_elem.setElementSize(1, 1); + } + } + } + } + if (this._is_created && this._is_alive) { + this.set_visible(false); + } + }; + + nexacro._getLongerStr = function (str1, str2, str3) { + var len = arguments.length; + if (len < 2) { + return; + } + + var str = arguments[0]; + for (var i = 1; i < len; i++) { + if (str.length < arguments[i].length) { + str = arguments[i]; + } + } + return str; + }; + + _pExportProgress._set_text = function (v) { + switch (this._uitype) { + case 1: + this._textbox.set_text(v); + break; + case 2: + var form = this._getForm(); + form.set_statustext(v); + break; + } + }; + _pExportProgress._set_pos = function (v) { + switch (this._uitype) { + case 1: + if (this.progressbar) { + this.progressbar.set_pos(v); + } + break; + case 2: + var comp = this; + while (comp && !comp._is_top_frame) { + if (comp._is_frame) { + comp.statusbar && comp.statusbar.progressbar.set_pos(v); + } + comp = comp.parent; + } + break; + } + }; + + delete _pExportProgress; +} diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/nexacro17lib/component/ComComp/FileDialog.js b/nexacro-spring/src/main/webapp/deploy/_web_/nexacro17lib/component/ComComp/FileDialog.js new file mode 100644 index 0000000..37ec390 --- /dev/null +++ b/nexacro-spring/src/main/webapp/deploy/_web_/nexacro17lib/component/ComComp/FileDialog.js @@ -0,0 +1,208 @@ +//============================================================================== +// +// TOBESOFT Co., Ltd. +// Copyright 2017 TOBESOFT Co., Ltd. +// All Rights Reserved. +// +// NOTICE: TOBESOFT permits you to use, modify, and distribute this file +// in accordance with the terms of the license agreement accompanying it. +// +// Readme URL: http://www.nexacro.co.kr/legal/nexacro17-public-license-readme-1.1.html +// +//============================================================================== + +if (!nexacro.FileDialog) { + nexacro.FileDialogEventInfo = function (strEventId, strReason, strPath, arrVirtualfiles) { + this.eventid = strEventId; + this.reason = strReason; + this.path = strPath; + this.virtualfiles = arrVirtualfiles; + }; + var _pFileDialogEventInfo = nexacro.FileDialogEventInfo.prototype = nexacro._createPrototype(nexacro.Event, nexacro.FileDialogEventInfo); + _pFileDialogEventInfo._type_name = "FileDialogEventInfo"; + + delete _pFileDialogEventInfo; + _pFileDialogEventInfo = null; + + nexacro.FileDialog = function (id, parent) { + this.id = this.name = id; + this.EnvironmentPath = 1; + + this._handle = nexacro._createFileDialogHandle(this); + }; + + var _pFileDialog = nexacro.FileDialog.prototype = nexacro._createPrototype(nexacro._EventSinkObject, nexacro.FileDialog); + _pFileDialog._type_name = "FileDialog"; + + + _pFileDialog.accept = ""; + _pFileDialog.defaultextension = true; + _pFileDialog.dialogtype = undefined; + _pFileDialog.filter = ""; + _pFileDialog.filterindex = 0; + + + _pFileDialog._event_list = { + "onclose" : 1 + }; + + + nexacro.FileDialog.LOAD = 1; + nexacro.FileDialog.SAVE = 2; + nexacro.FileDialog.MULTILOAD = 3; + nexacro.FileDialog.SELFOLDER = 4; + + _pFileDialog.on_created = nexacro._emptyFn; + + _pFileDialog.destroy = function () { + nexacro._destroyFileDialogHandle(this); + this._handle = null; + + return true; + }; + + _pFileDialog.set_accept = function (v) { + v = nexacro._toString(v); + if (this.accept != v) { + this.accept = v; + this.on_apply_accept(); + } + }; + + _pFileDialog.on_apply_accept = function () { + nexacro._setFileDialogHandleAccept(this, this.accept); + }; + + _pFileDialog.set_defaultextension = function (v) { + v = nexacro._toBoolean(v); + if (this.defaultextension != v) { + this.defaultextension = v; + this.on_apply_defaultextension(); + } + }; + + _pFileDialog.on_apply_defaultextension = function () { + nexacro._setFileDialogHandleDefaultExtension(this, this.defaultextension); + }; + + _pFileDialog.set_dialogtype = function (v) { + if (this.dialogtype != v) { + this.dialogtype = v; + } + }; + + _pFileDialog.set_filter = function (v) { + v = nexacro._toString(v); + if (this.filter != v) { + if (this._isValidPropertyFilter(v)) { + this.filter = v; + this.on_apply_filter(); + } + } + }; + + _pFileDialog.on_apply_filter = function () { + nexacro._setFileDialogHandleFilter(this, this.filter); + }; + + _pFileDialog.set_filterindex = function (v) { + if (isNaN(v = +v) || v < 0) { + return; + } + + if (this.filterindex != v) { + this.filterindex = v; + this.on_apply_filterindex(); + } + }; + + _pFileDialog.on_apply_filterindex = function () { + nexacro._setFileDialogHandleFilterIndex(this, this.filterindex); + }; + + _pFileDialog.open = function (strTitle, constOpenMode, strInitialPath, strFileName, nDlgWidth, nDlgHeight) { + if (isNaN(constOpenMode = +constOpenMode) || (constOpenMode < 1 || constOpenMode > 4)) { + return; + } + + strTitle = strTitle ? strTitle : this.id; + strInitialPath = strInitialPath ? strInitialPath : "%USERAPP%"; + strFileName = strFileName ? strFileName : ""; + nDlgWidth = nDlgWidth ? nDlgWidth : -1; + nDlgHeight = nDlgHeight ? nDlgHeight : -1; + + var filter = this.filter ? this.filter : "All(*.*)|*.*|"; + var filterarr = filter.split("|"); + + if (this.filter == "") { + nexacro._setFileDialogHandleFilter(this, "All(*.*)|*.*|"); + } + + if (this.defaultextension && this.filterindex >= (filterarr.length / 2)) { + return false; + } + + nexacro._openFileDialogHandle(this, strTitle, constOpenMode, strInitialPath, strFileName, this.dialogtype, nDlgWidth, nDlgHeight); + + return true; + }; + + _pFileDialog.on_close = function (reason, path, vfiles) { + this.on_fire_onclose(reason, path, vfiles); + }; + + _pFileDialog._onclose = function (objData) { + var _virtualFile = objData.virtualfiles; + var vfiles = new Array(_virtualFile.length); + + for (var i = 0; i < _virtualFile.length; i++) { + var obj = new nexacro.VirtualFile("VirtualFile", ""); + obj.filename = _virtualFile[i].filename; + obj.fullpath = _virtualFile[i].fullpath; + obj.path = _virtualFile[i].path; + vfiles[i] = obj; + } + + this.on_fire_onclose(objData.reason, objData.reason == 4 ? objData.path : undefined, vfiles); + }; + + _pFileDialog.on_fire_onclose = function (reason, path, vfiles) { + if (this.onclose && this.onclose._has_handlers) { + var evt = new nexacro.FileDialogEventInfo("onclose", reason, path, vfiles); + return this.onclose._fireEvent(this, evt); + } + return true; + }; + + + _pFileDialog._isValidPropertyFilter = function (strFilter) { + if (strFilter === "") { + return true; + } + + var filterarr = strFilter.split("|"); + var f_len = filterarr.length; + if (f_len < 2) { + return false; + } + + if ((f_len % 2 == 1) && filterarr[f_len - 1] != "") { + return false; + } + + var normalize = /[\*].[a-zA-Z0-9가-힣\*]/gi; + + for (var i = 0; i < f_len; i++) { + if (i % 2 == 1) { + if (normalize.test(filterarr[i]) == false) { + return false; + } + normalize.lastIndex = 0; + } + } + + return true; + }; + + delete _pFileDialog; +} diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/nexacro17lib/component/ComComp/FileDownTransfer.js b/nexacro-spring/src/main/webapp/deploy/_web_/nexacro17lib/component/ComComp/FileDownTransfer.js new file mode 100644 index 0000000..08d65ac --- /dev/null +++ b/nexacro-spring/src/main/webapp/deploy/_web_/nexacro17lib/component/ComComp/FileDownTransfer.js @@ -0,0 +1,163 @@ +//============================================================================== +// +// TOBESOFT Co., Ltd. +// Copyright 2017 TOBESOFT Co., Ltd. +// All Rights Reserved. +// +// NOTICE: TOBESOFT permits you to use, modify, and distribute this file +// in accordance with the terms of the license agreement accompanying it. +// +// Readme URL: http://www.nexacro.co.kr/legal/nexacro17-public-license-readme-1.1.html +// +//============================================================================== + +if (!nexacro.FileDownTransfer) { + nexacro.FileDownTransferEventInfo = function (obj, id, url, fullpath) { + this.id = this.eventid = id || "onsuccess"; + this.fromobject = this.fromreferenceobject = obj; + + this.url = url; + this.targetfullpath = fullpath; + }; + + var _pFileDownTransferEventInfo = nexacro._createPrototype(nexacro.Event, nexacro.FileDownTransferEventInfo); + nexacro.FileDownTransferEventInfo.prototype = _pFileDownTransferEventInfo; + _pFileDownTransferEventInfo._type_name = "FileDownTransferEventInfo"; + + delete _pFileDownTransferEventInfo; + + nexacro.FileDownTransferErrorEventInfo = function (obj, id, errortype, errormsg, errorobj, statuscode, requesturi, locationuri) { + nexacro.ErrorEventInfo.call(this, obj, id, errortype, errormsg, errorobj, statuscode, requesturi, locationuri); + }; + + var _pFileDownTransferErrorEventInfo = nexacro._createPrototype(nexacro.ErrorEventInfo, nexacro.FileDownTransferErrorEventInfo); + nexacro.FileDownTransferErrorEventInfo.prototype = _pFileDownTransferErrorEventInfo; + _pFileDownTransferErrorEventInfo._type_name = "FileDownTransferErrorEventInfo"; + + delete _pFileDownTransferErrorEventInfo; + + nexacro.FileDownTransfer = function (id, parent) { + this.id = this.name = id; + if (parent) { + this.parent = parent; + } + + this.postdatalist = new nexacro.Collection(); + }; + var _pFileDownTransfer = nexacro.FileDownTransfer.prototype = nexacro._createPrototype(nexacro._EventSinkObject, nexacro.FileDownTransfer); + _pFileDownTransfer._type_name = "FileDownTransfer"; + + + _pFileDownTransfer.url = ""; + _pFileDownTransfer.downloadfilename = ""; + + + + + _pFileDownTransfer._event_list = { + "onsuccess" : 1, + "onerror" : 1 + }; + + _pFileDownTransfer.on_created = nexacro._emptyFn; + + _pFileDownTransfer.destroy = function () { + this.postdatalist = null; + + return true; + }; + + _pFileDownTransfer.set_postdatalist = nexacro._emptyFn; + _pFileDownTransfer.set_url = function (v) { + if (this.url != v) { + this.url = v; + } + }; + _pFileDownTransfer.set_downloadfilename = function (v) { + if (this.downloadfilename != v) { + this.downloadfilename = v; + } + }; + _pFileDownTransfer.setPostData = function (strKey, value) { + if (!strKey) { + return; + } + + this.postdatalist.setItem(strKey, value); + }; + + _pFileDownTransfer.removePostData = function (strKey) { + this.postdatalist.delete_item(strKey); + }; + + _pFileDownTransfer.getPostData = function (strKey) { + return this.postdatalist.getItem(strKey); + }; + + _pFileDownTransfer.clearPostDataList = function () { + this.postdatalist.clear(); + }; + + _pFileDownTransfer.download = function (strUrl, strTargetPath) { + strUrl = strUrl ? nexacro._getImageLocation(strUrl) : (this.url ? nexacro._getServiceLocation(this.url, null, null, false) : ""); + strTargetPath = nexacro._toString(strTargetPath); + + if (!strUrl) { + return; + } + + var postdatalist = { + }; + for (var i = 0, len = this.postdatalist.length; i < len; i++) { + postdatalist[this.postdatalist._idArray[i]] = this.postdatalist[i]; + } + + nexacro._downloadTransfer(postdatalist, strUrl, strTargetPath, this); + }; + + _pFileDownTransfer.on_load = function (status, data, url, errcode, httpcode, errmsg, extramsg) { + if (data) { + if (!nexacro._isArray(data)) { + if (status < 0) { + return this.on_fire_onerror("ObjectError", errmsg, this, httpcode, url, url); + } + else { + return this.on_fire_onsuccess(url, data); + } + } + else { + } + } + + return this.on_fire_onerror("ObjectError", "fail to get", this, 9901, url, url); + }; + + _pFileDownTransfer.on_error = function (url, errorcode, httpcode, errormsg) { + this.on_fire_onerror("ObjectError", errormsg, this, httpcode, url, url); + }; + + _pFileDownTransfer.on_fire_onsuccess = function (url, fullpath) { + if (this.onsuccess && this.onsuccess._has_handlers) { + var evt = new nexacro.FileDownTransferEventInfo(this, "onsuccess", url, fullpath); + this.onsuccess._fireEvent(this, evt); + } + }; + + _pFileDownTransfer.on_fire_onerror = function (errortype, errormsg, errorobj, statuscode, requesturi, locationuri) { + if (this.onerror && this.onerror._has_handlers) { + var evt = new nexacro.FileDownTransferErrorEventInfo(this, "onerror", errortype, errormsg, errorobj, statuscode, requesturi, locationuri); + return this.onerror._fireEvent(this, evt); + } + return true; + }; + + + _pFileDownTransfer._getForm = function () { + if (this.parent instanceof nexacro.Form) { + return this.parent; + } + return null; + }; + + delete _pFileDownTransfer; +} diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/nexacro17lib/component/ComComp/FileDownload.js b/nexacro-spring/src/main/webapp/deploy/_web_/nexacro17lib/component/ComComp/FileDownload.js new file mode 100644 index 0000000..0f0a6cc --- /dev/null +++ b/nexacro-spring/src/main/webapp/deploy/_web_/nexacro17lib/component/ComComp/FileDownload.js @@ -0,0 +1,213 @@ +//============================================================================== +// +// TOBESOFT Co., Ltd. +// Copyright 2017 TOBESOFT Co., Ltd. +// All Rights Reserved. +// +// NOTICE: TOBESOFT permits you to use, modify, and distribute this file +// in accordance with the terms of the license agreement accompanying it. +// +// Readme URL: http://www.nexacro.co.kr/legal/nexacro17-public-license-readme-1.1.html +// +//============================================================================== + +if (!nexacro.FileDownload) { + nexacro.FileDownloadEventInfo = function (obj, id, url, targetfullpath) { + this.id = this.eventid = id || "onsuccess"; + this.fromobject = this.fromreferenceobject = obj; + this.url = url; + this.targetfullpath = targetfullpath; + }; + + var _pFileDownloadEventInfo = nexacro._createPrototype(nexacro.Event, nexacro.FileDownloadEventInfo); + nexacro.FileDownloadEventInfo.prototype = _pFileDownloadEventInfo; + _pFileDownloadEventInfo._type_name = "FileDownloadEventInfo"; + + delete _pFileDownloadEventInfo; + + nexacro.FileDownloadErrorEventInfo = function (obj, id, errortype, errormsg, errorobj, statuscode, requesturi, locationuri) { + nexacro.ErrorEventInfo.call(this, obj, id, errortype, errormsg, errorobj, statuscode, requesturi, locationuri); + }; + + var _pFileDownloadErrorEventInfo = nexacro._createPrototype(nexacro.ErrorEventInfo, nexacro.FileDownloadErrorEventInfo); + nexacro.FileDownloadErrorEventInfo.prototype = _pFileDownloadErrorEventInfo; + _pFileDownloadErrorEventInfo._type_name = "FileDownloadErrorEventInfo"; + + delete _pFileDownloadErrorEventInfo; + + nexacro.FileDownload = function (id, left, top, width, height, right, bottom, minwidth, maxwidth, minheight, maxheight, parent) { + nexacro._IconText.call(this, id, left, top, width, height, right, bottom, minwidth, maxwidth, minheight, maxheight, parent); + }; + + var _pFileDownload = nexacro._createPrototype(nexacro._IconText, nexacro.FileDownload); + nexacro.FileDownload.prototype = _pFileDownload; + _pFileDownload._type_name = "FileDownload"; + + + _pFileDownload.tabstop = true; + _pFileDownload.downloadurl = ""; + _pFileDownload.downloadfilename = ""; + + _pFileDownload.filefilter = ""; + _pFileDownload.filefilterindex = 0; + + + _pFileDownload._is_simple_control = true; + _pFileDownload._is_focus_accept = true; + _pFileDownload._use_pushed_status = true; + + + _pFileDownload._event_list = + { + "onclick" : 1, + "ondblclick" : 1, + "ondrag" : 1, + "ondragenter" : 1, + "ondragmove" : 1, + "ondragleave" : 1, + "ondrop" : 1, + "onkeydown" : 1, + "onkeyup" : 1, + "onkillfocus" : 1, + "onsetfocus" : 1, + "onlbuttondown" : 1, + "onlbuttonup" : 1, + "onrbuttondown" : 1, + "onrbuttonup" : 1, + "onmouseenter" : 1, + "onmousemove" : 1, + "onmouseleave" : 1, + "onmove" : 1, + "onsize" : 1, + "onsuccess" : 1, + "onerror" : 1, + "oncontextmenu" : 1, + "ontouchstart" : 1, + "ontouchmove" : 1, + "ontouchend" : 1 + }; + + + _pFileDownload.accessibilityrole = "button"; + + _pFileDownload.on_create_contents = function () { + nexacro._IconText.prototype.on_create_contents.call(this); + + nexacro._create_hidden_frame("", this._on_download_onload, this, "filedownload"); + }; + + _pFileDownload.on_destroy_contents = function () { + nexacro._IconText.prototype.on_destroy_contents.call(this); + + nexacro._destroy_hidden_frame("", this, "filedownload"); + }; + + _pFileDownload._getDlgCode = function () { + return { + want_tab : false, + want_return : true, + want_escape : false, + want_chars : false, + want_arrows : false + }; + }; + + _pFileDownload._isFocusAcceptable = function () { + return this._is_focus_accept; + }; + + _pFileDownload.set_downloadurl = function (v) { + if (v != this.downloadurl) { + this.downloadurl = v; + } + }; + + _pFileDownload.set_downloadfilename = function (v) { + if (v != this.downloadfilename) { + this.downloadfilename = v; + } + }; + + _pFileDownload.set_filefilter = function (v) { + this.filefilter = v; + }; + + _pFileDownload.set_filefilterindex = function (v) { + this.filefilterindex = v; + }; + + + _pFileDownload.download = function (url, targetpath) { + var ret = null; + var downloadurl = this.downloadurl; + var initname = this.downloadfilename; + if (targetpath != undefined) { + targetpath = nexacro._toString(targetpath); + } + + if (url != undefined) { + url = nexacro._toString(url); + url = nexacro._getImageLocation(url); + + ret = nexacro._download(url, this._hidden_frame_handle, initname, targetpath, this.filefilter, this.filefilterindex); + } + else if (downloadurl != undefined && downloadurl != "") { + downloadurl = nexacro._getServiceLocation(downloadurl); + ret = nexacro._download(downloadurl, this._hidden_frame_handle, initname, targetpath, this.filefilter, this.filefilterindex); + } + return ret === null ? false : true; + }; + + _pFileDownload._on_download_onload = function (status, data, url, errcode, httpcode, errmsg, extramsg) { + if (status < 0) { + nexacro._onHttpSystemError(this, true, this, errcode, url, httpcode, url, null, extramsg); + var commerrorobj = nexacro.MakeCommunicationError(this, errcode, url, httpcode, url, null, extramsg); + this.on_fire_onerror(this, "ObjectError", commerrorobj.message, this, 9901, null, null); + } + else { + this.on_fire_onsuccess(url, data); + } + }; + + _pFileDownload.on_fire_sys_onkeyup = function (key_code, alt_key, ctrl_key, shift_key, from_comp, from_refer_comp) { + var ret = nexacro.Component.prototype.on_fire_sys_onkeyup.call(this, key_code, alt_key, ctrl_key, shift_key, from_comp, from_refer_comp); + + if (key_code == 13 || key_code == 32) { + this.on_fire_onclick("none", false, false, false, -1, -1, -1, -1, -1, -1, this, this); + } + + return ret; + }; + + _pFileDownload.on_fire_onsuccess = function (url, targetfullpath) { + var application = nexacro.getApplication(); + if (application) { + application._endCommProgress(); + } + + if (this.onsuccess && this.onsuccess._has_handlers && url != "") { + var evt = new nexacro.FileDownloadEventInfo(this, "onsuccess", url, targetfullpath); + return this.onsuccess._fireEvent(this, evt); + } + }; + + _pFileDownload.on_fire_onerror = function (obj, errortype, errormsg, errorobj, statuscode, requesturi, locationuri) { + var application = nexacro.getApplication(); + if (application) { + application._endCommProgress(); + } + + if (this.onerror && this.onerror._has_handlers) { + var evt = new nexacro.FileDownloadErrorEventInfo(obj, "onerror", errortype, errormsg, errorobj, statuscode, requesturi, locationuri); + return this.onerror._fireEvent(this, evt); + } + }; + + _pFileDownload.on_fire_onclick = function (button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientX, clientY, from_comp, from_refer_comp) { + var ret = nexacro.Component.prototype.on_fire_onclick.call(this, button, alt_key, ctrl_key, shift_key, screenX, screenY, canvasX, canvasY, clientX, clientY, from_comp, from_refer_comp); + this.download(); + return ret; + }; + + delete _pFileDownload; +} diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/nexacro17lib/component/ComComp/FileUpTransfer.js b/nexacro-spring/src/main/webapp/deploy/_web_/nexacro17lib/component/ComComp/FileUpTransfer.js new file mode 100644 index 0000000..979df2f --- /dev/null +++ b/nexacro-spring/src/main/webapp/deploy/_web_/nexacro17lib/component/ComComp/FileUpTransfer.js @@ -0,0 +1,318 @@ +//============================================================================== +// +// TOBESOFT Co., Ltd. +// Copyright 2017 TOBESOFT Co., Ltd. +// All Rights Reserved. +// +// NOTICE: TOBESOFT permits you to use, modify, and distribute this file +// in accordance with the terms of the license agreement accompanying it. +// +// Readme URL: http://www.nexacro.co.kr/legal/nexacro17-public-license-readme-1.1.html +// +//============================================================================== + +if (!nexacro.FileUpTransfer) { + nexacro.FileUpTransferEventInfo = function (obj, id, dsArray, code, message, url, index) { + this.id = this.eventid = id || "onsuccess"; + this.fromobject = this.fromreferenceobject = obj; + + this.datasets = dsArray; + this.code = code; + this.message = message; + this.url = url; + }; + + var _pFileUpTransferEventInfo = nexacro._createPrototype(nexacro.Event, nexacro.FileUpTransferEventInfo); + nexacro.FileUpTransferEventInfo.prototype = _pFileUpTransferEventInfo; + _pFileUpTransferEventInfo._type_name = "FileUpTransferEventInfo"; + + delete _pFileUpTransferEventInfo; + + nexacro.FileUpTransferErrorEventInfo = function (obj, id, errortype, errormsg, errorobj, statuscode, requesturi, locationuri, index) { + nexacro.ErrorEventInfo.call(this, obj, id, errortype, errormsg, errorobj, statuscode, requesturi, locationuri); + }; + + var _pFileUpTransferErrorEventInfo = nexacro._createPrototype(nexacro.ErrorEventInfo, nexacro.FileUpTransferErrorEventInfo); + nexacro.FileUpTransferErrorEventInfo.prototype = _pFileUpTransferErrorEventInfo; + _pFileUpTransferErrorEventInfo._type_name = "FileUpTransferErrorEventInfo"; + + delete _pFileUpTransferErrorEventInfo; + + nexacro.FileUpTransferProgressEventInfo = function (obj, id, loaded, total, index) { + this.id = this.eventid = id || "onprogress"; + this.fromobject = this.fromreferenceobject = obj; + + this.loaded = loaded; + this.total = total; + }; + + var _pFileUpTransferProgressEventInfo = nexacro._createPrototype(nexacro.ErrorEventInfo, nexacro.FileUpTransferProgressEventInfo); + nexacro.FileUpTransferProgressEventInfo.prototype = _pFileUpTransferProgressEventInfo; + _pFileUpTransferProgressEventInfo._type_name = "FileUpTransferProgressEventInfo"; + + delete _pFileUpTransferProgressEventInfo; + + nexacro.FileUpTransfer = function (id, parent) { + this.id = this.name = id; + if (parent) { + this.parent = parent; + } + + this.filelist = new nexacro.Collection(); + this.postdatalist = new nexacro.Collection(); + }; + var _pFileUpTransfer = nexacro.FileUpTransfer.prototype = nexacro._createPrototype(nexacro._EventSinkObject, nexacro.FileUpTransfer); + _pFileUpTransfer._type_name = "FileUpTransfer"; + + + _pFileUpTransfer.url = ""; + + + _pFileUpTransfer._handle = null; + _pFileUpTransfer._aborted = false; + _pFileUpTransfer._user_aborted = false; + + _pFileUpTransfer._TransferType = + { + ALL : 1, + PART : 2, + PARTALL : 3 + }; + + + _pFileUpTransfer._event_list = { + "onsuccess" : 1, + "onerror" : 1, + "onprogress" : 1 + }; + + _pFileUpTransfer.on_created = nexacro._emptyFn; + + _pFileUpTransfer.destroy = function () { + if (this.filelist) { + this.filelist.destroy(); + this.filelist = null; + } + + if (this.postdatalist) { + this.postdatalist.destroy(); + this.postdatalist = null; + } + + return true; + }; + + _pFileUpTransfer.set_filelist = nexacro._emptyFn; + _pFileUpTransfer.set_postdatalist = nexacro._emptyFn; + _pFileUpTransfer.set_url = function (v) { + if (this.url != v) { + this.url = v; + } + }; + + _pFileUpTransfer.setFile = function (nIndex, vFile) { + if (!vFile || !(vFile instanceof nexacro.VirtualFile)) { + return false; + } + + return this.filelist.set_item(nIndex, vFile); + }; + + _pFileUpTransfer.addFile = function (id, vFile) { + if (id === null || id === undefined || id === "" || this.filelist[id]) { + return -1; + } + + if (!vFile || !(vFile instanceof nexacro.VirtualFile)) { + return -1; + } + + return this.filelist.add_item(id, vFile); + }; + + _pFileUpTransfer.removeFile = function (id) { + return this.filelist.delete_item(id); + }; + + _pFileUpTransfer.removeFileByIndex = function (nIndex) { + nIndex = nIndex | 0; + if (nIndex < 0 || nIndex >= this.filelist.length) { + return -1; + } + + return this.filelist.delete_item(nIndex); + }; + + _pFileUpTransfer.getFileArrayByFileName = function (strFileName) { + var ret = null; + + for (var i = 0, file, filelist = this.filelist, len = filelist.length; i < len; i++) { + file = filelist[i]; + if (strFileName == file.filename) { + if (!ret) { + ret = []; + } + + ret.push(file); + } + } + + return ret; + }; + + _pFileUpTransfer.getIndexArrayByFileName = function (strFileName) { + var ret = null; + + for (var i = 0, filelist = this.filelist, len = filelist.length; i < len; i++) { + if (strFileName == filelist[i].filename) { + if (!ret) { + ret = []; + } + + ret.push(i); + } + } + + return ret; + }; + + _pFileUpTransfer.existFile = function (vFile) { + var ret = false; + + if (!vFile || !(vFile instanceof nexacro.VirtualFile)) { + return ret; + } + + for (var i = 0, filelist = this.filelist, len = filelist.length; i < len; i++) { + if (nexacro._isEqualTransferFile(filelist[i], vFile)) { + ret = true; + break; + } + } + + return ret; + }; + + _pFileUpTransfer.setPostData = function (strKey, value) { + if (!strKey) { + return; + } + + this.postdatalist.setItem(strKey, value); + }; + + _pFileUpTransfer.removePostData = function (strKey) { + this.postdatalist.delete_item(strKey); + }; + + _pFileUpTransfer.getPostData = function (strKey) { + return this.postdatalist.getItem(strKey); + }; + + _pFileUpTransfer.clearFileList = function () { + this.filelist.clear(); + }; + + _pFileUpTransfer.clearPostDataList = function () { + this.postdatalist.clear(); + }; + + _pFileUpTransfer.upload = function (strUrl) { + this._aborted = false; + this._user_aborted = false; + + strUrl = strUrl ? nexacro._getServiceLocation(strUrl, null, null, false) : (this.url ? nexacro._getServiceLocation(this.url, null, null, false) : ""); + if (!strUrl) { + return; + } + + nexacro._uploadTransfer(this.filelist, this.postdatalist, strUrl, -1, this); + }; + + _pFileUpTransfer.on_load = function (data, url, index) { + if (data) { + var info = data[0]; + var datasets = data[1]; + + if (info) { + var errorcode = info["ErrorCode"]; + var errormsg = info["ErrorMsg"]; + + if (errorcode < 0) { + return this.on_fire_onerror("ObjectError", errormsg, this, 9901, url, url, index); + } + else { + return this.on_fire_onsuccess(datasets, errorcode, errormsg, url, index); + } + } + } + + return this.on_fire_onerror("ObjectError", "fail to get", this, 9901, url, url, index); + }; + + _pFileUpTransfer.on_message = function (e) { + var request_url = e.data[0]; + var request_index = e.data[1]; + + var data = e.message; + if (data) { + data = nexacro.trimLeft(decodeURIComponent(data.replace(/\+/g, " "))); + var fstr = data.substring(0, 3).toUpperCase(); + if (fstr == "SSV") { + data = nexacro._Deserializer["SSV"](data); + } + else { + var xmldoc = nexacro._parseXMLDocument(data); + if (nexacro._getContentType(xmldoc) == "XML") { + data = nexacro._Deserializer["XML"](xmldoc); + } + } + } + + this.on_load(data, request_url, request_index); + }; + + _pFileUpTransfer.on_error = function (errorcode, errormsg, httpcode, url, index) { + this.on_fire_onerror("ObjectError", errormsg, this, httpcode || errorcode, url, url, index); + }; + + _pFileUpTransfer.on_progress = function (loaded, total, index) { + this.on_fire_onprogress(loaded, total, index); + }; + + _pFileUpTransfer.on_fire_onsuccess = function (datasets, code, msg, url, index) { + if (this.onsuccess && this.onsuccess._has_handlers) { + var evt = new nexacro.FileUpTransferEventInfo(this, "onsuccess", datasets, code, msg, url, index); + this.onsuccess._fireEvent(this, evt); + } + }; + + _pFileUpTransfer.on_fire_onerror = function (errortype, errormsg, errorobj, statuscode, requesturi, locationuri, index) { + if (this.onerror && this.onerror._has_handlers) { + var evt = new nexacro.FileUpTransferErrorEventInfo(this, "onerror", errortype, errormsg, errorobj, statuscode, requesturi, locationuri, index); + this.onerror._fireEvent(this, evt); + } + }; + + _pFileUpTransfer.on_fire_onprogress = function (loaded, total, index) { + if (this.onprogress && this.onprogress._has_handlers) { + var evt = new nexacro.FileUpTransferProgressEventInfo(this, "onprogress", loaded, total, index); + return this.onprogress._fireEvent(this, evt); + } + return true; + }; + + + _pFileUpTransfer._getForm = function () { + if (this.parent instanceof nexacro.Form) { + return this.parent; + } + return null; + }; + + _pFileUpTransfer._getTransferType = function () { + return this._TransferType[this.type.toUpperCase()] || 0; + }; + + delete _pFileUpTransfer; +} diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/nexacro17lib/component/ComComp/FileUpload.js b/nexacro-spring/src/main/webapp/deploy/_web_/nexacro17lib/component/ComComp/FileUpload.js new file mode 100644 index 0000000..1f579cd --- /dev/null +++ b/nexacro-spring/src/main/webapp/deploy/_web_/nexacro17lib/component/ComComp/FileUpload.js @@ -0,0 +1,2242 @@ +//============================================================================== +// +// TOBESOFT Co., Ltd. +// Copyright 2017 TOBESOFT Co., Ltd. +// All Rights Reserved. +// +// NOTICE: TOBESOFT permits you to use, modify, and distribute this file +// in accordance with the terms of the license agreement accompanying it. +// +// Readme URL: http://www.nexacro.co.kr/legal/nexacro17-public-license-readme-1.1.html +// +//============================================================================== + +if (!nexacro.FileUpload) { + nexacro.FileUploadItemEventInfo = function (obj, id, idx) { + this.id = this.eventid = id || "onfileuploaditem"; + this.fromobject = this.fromreferenceobject = obj; + + this.index = idx; + }; + + var _pEventFileUploadItemEventInfo = nexacro._createPrototype(nexacro.Event, nexacro.FileUploadItemEventInfo); + nexacro.FileUploadItemEventInfo.prototype = _pEventFileUploadItemEventInfo; + _pEventFileUploadItemEventInfo._type_name = "FileUploadItemEventInfo"; + + delete _pEventFileUploadItemEventInfo; + + nexacro.FileUploadMouseEventInfo = function (obj, id, strButton, altKey, ctrlKey, shiftKey, index, screenX, screenY, canvasX, canvasY, clientX, clientY, from_comp, from_refer_comp) { + this.id = this.eventid = id || "onmouse"; + + this.fromobject = from_comp; + this.fromreferenceobject = from_refer_comp; + this.altkey = altKey || false; + this.ctrlkey = ctrlKey || false; + this.shiftkey = shiftKey || false; + this.button = strButton || ""; + this.index = index; + this.screenx = screenX || -1; + this.screeny = screenY || -1; + this.canvasx = canvasX || -1; + this.canvasy = canvasY || -1; + this.clientx = clientX || -1; + this.clienty = clientY || -1; + }; + + var _pFileUploadMouseEventInfo = nexacro._createPrototype(nexacro.Event, nexacro.FileUploadMouseEventInfo); + nexacro.FileUploadMouseEventInfo.prototype = _pFileUploadMouseEventInfo; + _pFileUploadMouseEventInfo._type_name = "FileUploadMouseEventInfo"; + + + _pFileUploadMouseEventInfo._xposConvertToRtl = function (obj, from_refer_comp) { + if (obj && obj._isRtl && obj._isRtl()) { + this._orgcanvasx = this.canvasx; + this._orgcliendx = this.clientx; + this.canvasx = nexacro._getRTLCanvasXForMouseEvent(obj, from_refer_comp, this.canvasx); + this.clientx = obj._getClientXY(this.canvasx, this.canvasy)[0]; + + return true; + } + return false; + }; + + _pFileUploadMouseEventInfo._xposConvertToLtr = function (obj) { + if (obj && obj._isRtl && obj._isRtl()) { + this.canvasx = this._orgcanvasx; + this.clientx = this._orgclientx; + + delete this._orgcanvas; + delete this._orgclientx; + } + }; + + delete _pFileUploadMouseEventInfo; + + nexacro.FileUploadEventInfo = function (obj, id, dsArray, code, msg, url) { + this.id = this.eventid = id || "onsuccess"; + this.fromobject = this.fromreferenceobject = obj; + + this.datasets = dsArray; + this.errorcode = code; + this.errormsg = msg; + this.url = url; + }; + + var _pFileUploadEventInfo = nexacro._createPrototype(nexacro.Event, nexacro.FileUploadEventInfo); + nexacro.FileUploadEventInfo.prototype = _pFileUploadEventInfo; + _pFileUploadEventInfo._type_name = "FileUploadEventInfo"; + + delete _pFileUploadEventInfo; + + nexacro.FileUploadItemChangeEventInfo = function (obj, id, index, oldvalue, newvalue) { + this.id = this.eventid = id || "onitemchanged"; + this.fromobject = this.fromreferenceobject = obj; + + this.index = obj.index; + this.oldvalue = oldvalue; + this.newvalue = newvalue; + }; + + var _pFileUploadItemChangeEventInfo = nexacro._createPrototype(nexacro.Event, nexacro.FileUploadItemChangeEventInfo); + nexacro.FileUploadItemChangeEventInfo.prototype = _pFileUploadItemChangeEventInfo; + _pFileUploadItemChangeEventInfo._type_name = "FileUploadItemChangeEventInfo"; + + delete _pFileUploadItemChangeEventInfo; + + nexacro.FileUploadErrorEventInfo = function (obj, id, errortype, errormsg, errorobj, statuscode, requesturi, locationuri, index) { + nexacro.ErrorEventInfo.call(this, obj, id, errortype, errormsg, errorobj, statuscode, requesturi, locationuri); + this.index = index; + }; + + var _pFileUploadErrorEventInfo = nexacro._createPrototype(nexacro.ErrorEventInfo, nexacro.FileUploadErrorEventInfo); + nexacro.FileUploadErrorEventInfo.prototype = _pFileUploadErrorEventInfo; + _pFileUploadErrorEventInfo._type_name = "FileUploadErrorEventInfo"; + + delete _pFileUploadErrorEventInfo; + + nexacro.FileUpload = function (id, left, top, width, height, right, bottom, minwidth, maxwidth, minheight, maxheight, parent) { + nexacro.Component.call(this, id, left, top, width, height, right, bottom, minwidth, maxwidth, minheight, maxheight, parent); + + this.filelist = []; + this.filepathedits = new nexacro.Collection(); + this.filefindbuttons = new nexacro.Collection(); + + this._items = []; + this.context = this._refform; + }; + + var _pFileUpload = nexacro._createPrototype(nexacro.Component, nexacro.FileUpload); + nexacro.FileUpload.prototype = _pFileUpload; + _pFileUpload._type_name = "FileUpload"; + + + + + _pFileUpload.buttonsize = undefined; + _pFileUpload.buttontext = "find"; + _pFileUpload.index = -1; + _pFileUpload.itemcount = 1; + _pFileUpload.itemheight = undefined; + _pFileUpload.multiselect = false; + _pFileUpload.text = ""; + _pFileUpload.uploadurl = ""; + _pFileUpload.value = undefined; + + _pFileUpload.filefilter = ""; + _pFileUpload.filefilterindex = 0; + + + _pFileUpload._hidden_frame_handle = null; + _pFileUpload._last_id = -1; + _pFileUpload._bresetscroll = 0; + _pFileUpload._onPopupWin = false; + _pFileUpload._is_listtype = true; + _pFileUpload._calc_scroll = false; + _pFileUpload._cnt_resetscroll = 0; + _pFileUpload._iscors = false; + + + _pFileUpload._is_scrollable = true; + + + _pFileUpload.accessibilityaction = ""; + _pFileUpload.accessibilityrole = "fileupload"; + _pFileUpload.accessibilitydesclevel = "all"; + _pFileUpload.accessibilitydescription = ""; + _pFileUpload.accessibilityenable = true; + _pFileUpload.accessibilitylabel = ""; + + _pFileUpload.buttonaccessibilityaction = ""; + _pFileUpload.buttonaccessibilityrole = ""; + _pFileUpload.buttonaccessibilitydesclevel = "all"; + _pFileUpload.buttonaccessibilitydescription = ""; + _pFileUpload.buttonaccessibilityenable = true; + _pFileUpload.buttonaccessibilitylabel = ""; + + _pFileUpload.editaccessibilityaction = ""; + _pFileUpload.editaccessibilityrole = ""; + _pFileUpload.editaccessibilitydesclevel = "all"; + _pFileUpload.editaccessibilitydescription = ""; + _pFileUpload.editaccessibilityenable = true; + _pFileUpload.editaccessibilitylabel = ""; + + _pFileUpload._want_tab = true; + _pFileUpload._want_arrow = false; + _pFileUpload._first_focus = false; + _pFileUpload._editFlag = null; + _pFileUpload._buttonFlag = false; + + + _pFileUpload._event_list = + { + "ondblclick" : 1, + "onkeypress" : 1, + "onkeydown" : 1, + "onkeyup" : 1, + "onkillfocus" : 1, + "onsetfocus" : 1, + "ondrag" : 1, + "ondrop" : 1, + "ondragenter" : 1, + "ondragleave" : 1, + "ondragmove" : 1, + "onlbuttondown" : 1, + "onlbuttonup" : 1, + "onrbuttondown" : 1, + "onrbuttonup" : 1, + "onmousedown" : 1, + "onmouseup" : 1, + "onmouseenter" : 1, + "onmouseleave" : 1, + "onmousemove" : 1, + "onmousewheel" : 1, + "onmove" : 1, + "onsize" : 1, + "onsuccess" : 1, + "onerror" : 1, + "oncontextmenu" : 1, + "onappenditem" : 1, + "ondeleteitem" : 1, + "onitemclick" : 1, + "onfindclick" : 1, + "onitemchanged" : 1, + "ontouchstart" : 1, + "ontouchmove" : 1, + "ontouchend" : 1 + }; + + _pFileUpload.on_create_contents = function () { + var control_elem = this.getElement(); + if (control_elem) { + var item; + var items = this._items; + var itemcount = this.itemcount; + for (var i = 0; i < itemcount; i++) { + item = this._createFileItem(i, 0, 0, 0, 0, true); + this.filepathedits.add_item(item.id, item.fileitemedit); + this.filefindbuttons.add_item(item.id, item.fileitembutton); + items[i] = item; + } + } + }; + + _pFileUpload.on_created_contents = function () { + nexacro._create_hidden_frame(this._unique_id, this._on_manager_onload, this, "fileupload"); + + if (!this.context) { + this.context = this._refform; + } + + this.on_apply_index(this.index); + this.on_apply_prop_enable(this._isEnable()); + + this._recalcLayout(); + + var item; + var items = this._items; + var itemcount = this.itemcount; + for (var i = 0; i < itemcount; i++) { + item = items[i]; + + item.on_created(); + + item._setEventHandler("onfindclick", this._on_item_onfindclick, this); + item._setEventHandler("onitemclick", this._on_item_onitemclick, this); + + if (nexacro._enableaccessibility) { + item._setAccessibilityInfoIndex(i + 1); + item._setAccessibilityInfoCount(itemcount); + } + } + + this._buttonFlag = true; + + if (nexacro._enableaccessibility) { + this.on_apply_editaccessibility(); + this.on_apply_buttonaccessibility(); + } + + this._onRecalcScrollSize(); + }; + + _pFileUpload.on_destroy_contents = function () { + var items = this._items; + var item_len = items.length; + for (var i = 0; i < item_len; i++) { + items[i].destroy(); + } + this.filelist = null; + this._items = null; + + this.filepathedits.clear(); + this.filepathedits = null; + this.filefindbuttons.clear(); + this.filefindbuttons = null; + nexacro._destroy_hidden_frame(this._unique_id, this, "fileupload"); + }; + + _pFileUpload.on_create_contents_command = function () { + this.on_apply_index(this.index); + this.on_apply_prop_enable(this._isEnable()); + + this._recalcLayout(); + + var str = ""; + var items = this._items; + var itemcount = this.itemcount; + for (var i = 0; i < itemcount; i++) { + str += items[i].createCommand(); + } + + return str; + }; + + _pFileUpload.on_attach_contents_handle = function (win) { + nexacro._create_hidden_frame(this._unique_id, this._on_manager_onload, this, "fileupload"); + + var item; + var items = this._items; + var itemcount = this.itemcount; + for (var i = 0; i < itemcount; i++) { + item = items[i]; + item.attachHandle(win); + item._setEventHandler("onfindclick", this._on_item_onfindclick, this); + item._setEventHandler("onitemclick", this._on_item_onitemclick, this); + + if (nexacro._enableaccessibility) { + item._setAccessibilityInfoIndex(i + 1); + item._setAccessibilityInfoCount(itemcount); + } + + if (this.index == i) { + if (this._editFlag) { + item.fileitemedit.setFocus(false); + } + + if (this._buttonFlag) { + item.fileitembutton.setFocus(false); + } + + this.value = item.value; + } + } + + this._buttonFlag = true; + if (nexacro._enableaccessibility) { + this.on_apply_editaccessibility(this.editaccessibility); + this.on_apply_buttonaccessibility(this.buttonaccessibility); + } + if (this.multiselect) { + this.on_apply_multiselect(this.multiselect); + } + + this._onRecalcScrollSize(); + }; + + _pFileUpload.on_change_containerRect = function (width, height) { + if (this._is_created_contents) { + this._recalcLayout(); + + if (!this._calc_scroll) { + this._onRecalcScrollSize(); + } + else { + this._cnt_resetscroll++; + this._onResetScrollBar(); + } + } + }; + + _pFileUpload.on_change_containerPos = function (left, top) { + }; + + _pFileUpload._apply_setfocus = function (evt_name) { + var enableaccessibility = nexacro._enableaccessibility; + var selffocus = ((evt_name == "lbutton") ? false : enableaccessibility); + var items = this._items; + if (items.length < -1 || enableaccessibility) { + var control_elem = this._control_element; + if (control_elem) { + control_elem.setElementFocus(selffocus); + } + } + else { + var item = items[this.index]; + if (item) { + item.fileitembutton._control_element.setElementFocus(selffocus); + } + } + }; + + _pFileUpload.on_apply_prop_enable = function (enable) { + nexacro.Component.prototype.on_apply_prop_enable.call(this, enable); + + var items = this._items; + var item_len = items.length; + + for (var i = 0; i < item_len; i++) { + items[i]._setEnable(enable); + items[i].fileitemedit._setEnable(enable); + items[i].fileitembutton._setEnable(enable); + } + }; + + _pFileUpload._onRecalcScrollSize = function () { + var control_elem = this.getElement(); + if (control_elem) { + var scrollWidth = this._getClientWidth(); + var scrollHeight = this.itemcount * this._getItemHeight(); + + if (scrollHeight > this._getClientHeight()) { + var vscroll = this.vscrollbar; + if (vscroll) { + if (!vscroll.visible) { + scrollWidth -= vscroll._getClientWidth(); + } + } + else { + scrollWidth -= this._getVScrollBarSize(); + } + } + + this._calc_scroll = true; + + control_elem.setElementScrollMaxSize(scrollWidth, scrollHeight); + + if (!this._cnt_resetscroll) { + this._onResetScrollBar(); + } + + this._calc_scroll = false; + this._cnt_resetscroll = 0; + } + }; + + _pFileUpload._on_getAccessibilityAdditionalLabel = function () { + if (this._first_focus == false) { + var count = 0; + var items = this._items; + if (items) { + count = items.length; + } + return (+this.index) + 1 + " " + count; + } + return ""; + }; + + _pFileUpload._getDlgCode = function (keycode, altKey, ctrlKey, shiftKey) { + var want_tab = this._want_tab; + this._want_tab = true; + this._want_arrow = this._want_arrow && this._isEnable(); + + return { + want_tab : want_tab, + want_return : true, + want_escape : false, + want_chars : false, + want_arrows : this._want_arrow + }; + }; + + _pFileUpload._isAccessibilityEnable = function () { + return true; + }; + + _pFileUpload.set_text = nexacro._emptyFn; + + _pFileUpload.set_value = nexacro._emptyFn; + + _pFileUpload.set_buttonsize = function (v) { + if (v !== undefined) { + if (isNaN(v = +v)) { + return; + } + } + + if (this.buttonsize != v) { + this.buttonsize = v; + this.on_apply_buttonsize(v); + } + }; + + _pFileUpload.on_apply_buttonsize = function (buttonsize) { + var items = this._items; + var item_len = items.length; + for (var i = 0; i < item_len; i++) { + if (items[i]) { + items[i]._recalcLayout(); + } + } + }; + + _pFileUpload.set_buttontext = function (v) { + if (this.buttontext != v) { + this.buttontext = v; + this.on_apply_buttontext(v); + } + }; + + _pFileUpload.on_apply_buttontext = function (buttontext) { + var itembutton; + var items = this._items; + var item_len = items.length; + for (var i = 0; i < item_len; i++) { + itembutton = items[i].fileitembutton; + if (itembutton) { + itembutton.set_text(buttontext); + } + } + }; + + _pFileUpload.set_index = function (v) { + if (isNaN(v = +v) || v < -1) { + return; + } + + if (this.index != v) { + this.index = v; + this.on_apply_index(v); + this._setAccessibilityStatSelected(v); + } + }; + + _pFileUpload.on_apply_index = function (index) { + var control_elem = this.getElement(); + if (control_elem) { + var item = this._items[index]; + if (item) { + if (this._editFlag) { + item.fileitemedit.setFocus(false); + } + + if (this._buttonFlag) { + item.fileitembutton.setFocus(false); + } + + this.value = item.value; + } + } + }; + + _pFileUpload.set_itemcount = function (v) { + if (isNaN(v = +v) || v < 0) { + return; + } + + if (this.itemcount != v) { + var pre_itemcount = this.itemcount; + this.itemcount = v; + this.on_apply_itemcount(v, pre_itemcount); + } + }; + + _pFileUpload.on_apply_itemcount = function (itemcount, pre_itemcount) { + var control_elem = this.getElement(); + if (control_elem) { + var item; + var items = this._items; + var item_len = items.length; + + while (item_len && pre_itemcount > itemcount) { + pre_itemcount--; + items.pop().destroy(); + } + + for (var i = item_len; i < itemcount; i++) { + item = this._items[i] = this._createFileItem(i); + this.filepathedits.add_item(item.id, item.fileitemedit); + this.filefindbuttons.add_item(item.id, item.fileitembutton); + } + + this._recalcLayout(); + this._onRecalcScrollSize(); + } + }; + + _pFileUpload.set_itemheight = function (v) { + if (v !== undefined) { + if (isNaN(v = +v)) { + return; + } + } + + if (this.itemheight != v) { + this.itemheight = v; + this.on_apply_itemheight(v); + } + }; + + _pFileUpload.on_apply_itemheight = function (itemheight) { + this._recalcLayout(); + this._onRecalcScrollSize(); + }; + + _pFileUpload.set_multiselect = function (v) { + v = nexacro._toBoolean(v); + if (this.multiselect != v) { + this.multiselect = v; + this.on_apply_multiselect(v); + } + }; + + _pFileUpload.on_apply_multiselect = function (multiselect) { + var control_elem = this.getElement(); + if (control_elem) { + var item; + var items = this._items; + var item_len = items.length; + var comp_name = this._unique_id; + + for (var i = 0; i < item_len; i++) { + item = items[i]; + nexacro._setMultipleFile(comp_name, item.name, multiselect, item); + } + } + }; + + _pFileUpload.set_uploadurl = function (v) { + if (this.uploadurl != v) { + this.uploadurl = v; + } + }; + + _pFileUpload.on_apply_accessibility = function () { + nexacro.Component.prototype.on_apply_accessibility.call(this); + this.on_apply_editaccessibility(); + this.on_apply_buttonaccessibility(); + }; + + _pFileUpload.on_apply_editaccessibility = function () { + var iLen = this._items.length; + var item = null; + var role = this.editaccessibilityrole; + var label = this.editaccessibilitylabel; + var desclevel = this.editaccessibilitydesclevel; + var description = this.editaccessibilitydescription; + var enable = this.editaccessibilityenable; + var action = this.editaccessibilityaction; + + for (var i = 0; i < iLen; i++) { + item = this._getItem(i); + var fileitemedit = item.fileitemedit; + if (fileitemedit) { + if (role) { + fileitemedit.set_accessibilitydescrole(role); + } + if (label) { + fileitemedit.set_accessibilitydesclabel(label); + } + if (desclevel) { + fileitemedit.set_accessibilitydesclevel(desclevel); + } + if (action) { + fileitemedit.set_accessibilityaction(action); + } + if (description) { + fileitemedit.set_accessibilitydesclevel(description); + } + fileitemedit.set_accessibilityenable(enable); + } + } + }; + + _pFileUpload.on_apply_buttonaccessibility = function (buttonaccessibility) { + var iLen = this._items.length; + var item = null; + var role = this.editaccessibilityrole; + var label = this.editaccessibilitylabel; + var desclevel = this.editaccessibilitydesclevel; + var description = this.editaccessibilitydescription; + var enable = this.editaccessibilityenable; + var action = this.editaccessibilityaction; + + for (var i = 0; i < iLen; i++) { + item = this._getItem(i); + var fileitembutton = item.fileitembutton; + if (fileitembutton) { + if (role) { + fileitembutton.set_accessibilitydescrole(role); + } + if (label) { + fileitembutton.set_accessibilitydesclabel(label); + } + if (desclevel) { + fileitembutton.set_accessibilitydesclevel(desclevel); + } + if (action) { + fileitembutton.set_accessibilityaction(action); + } + if (description) { + fileitembutton.set_accessibilitydesclevel(description); + } + fileitembutton.set_accessibilityenable(enable); + } + } + }; + + _pFileUpload.set_filefilter = function (v) { + this.filefilter = v; + }; + + _pFileUpload.set_filefilterindex = function (v) { + this.filefilterindex = v; + }; + + + _pFileUpload.appendItem = function () { + var control_elem = this.getElement(); + if (control_elem) { + var index = this.itemcount; + var item = this._items[index] = this._createFileItem(index); + this.filepathedits.add_item(item.id, item.fileitemedit); + this.filefindbuttons.add_item(item.id, item.fileitembutton); + + this.itemcount++; + if (nexacro._enableaccessibility) { + item._setAccessibilityInfoIndex(index); + item._setAccessibilityInfoCount(index + 1); + } + + this._recalcLayout(); + this._onRecalcScrollSize(); + + this.on_fire_onappenditem(this, index); + } + }; + + _pFileUpload.deleteItem = function (idx) { + if (idx < 0) { + return; + } + var cur_index = this.index; + var control_elem = this.getElement(); + if (control_elem) { + idx = parseInt(idx, 10); + var items = this._items; + + if (this.itemcount <= idx) { + return; + } + + var iCount = this.itemcount; + var iCnt = iCount - 1; + for (var i = idx + 1; i < iCount; i++) { + if (cur_index == i) { + this.index--; + } + items[i].index--; + + if (nexacro._enableaccessibility) { + items[i]._setAccessibilityInfoIndex(i); + items[i]._setAccessibilityInfoCount(iCnt); + } + } + + items[idx].destroy(); + items.splice(idx, 1); + if (cur_index == idx) { + this.index = -1; + this.value = undefined; + } + + this.itemcount--; + + this._recalcLayout(); + this._onRecalcScrollSize(); + this.on_fire_ondeleteitem(this, idx); + + this._updateFileList(); + } + }; + + _pFileUpload.changeItem = function (idx, newvalue) { + if (nexacro._Browser == "Runtime" && nexacro._OS != "Android") { + var control_elem = this.getElement(); + if (control_elem) { + idx = parseInt(idx, 10); + + if (this.itemcount <= idx) { + return; + } + + var item = this._items[idx]; + + var value; + var fLen = newvalue.length; + var trustNewvalue = new Array(); + if (fLen > 0) { + value = ""; + for (var j = 0; j < fLen; j++) { + var filename = newvalue[j]; + + filename = filename.split("/").join("\\"); + var nIdx = filename.lastIndexOf("\\"); + var path = ""; + if (nIdx > 0) { + path = filename.substring(0, nIdx + 1); + } + var _window = this._getWindow(); + if (nexacro._isTrustPath(_window, path)) { + value += (trustNewvalue.length > 0 ? ", " : "") + newvalue[j]; + trustNewvalue.push(newvalue[j]); + } + } + } + + if (value != item.value) { + item.oldvalue = item.value; + item.value = value; + item._changeFiles(trustNewvalue); + if (item.fileitemedit) { + item.fileitemedit.set_value(value); + } + + if (((this.index == -1) ? 0 : this.index) == idx) { + item.parent._setText(value); + item.parent._setValue(value); + } + item.parent.on_fire_onitemchanged(item, idx, item.oldvalue, item.value, newvalue); + } + trustNewvalue.length = 0; + } + } + }; + + _pFileUpload.getItemCount = function (bHasValue) { + var control_elem = this.getElement(); + if (control_elem) { + bHasValue = nexacro._toBoolean(bHasValue); + + var cnt = 0; + var idx = 0; + var items = this._items; + var item_len = items.length; + + while (idx < item_len) { + if (bHasValue == true) { + if (items[idx].value) { + cnt++; + } + } + else { + return item_len; + } + ++idx; + } + return cnt; + } + }; + + _pFileUpload.getItemIndex = function (obj) { + var control_elem = this.getElement(); + if (control_elem) { + if (typeof obj == "object") { + var idx = 0; + var items = this._items; + while (idx < items.length) { + if (obj == items[idx].fileitembutton) { + return idx; + } + if (obj == items[idx].fileitemedit) { + return idx; + } + ++idx; + } + return -1; + } + } + }; + + _pFileUpload.hasValue = function (idx) { + var control_elem = this.getElement(); + if (control_elem) { + var i = 0, cnt = 0; + var items = this._items; + if (idx == -1) { + while (i < items.length) { + if (items[i].value) { + ++cnt; + } + ++i; + } + if (cnt == items.length) { + return true; + } + return false; + } + + if (idx < items.length && items[idx].value) { + return true; + } + return false; + } + }; + + _pFileUpload.upload = function (v) { + var ret = false; + var uploadurl; + + if (v == undefined) { + if (this.uploadurl) { + uploadurl = nexacro._getServiceLocation(this.uploadurl, null, null, false); + } + } + else { + uploadurl = nexacro._getServiceLocation(v, null, null, false); + } + + if (nexacro._Browser != "Runtime") { + if (!nexacro._isSameOrigin(uploadurl, nexacro._project_url)) { + this._iscors = true; + } + } + + if (uploadurl) { + var items = this._items; + var len = items ? items.length : 0; + var i; + + if (nexacro._Browser == "Runtime" && nexacro._OS != "Android") { + var fileinfo = []; + var idx = 0; + for (i = 0; i < len; i++) { + if (items[i]._files) { + fileinfo[idx] = items[i]._files; + idx++; + } + } + for (i = 0; i < len; i++) { + if (items[i] && items[i].value) { + if (items[i]._files && (items[i]._files[0] instanceof nexacro.VirtualFile)) { + nexacro._submit(this._unique_id, uploadurl, this._hidden_frame_handle, null, items[i].value, fileinfo); + } + else { + nexacro._submit(this._unique_id, uploadurl, this._hidden_frame_handle, null, items[i].value); + } + return true; + } + } + } + else if (nexacro._Browser == "Runtime" && nexacro._OS == "Android") { + if (len > 1) { + var fileinfo = []; + var idx = 0; + for (i = 0; i < len; i++) { + if (items[i]._files) { + fileinfo[idx] = items[i]._files; + idx++; + } + } + nexacro._submit(this._unique_id, uploadurl, this._hidden_frame_handle, null, items[0].value, fileinfo); + ret = true; + } + else { + nexacro._submit(this._unique_id, uploadurl, this._hidden_frame_handle, null, items[0].value); + ret = true; + } + } + else if (nexacro._OS == "iOS" && nexacro._isHybrid && nexacro._isHybrid()) { + var evttarget = this; + var _on_manager_onload = function () { + return function (status, data, url, errcode, httpcode, loaded, total) { + var errorcode; + var errormsg = "fail to get"; + try { + if (status == 4) { + } + else { + var result; + var fstr = data.trimLeft().slice(0, 5).toUpperCase(); + if (fstr.indexOf("SSV") == 0) { + result = nexacro._Deserializer["SSV"](data); + } + else if (fstr.indexOf(" 0) { + nexacro._uploadTransferXHR(fileinfo, "", uploadurl, _on_manager_onload()); + ret = true; + } + } + else { + for (i = 0; i < len; i++) { + if (items[i].value) { + ret = true; + if (nexacro._Browser == "MobileSafari" || nexacro._Browser == "Gecko") { + nexacro._request_submit(this._unique_id, uploadurl, this); + } + else { + nexacro._submit(this._unique_id, uploadurl, this._hidden_frame_handle, null, items[i].value); + } + break; + } + } + } + } + return ret; + }; + + if (nexacro._Browser == "Runtime") { + _pFileUpload._on_manager_onload = function (status, data, url, errcode, httpcode, errmsg, cookies) { + var result, fstr, errorcode = -1, errormsg = "fail to get"; + var xmldoc; + + if (status < 0) { + nexacro._onHttpSystemError(this, true, this, errcode, url, httpcode, url, null); + var commerrorobj = nexacro.MakeCommunicationError(this, errcode, url, httpcode, url, null, cookies); + this.on_fire_onerror(this, "ObjectError", commerrorobj.message, this, httpcode, null, null, -1); + } + else { + try { + if (data) { + data = data.trimLeft(); + fstr = data.slice(0, 10).toUpperCase(); + if (fstr.indexOf("SSV") == 0) { + result = nexacro._Deserializer["SSV"](data); + } + else if (fstr.indexOf(" 0) { + this._buttonFlag = false; + continue; + } + else { + this._want_arrow = false; + if (accessibilityenable) { + this._editFlag = false; + this._buttonFlag = false; + _window._removeFromCurrentFocusPath(this, false); + this._setFocus(false); + } + } + } + } + } + else { + if (!this._editFlag && editaccessibilityenable) { + idx++; + this._editFlag = true; + this._buttonFlag = false; + } + else { + if (buttonaccessibilityenable) { + this.index = -1; + this._editFlag = false; + this._buttonFlag = true; + } + else { + if (idx < items.length - 1) { + this._editFlag = false; + continue; + } + else { + this._want_arrow = false; + break; + } + } + } + } + this.set_index(idx); + this._want_arrow = true; + this._getWindow()._keydown_element._event_stop = true; + break; + } + } + } + else { + this._want_arrow = false; + } + } + } + return nexacro.Component.prototype.on_fire_user_onkeydown.call(this, keycode, alt_key, ctrl_key, shift_key, fire_comp, refer_comp); + }; + _pFileUpload._on_focus = function (self_flag, evt_name, lose_focus, refer_lose_focus, new_focus, refer_new_focus) { + nexacro.Component.prototype._on_focus.call(this, self_flag, evt_name, lose_focus, refer_lose_focus, new_focus, refer_new_focus); + + var idx, focus_dir; + + var items = this._items; + var itemLen = items.length; + if (itemLen) { + this._want_tab = true; + focus_dir = evt_name == "shifttabkey"; + if (evt_name == "shifttabkey" || evt_name == "tabkey") { + this._editFlag = false; + this._buttonFlag = true; + if (focus_dir) { + idx = this.index < 0 ? itemLen - 1 : this.index; + } + else { + idx = this.index < 0 ? 0 : this.index; + this._first_focus = true; + } + this.index = -1; + + this.set_index(idx); + } + else { + focus_dir = evt_name == "upkey"; + if (nexacro._enableaccessibility && this._isAccessibilityEnable()) { + this._editFlag = false; + this._buttonFlag = false; + this._want_arrow = true; + + var accessibility = nexacro._toBoolean(this.accessibilityenable); + var editaccessibility = nexacro._toBoolean(this.editaccessibilityenable); + var buttonaccessibility = nexacro._toBoolean(this.buttonaccessibilityenable); + + if (focus_dir) { + this.index = -1; + idx = itemLen - 1; + + if (buttonaccessibility) { + this._buttonFlag = true; + } + else if (editaccessibility) { + this._editFlag = true; + } + } + else { + idx = -1; + if (accessibility == false) { + idx = 0; + this.index = -1; + + if (editaccessibility) { + this._editFlag = true; + } + else if (buttonaccessibility) { + this._buttonFlag = true; + } + this._first_focus = (this._editFlag || this._buttonFlag) ? true : false; + } + } + + this.set_index(idx); + } + } + + if (nexacro._enableaccessibility) { + this._first_focus = false; + } + } + }; + + _pFileUpload._find_item_status = function (item) { + this._editFlag = (item.fileitemedit._status == "focused"); + this._buttonFlag = (item.fileitembutton._status == "focused"); + }; + + _pFileUpload.on_fire_ondeleteitem = function (obj, index) { + if (this.ondeleteitem && this.ondeleteitem._has_handlers) { + var evt = new nexacro.FileUploadItemEventInfo(obj, "ondeleteitem", index); + this.ondeleteitem._fireEvent(this, evt); + } + }; + + _pFileUpload.on_fire_onfindclick = function (obj, index) { + if (this.onfindclick && this.onfindclick._has_handlers) { + var evt = new nexacro.FileUploadItemEventInfo(this, "onfindclick", index); + return this.onfindclick._fireCheckEvent(this, evt); + } + + return true; + }; + + _pFileUpload.on_fire_onitemchanged = function (obj, index, oldvalue, newvalue) { + if (this.onitemchanged && this.onitemchanged._has_handlers) { + var evt = new nexacro.FileUploadItemChangeEventInfo(obj, "onitemchanged", index, oldvalue, newvalue); + this.onitemchanged._fireEvent(this, evt); + } + }; + + _pFileUpload.on_fire_onitemclick = function (obj, index) { + if (this.onitemclick && this.onitemclick._has_handlers) { + var evt = new nexacro.FileUploadItemEventInfo(this, "onitemclick", index); + this.onitemclick._fireEvent(this, evt); + } + }; + + _pFileUpload.on_fire_onappenditem = function (obj, index) { + if (this.onappenditem && this.onappenditem._has_handlers) { + var evt = new nexacro.FileUploadItemEventInfo(obj, "onappenditem", index); + this.onappenditem._fireEvent(this, evt); + } + }; + + _pFileUpload.on_fire_onsuccess = function (ds, code, msg, url, variables) { + var application = nexacro.getApplication(); + if (application) { + application._endCommProgress(); + } + + if (this.onsuccess && this.onsuccess._has_handlers) { + var evt; + if (variables && variables.length > 0) { + evt = new nexacro.FileUploadEventInfo(this, "onsuccess", ds, code, msg, url); + return this.onsuccess._fireEvent(this, evt); + } + else { + evt = new nexacro.FileUploadEventInfo(this, "onsuccess", ds, undefined, undefined, url); + return this.onsuccess._fireEvent(this, evt); + } + } + }; + + _pFileUpload._createFileItem = function (index) { + var create_only = this._is_created ? false : true; + var unique = this.itemcount < 1 ? this._last_id = 0 : ++this._last_id; + + var item = new nexacro._FileUploadItemControl("upfile" + unique, 0, 0, 0, 0, null, null, null, null, null, null, this); + item._setControl(); + item._setItemInfo(index, this.buttontext); + item.createComponent(create_only); + + item._setEventHandler("onfindclick", this._on_item_onfindclick, this); + item._setEventHandler("onitemclick", this._on_item_onitemclick, this); + + return item; + }; + + _pFileUpload._recalcLayout = function () { + var items = this._items; + var item_len = items.length; + if (!item_len) { + return; + } + + var item_left = this._getClientLeft(); + var item_top; + var item_width = this._getClientWidth(); + var item_height = this._getItemHeight(); + + for (var i = 0; i < item_len; i++) { + item_top = item_height * i; + + items[i].move(item_left, item_top, item_width, item_height, null, null); + } + }; + + _pFileUpload._updateFileList = function () { + this.filelist = []; + for (var i = 0, item_len = this._items.length, files; i < item_len; i++) { + files = this._items[i]._files; + if (files) { + for (var j = 0, files_len = files.length, vfile; j < files_len; j++) { + vfile = new nexacro.VirtualFile("uploadfile" + i + "-" + j, "", files[j]); + + vfile._setFullPath(files[j].fullpath || ""); + vfile._setPath(files[j].path || ""); + vfile._setFileName(files[j].name || ""); + + this.filelist.push(vfile); + } + } + } + }; + + _pFileUpload._setText = function (v) { + if (this.text != v) { + this.text = v; + } + }; + + _pFileUpload._setValue = function (v) { + if (this.value != v) { + this.value = v; + } + }; + + _pFileUpload._setControlFlag = function (item) { + this._editFlag = (item.fileitemedit._status == "focused"); + this._buttonFlag = (item.fileitembutton._status == "focused"); + }; + + _pFileUpload._getItem = function (index) { + if (index >= 0 && this._items.length > 0) { + return this._items[index]; + } + + return null; + }; + + _pFileUpload._getItemHeight = function () { + var item = this._items[0]; + if (!item) { + return 0; + } + + var itemheight = this.itemheight; + if (itemheight) { + return itemheight; + } + + return item._on_getFitSize()[1]; + }; + + _pFileUpload._getEventInfoComponent = function (refer_comp) { + while (!refer_comp._is_eventinfo_control) { + refer_comp = refer_comp.parent; + } + return refer_comp; + }; + + _pFileUpload._isPopupFrame = function () { + return this._onPopupWin; + }; + + delete _pFileUpload; + + nexacro._FileUploadItemControl = function (id, left, top, width, height, right, bottom, minwidth, maxwidth, minheight, maxheight, parent) { + nexacro.Component.call(this, id, left, top, width, height, right, bottom, minwidth, maxwidth, minheight, maxheight, parent); + + if (nexacro._OS == "iOS" && nexacro._isHybrid && nexacro._isHybrid()) { + this._id = nexacro.Device.makeID(); + nexacro.Device._userCreatedObj[this._id] = this; + + var params = '""'; + var jsonstr = '{"id":' + this._id + ', "div":"FileUpload", "method":"constructor", "params":' + params + '}'; + nexacro.Device.exec(jsonstr); + } + }; + + var _pFileUploadItemControl = nexacro._createPrototype(nexacro.Component, nexacro._FileUploadItemControl); + nexacro._FileUploadItemControl.prototype = _pFileUploadItemControl; + _pFileUploadItemControl._type_name = "FileUploadItemControl"; + _pFileUploadItemControl._is_subcontrol = true; + + + _pFileUploadItemControl.fileitemedit = null; + _pFileUploadItemControl.fileitembutton = null; + + + _pFileUploadItemControl.buttontext = "find"; + _pFileUploadItemControl.index = 0; + _pFileUploadItemControl.value = undefined; + + + _pFileUploadItemControl._oldvalue = ""; + _pFileUploadItemControl._newvalue = ""; + _pFileUploadItemControl.value = ""; + _pFileUploadItemControl.index = 0; + _pFileUploadItemControl.accessibilityrole = "none"; + + + _pFileUploadItemControl._event_list = + { + "onfindclick" : 1, + "onitemclick" : 1 + }; + + _pFileUploadItemControl.on_create_contents = function () { + var control_elem = this.getElement(); + if (control_elem) { + var itemedit = this.fileitemedit = new nexacro._FileUploadItemEditControl("fileuploaditemedit", 0, 0, 0, 0, null, null, null, null, null, null, this); + var itembutton = this.fileitembutton = new nexacro._FileUploadItemButtonControl("fileuploaditembutton", 0, 0, 0, 0, null, null, null, null, null, null, this); + + itemedit.set_readonly("true"); + itemedit.createComponent(true); + + itembutton.set_text(this.buttontext); + itembutton.createComponent(true); + } + }; + + _pFileUploadItemControl.on_created_contents = function () { + var parent = this.parent; + if (parent) { + nexacro._append_hidden_item(parent._unique_id, this.name, this._on_itemedit_onchange, this, parent._hidden_frame_handle, parent.multiselect); + } + + var itemedit = this.fileitemedit; + var itembutton = this.fileitembutton; + + itemedit.on_created(); + itemedit._setEventHandler("oneditclick", this._on_itemedit_oneditclick, this); + itemedit._setEventHandler("onlbuttondown", this._on_itemedit_oneditlbuttondown, this); + + itembutton.on_created(); + itembutton._setEventHandler("onclick", this._on_itembutton_onfindclick, this); + itembutton._setEventHandler("onlbuttondown", this._on_itembutton_onfindlbuttondown, this); + }; + + _pFileUploadItemControl.on_destroy_contents = function () { + if (this.fileitemedit) { + this.parent.filepathedits.delete_item(this.id); + + this.fileitemedit.destroy(); + this.fileitemedit = null; + } + if (this.fileitembutton) { + this.parent.filefindbuttons.delete_item(this.id); + + this.fileitembutton.destroy(); + this.fileitembutton = null; + } + + if (this._files) { + this._files = null; + } + + var parent = this.parent; + nexacro._remove_hidden_item(parent._unique_id, this.name, parent._hidden_frame_handle); + if (this._input_node) { + this._input_node = null; + } + + if (nexacro._OS == "iOS" && nexacro._isHybrid && nexacro._isHybrid()) { + var params = '""'; + delete nexacro.Device._userCreatedObj[this._id]; + + var jsonstr = '{"id":' + this._id + ', "div":"FileUpload", "method":"destroy", "params":' + params + '}'; + nexacro.Device.exec(jsonstr); + } + }; + + _pFileUploadItemControl.on_create_contents_command = function () { + var str = ""; + var itemedit = this.fileitemedit; + if (itemedit) { + str += itemedit.createCommand(); + } + + var itembutton = this.fileitembutton; + if (itembutton) { + str += itembutton.createCommand(); + } + + return str; + }; + + _pFileUploadItemControl.on_attach_contents_handle = function (win) { + var itemedit = this.fileitemedit; + var itembutton = this.fileitembutton; + + itemedit.attachHandle(win); + itemedit._setEventHandler("oneditclick", this._on_itemedit_oneditclick, this); + itemedit._setEventHandler("onlbuttondown", this._on_itemedit_oneditlbuttondown, this); + + itembutton.attachHandle(win); + itembutton._setEventHandler("onclick", this._on_itembutton_onfindclick, this); + itembutton._setEventHandler("onlbuttondown", this._on_itembutton_onfindlbuttondown, this); + + var parent = this.parent; + nexacro._append_hidden_item(parent._unique_id, this.name, this._on_itemedit_onchange, this, parent._hidden_frame_handle, parent._multiselect); + }; + + _pFileUploadItemControl.on_change_containerRect = function (width, height) { + if (this._is_created_contents) { + this._recalcLayout(); + } + }; + + _pFileUploadItemControl.on_getIDCSSSelector = function () { + return "fileuploaditem"; + }; + + _pFileUploadItemControl._on_getFitSize = function () { + var elem = this.getElement(); + if (elem) { + var total_w = 0; + var total_h = 0; + + var itemedit_size = [0, 0]; + var itembutton_size = [0, 0]; + + var border = this._getCurrentStyleBorder(); + if (border) { + total_w += border._getBorderWidth(); + total_h += border._getBorderHeight(); + } + + var padding = this._getCurrentStylePadding(); + if (padding) { + total_w += padding.left + padding.right; + total_h += padding.top + padding.bottom; + } + + var itemedit = this.fileitemedit; + if (itemedit) { + itemedit_size = itemedit._on_getFitSize(); + } + + var itembutton = this.fileitembutton; + if (itembutton) { + itembutton_size = itembutton._on_getFitSize(); + } + + var itemheight = this._getPropItemHeight(); + if (itemheight == null) { + itemheight = Math.max(itemedit_size[1], itembutton_size[1]); + } + + var buttonsize = this._getPropButtonSize(); + if (buttonsize == null) { + buttonsize = itembutton_size[0]; + } + + total_w += buttonsize + itemedit_size[1]; + total_h += itemheight; + + return [total_w, total_h]; + } + + return [this._adjust_width, this._adjust_height]; + }; + + _pFileUploadItemControl._on_itemedit_oneditclick = function (obj, e) { + if (this.onitemclick && this.onitemclick._has_handlers) { + this.onitemclick._fireEvent(this, e); + } + return false; + }; + + _pFileUploadItemControl._on_itemedit_oneditlbuttondown = function (obj, e) { + this._accessibility_find_focus_flag(true, false); + this.parent.set_index(this.index); + }; + + _pFileUploadItemControl._on_itemedit_onchange = function (value, files, value_arr) { + if (nexacro._OS == "iOS" && nexacro._isHybrid && nexacro._isHybrid()) { + var objData = value; + value = objData.virtualfiles[0].name; + files = objData.virtualfiles; + value_arr = [objData.virtualfiles[0].name]; + } + + if (this.value != value) { + this.value = value; + this._oldvalue = this._newvalue; + this._newvalue = value_arr; + + var fileitemedit = this.fileitemedit; + if (fileitemedit) { + fileitemedit.set_value(value); + } + + var fileupload = this.parent; + if (fileupload) { + fileupload.set_index(this.index); + fileupload._setText(value); + fileupload._setValue(value); + } + + if (files) { + this._files = files; + if (fileupload) { + fileupload._updateFileList(); + } + } + + fileupload.on_fire_onitemchanged(this, this.index, this._oldvalue, this._newvalue); + } + }; + + _pFileUploadItemControl._on_itembutton_onfindclick = function (obj, e) { + if (this.onfindclick && this.onfindclick._has_handlers) { + return this.onfindclick._fireCheckEvent(this, e); + } + return false; + }; + + _pFileUploadItemControl._on_itembutton_onfindlbuttondown = function (obj, e) { + this._accessibility_find_focus_flag(false, true); + this.parent.set_index(this.index); + }; + + _pFileUploadItemControl._recalcLayout = function () { + var control_elem = this.getElement(); + if (control_elem) { + var itemedit = this.fileitemedit; + var itembutton = this.fileitembutton; + + var client_w = this._getClientWidth(); + + var itembutton_size = [0, 0]; + if (itembutton) { + itembutton_size = itembutton._on_getFitSize(); + } + + var itemheight = this._getPropItemHeight(); + if (itemheight == null) { + var itemedit_size = [0, 0]; + + if (itemedit) { + itemedit_size = itemedit._on_getFitSize(); + } + + itemheight = Math.max(itemedit_size[1], itembutton_size[1]); + } + + var buttonsize = this._getPropButtonSize(); + if (buttonsize == null) { + buttonsize = itembutton_size[0]; + } + + if (client_w < buttonsize) { + buttonsize = client_w; + } + + var edit_l = this._getClientLeft(); + var edit_t = this._getClientTop(); + var edit_w = client_w - buttonsize; + var edit_h = itemheight; + + var button_l = edit_l + edit_w; + var button_t = edit_t; + var button_w = buttonsize; + var button_h = itemheight; + + if (itemedit) { + itemedit.move(edit_l, edit_t, edit_w, edit_h, null, null); + } + + if (itembutton) { + itembutton.move(button_l, button_t, button_w, button_h, null, null); + } + } + }; + + _pFileUploadItemControl._setItemInfo = function (index, buttontext) { + this.index = index; + this.buttontext = buttontext; + }; + + _pFileUploadItemControl._getPropButtonSize = function () { + var fileupload = this.parent; + if (fileupload) { + return fileupload.buttonsize; + } + + return; + }; + + _pFileUploadItemControl._getPropItemHeight = function () { + var fileupload = this.parent; + if (fileupload) { + return fileupload.itemheight; + } + + return; + }; + + _pFileUploadItemControl._accessibility_find_focus_flag = function (editflag, buttonflag) { + if (nexacro._enableaccessibility) { + this.parent._editFlag = editflag; + this.parent._buttonFlag = buttonflag; + } + }; + + _pFileUploadItemControl._isPopupFrame = function () { + return this.parent._onPopupWin; + }; + + _pFileUploadItemControl._changeFiles = function (files) { + this._files = []; + if (files) { + var file_list = []; + this._files.length = files.length; + var v_file; + for (var loopI = 0; loopI < this._files.length; loopI++) { + v_file = new nexacro.VirtualFile("uploadfile" + loopI); + var filename = files[loopI]; + var nIdx = filename.lastIndexOf("\\"); + if (nIdx > 0) { + v_file.fullpath = filename; + v_file.path = filename.substring(0, nIdx + 1); + v_file.filename = filename.substring(nIdx + 1); + } + else { + v_file.filename = filename; + } + file_list[loopI] = v_file; + } + this._files = file_list; + } + else { + this._files = []; + } + }; + + delete _pFileUploadItemControl; + + nexacro._FileUploadItemEditControl = function (id, left, top, width, height, right, bottom, minwidth, maxwidth, minheight, maxheight, parent) { + nexacro.Edit.call(this, id, left, top, width, height, right, bottom, minwidth, maxwidth, minheight, maxheight, parent); + }; + + var _pFileUploadItemEditControl = nexacro._createPrototype(nexacro.Edit, nexacro._FileUploadItemEditControl); + nexacro._FileUploadItemEditControl.prototype = _pFileUploadItemEditControl; + _pFileUploadItemEditControl._type_name = "EditControl"; + + + _pFileUploadItemEditControl._is_subcontrol = true; + _pFileUploadItemEditControl._is_eventinfo_control = false; + + _pFileUploadItemEditControl._getAccessibilityLabel = function (accessibility) { + var label = ""; + if (this.parent.parent._first_focus) { + var comp = this.parent.parent; + label = comp._control_element._makeAccessibilityLabelbyReadtype(); + } + label += " " + nexacro.Component.prototype._getAccessibilityLabel.call(this, accessibility); + return label; + }; + + _pFileUploadItemEditControl.on_focus_basic_action = function (self_flag, evt_name) { + if (this._isAccessibilityEnable()) { + this.on_apply_accessibility(); + } + + return nexacro.Component.prototype.on_focus_basic_action.call(this, self_flag, evt_name); + }; + + delete _pFileUploadItemEditControl; + + nexacro._FileUploadItemButtonControl = function (id, left, top, width, height, right, bottom, minwidth, maxwidth, minheight, maxheight, parent) { + nexacro.Button.call(this, id, left, top, width, height, right, bottom, minwidth, maxwidth, minheight, maxheight, parent); + }; + + var _pFileUploadItemButtonControl = nexacro._createPrototype(nexacro.Button, nexacro._FileUploadItemButtonControl); + nexacro._FileUploadItemButtonControl.prototype = _pFileUploadItemButtonControl; + _pFileUploadItemButtonControl._type_name = "ButtonControl"; + + + _pFileUploadItemButtonControl._is_subcontrol = true; + _pFileUploadItemButtonControl._is_eventinfo_control = false; + + _pFileUploadItemButtonControl._getAccessibilityLabel = function (accessibility) { + var label = ""; + if (this.parent.parent._first_focus) { + var comp = this.parent.parent; + label = comp._control_element._makeAccessibilityLabelbyReadtype(); + } + label += " " + nexacro.Component.prototype._getAccessibilityLabel.call(this, accessibility); + return label; + }; + + _pFileUploadItemButtonControl.on_fire_sys_onkeyup = function (key_code, alt_key, ctrl_key, shift_key, from_comp, from_refer_comp) { + var ret = nexacro.Component.prototype.on_fire_sys_onkeyup.call(this, key_code, alt_key, ctrl_key, shift_key, from_comp, from_refer_comp); + var window = this._getWindow(); + var elem = window._cur_ldown_elem || window._keydown_element; + + if (elem == this._cur_ldown_elem) { + if (key_code == 13 || key_code == 32) { + this._click(key_code); + } + } + + this._cur_ldown_elem = null; + + return ret; + }; + + delete _pFileUploadItemButtonControl; +} diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/nexacro17lib/component/ComComp/GoogleMap.js b/nexacro-spring/src/main/webapp/deploy/_web_/nexacro17lib/component/ComComp/GoogleMap.js new file mode 100644 index 0000000..f8cd3e1 --- /dev/null +++ b/nexacro-spring/src/main/webapp/deploy/_web_/nexacro17lib/component/ComComp/GoogleMap.js @@ -0,0 +1,3448 @@ +//============================================================================== +// +// TOBESOFT Co., Ltd. +// Copyright 2017 TOBESOFT Co., Ltd. +// All Rights Reserved. +// +// NOTICE: TOBESOFT permits you to use, modify, and distribute this file +// in accordance with the terms of the license agreement accompanying it. +// +// Readme URL: http://www.nexacro.co.kr/legal/nexacro17-public-license-readme-1.1.html +// +//============================================================================== + +if (nexacro.Device && nexacro._OS == "Android") { + if (!nexacro.GoogleMap) { + nexacro.GoogleMapEventInfo = function (obj, id, centerlocation, coordinates, viewmode, zoomlevel, addresses) { + this.id = this.eventid = id; + this.fromobject = this.fromreferenceobject = obj; + this.centerlocation = centerlocation; + this.coordinates = coordinates; + this.viewmode = viewmode; + this.zoomlevel = zoomlevel; + this.addresses = addresses; + }; + + var _pGoogleMapEventInfo = nexacro._createPrototype(nexacro.Event, nexacro.GoogleMapEventInfo); + nexacro.GoogleMapEventInfo.prototype = _pGoogleMapEventInfo; + _pGoogleMapEventInfo._type_name = "GoogleMapEventInfo"; + + delete _pGoogleMapEventInfo; + + nexacro.GoogleMapErrorEventInfo = function (obj, id, errorcode, errormsg) { + this.id = this.eventid = id; + this.fromobject = this.fromreferenceobject = obj; + this.errortype = "ObjectError"; + this.statuscode = errorcode; + this.errormsg = errormsg; + }; + + var _pGoogleMapErrorEventInfo = nexacro._createPrototype(nexacro.Event, nexacro.GoogleMapErrorEventInfo); + nexacro.GoogleMapErrorEventInfo.prototype = _pGoogleMapErrorEventInfo; + _pGoogleMapErrorEventInfo._type_name = "GoogleMapErrorEventInfo"; + + delete _pGoogleMapErrorEventInfo; + + nexacro.GoogleMapClickEventInfo = function (obj, id, location) { + this.id = this.eventid = id; + this.fromobject = this.fromreferenceobject = obj; + this.location = location; + }; + + var _pGoogleMapClickEventInfo = nexacro._createPrototype(nexacro.Event, nexacro.GoogleMapClickEventInfo); + nexacro.GoogleMapClickEventInfo.prototype = _pGoogleMapClickEventInfo; + _pGoogleMapClickEventInfo._type_name = "GoogleMapClickEventInfo"; + + delete _pGoogleMapClickEventInfo; + + nexacro.GoogleMapDragEventInfo = function (obj, id, location) { + this.id = this.eventid = id; + this.fromobject = this.fromreferenceobject = obj; + this.location = location; + }; + + var _pGoogleMapDragEventInfo = nexacro._createPrototype(nexacro.Event, nexacro.GoogleMapDragEventInfo); + nexacro.GoogleMapDragEventInfo.prototype = _pGoogleMapDragEventInfo; + _pGoogleMapDragEventInfo._type_name = "GoogleMapDragEventInfo"; + + delete _pGoogleMapDragEventInfo; + + nexacro.GoogleMap = function (id, left, top, width, height, right, bottom, parent) { + nexacro.Component.call(this, id, left, top, width, height, right, bottom, parent); + + this._ifrm_elem = null; + this.window = null; + this.document = null; + this.centerlocation = { + latitude : 0, + longitude : 0 + }; + this.location = { + latitude : 0, + longitude : 0 + }; + this.showmode = 0; + this.zoomlevel = 15; + this.showzoom = false; + this.showmode = false; + this.shownavigator = false; + this.viewmode = 0; + this.language = undefined; + this.region = undefined; + + this.items = []; + this.itemsname = []; + this._itemsname = []; + this._items = []; + this._infowindowname = []; + this._infowindow = []; + this.bSensor = false; + this.bLoaded = false; + + this._event_list = { + "onclick" : 1, + "ondblclick" : 1, + "onkeypress" : 1, + "onkeydown" : 1, + "onkeyup" : 1, + "onkillfocus" : 1, + "onsetfocus" : 1, + "ondrag" : 1, + "ondragenter" : 1, + "ondragleave" : 1, + "ondragmove" : 1, + "ondrop" : 1, + "onlbuttondown" : 1, + "onlbuttonup" : 1, + "onmouseenter" : 1, + "onmouseleave" : 1, + "onmousemove" : 1, + "onmove" : 1, + "onsize" : 1, + "onrbuttondown" : 1, + "onrbuttonup" : 1, + "onload" : 1, + "onerror" : 1, + "onrecvsuccess" : 1, + "oncenterchanged" : 1, + "onmapdragstart" : 1, + "onmapdrag" : 1, + "onmapdragend" : 1 + }; + + this._location = { + latitude : 0, + longitude : 0 + }; + this._pixel = { + x : 0, + y : 0 + }; + }; + + + var _pGoogleMap = nexacro._createPrototype(nexacro.Component, nexacro.GoogleMap); + nexacro.GoogleMap.prototype = _pGoogleMap; + + _pGoogleMap._type = "GoogleMap"; + _pGoogleMap._type_name = "GoogleMap"; + + _pGoogleMap.on_create_contents = function () { + var control_elem = this.getElement(); + if (control_elem) { + this._ifrm_elem = new nexacro._GoogleMapPluginElement(control_elem); + this._ifrm_elem.setElementSize(this._getClientWidth(), this._getClientHeight()); + } + }; + + _pGoogleMap.on_create_contents_command = function () { + var control_elem = this.getElement(); + if (control_elem) { + this._ifrm_elem = new nexacro._GoogleMapPluginElement(control_elem); + this._ifrm_elem.setElementSize(this._getClientWidth(), this._getClientHeight()); + return this._ifrm_elem.createCommand(); + } + return ""; + }; + + _pGoogleMap.on_attach_contents_handle = function (win) { + if (this._ifrm_elem) { + this._ifrm_elem.attachHandle(win); + } + }; + + _pGoogleMap.on_created_contents = function (win) { + var ifrm_elem = this._ifrm_elem; + if (ifrm_elem) { + ifrm_elem.create(win); + + ifrm_elem.initEvent(); + this.document = ifrm_elem._document; + this.window = ifrm_elem._winodw; + } + }; + + _pGoogleMap.on_destroy_contents = function () { + var ifrm_elem = this._ifrm_elem; + + if (ifrm_elem) { + this.window = null; + this.document = null; + ifrm_elem.destroy(); + this._ifrm_elem = null; + } + + this.items = null; + this.itemsname = null; + this._itemsname = null; + this._items = null; + this._infowindowname = null; + this._infowindow = null; + }; + + _pGoogleMap.on_update_position = function (resize_flag, move_flag, update) { + nexacro.Component.prototype.on_update_position.call(this, resize_flag, move_flag, update); + var ifrm_elem = this._ifrm_elem; + if (ifrm_elem) { + ifrm_elem.on_update_position(); + } + }; + + _pGoogleMap.on_change_containerRect = function (width, height) { + var ifrm_elem = this._ifrm_elem; + if (ifrm_elem) { + ifrm_elem.setElementSize(width, height); + } + }; + + _pGoogleMap.on_fire_onload = function (obj, id, centerlocation, coordinates, viewmode, zoomlevel, addresses) { + if (this.onload && this.onload._has_handlers) { + var evt = new nexacro.GoogleMapEventInfo(obj, id, centerlocation, coordinates, viewmode, zoomlevel, addresses); + return this.onload._fireEvent(this, evt); + } + return true; + }; + + _pGoogleMap.on_fire_onerror = function (obj, id, errorcode, errormsg) { + if (this.onerror && this.onerror._has_handlers) { + var evt = new nexacro.GoogleMapErrorEventInfo(obj, id, errorcode, errormsg); + return this.onerror._fireEvent(this, evt); + } + return true; + }; + + _pGoogleMap.on_fire_onrecvsuccess = function (obj, id, centerlocation, coordinates, viewmode, zoomlevel, addresses) { + if (this.onrecvsuccess && this.onrecvsuccess._has_handlers) { + var evt = new nexacro.GoogleMapEventInfo(obj, id, centerlocation, coordinates, viewmode, zoomlevel, addresses); + return this.onrecvsuccess._fireEvent(this, evt); + } + return true; + }; + + _pGoogleMap.on_fire_oncenterchanged = function (obj, id, centerlocation, coordinates, viewmode, zoomlevel, addresses) { + this.centerlocation = centerlocation; + this.zoomlevel = zoomlevel; + + if (this.oncenterchanged && this.oncenterchanged._has_handlers) { + var evt = new nexacro.GoogleMapEventInfo(obj, id, centerlocation, coordinates, viewmode, zoomlevel, addresses); + return this.oncenterchanged._fireEvent(this, evt); + } + return true; + }; + + _pGoogleMap.on_fire_onclick = function (obj, id, location) { + if (this.onclick && this.onclick._has_handlers) { + var evt = new nexacro.GoogleMapClickEventInfo(obj, id, location); + return this.onclick._fireEvent(this, evt); + } + return true; + }; + + _pGoogleMap.on_fire_ondrag = function (obj, id, location) { + if (this.ondrag && this.ondrag._has_handlers) { + var evt = new nexacro.GoogleMapDragEventInfo(obj, id, location); + return this.ondrag._fireEvent(this, evt); + } + return true; + }; + + _pGoogleMap.on_fire_onmapdragstart = function (obj, id, location) { + if (this.onmapdragstart && this.onmapdragstart._has_handlers) { + var evt = new nexacro.GoogleMapDragEventInfo(obj, id, location); + return this.onmapdragstart._fireEvent(this, evt); + } + return true; + }; + + _pGoogleMap.on_fire_onmapdrag = function (obj, id, location) { + if (this.onmapdrag && this.onmapdrag._has_handlers) { + var evt = new nexacro.GoogleMapDragEventInfo(obj, id, location); + return this.onmapdrag._fireEvent(this, evt); + } + return true; + }; + + _pGoogleMap.on_fire_onmapdragend = function (obj, id, location) { + if (this.onmapdragend && this.onmapdragend._has_handlers) { + var evt = new nexacro.GoogleMapDragEventInfo(obj, id, location); + return this.onmapdragend._fireEvent(this, evt); + } + return true; + }; + + _pGoogleMap._apply_setfocus = function () { + var ifrm_elem = this._ifrm_elem; + if (ifrm_elem) { + ifrm_elem.setElementFocus(true); + } + }; + + _pGoogleMap.set_text = function (v) { + v = nexacro._toString(v); + if (v && v != this.text) { + this.text = v; + this._displaytext = v.replace(/ /g, "\u00a0"); + } + }; + + _pGoogleMap.set_viewmode = function (v) { + if (v != null) { + this.viewmode = v; + + var ifrm_elem = this._ifrm_elem; + if (ifrm_elem) { + var params = '{"value":"' + this.viewmode + '"}'; + ifrm_elem.setElementParam("viewmode", params); + } + } + else { + return false; + } + }; + + _pGoogleMap.set_zoomlevel = function () { + }; + + _pGoogleMap.set_showzoom = function (v) { + if (v != null) { + if (v == true || (typeof (v) == "string" && v == "true")) { + this.showzoom = true; + } + else if (v == false || (typeof (v) == "string" && v == "false")) { + this.showzoom = false; + } + else { + return false; + } + + var ifrm_elem = this._ifrm_elem; + if (ifrm_elem) { + var params = '{"value":"' + this.showzoom + '"}'; + ifrm_elem.setElementParam("showzoom", params); + } + + return true; + } + }; + + _pGoogleMap.set_shownavigator = function (v) { + if (v != null) { + if (v == true || (typeof (v) == "string" && v == "true")) { + this.shownavigator = true; + } + else if (v == false || (typeof (v) == "string" && v == "false")) { + this.shownavigator = false; + } + else { + return false; + } + + var ifrm_elem = this._ifrm_elem; + if (ifrm_elem) { + var params = '{"value":"' + this.shownavigator + '"}'; + ifrm_elem.setElementParam("shownavigator", params); + } + return true; + } + }; + + _pGoogleMap.set_showmapscale = function () { + }; + _pGoogleMap.set_showmode = function () { + }; + + _pGoogleMap.set_showcompass = function (v) { + if (v != null) { + if (v == true || (typeof (v) == "string" && v == "true")) { + this.showcompass = true; + } + else if (v == false || (typeof (v) == "string" && v == "false")) { + this.showcompass = false; + } + else { + return false; + } + + if (this.bLoaded) { + var ifrm_elem = this._ifrm_elem; + if (ifrm_elem) { + var params = '{"value":"' + this.showcompass + '"}'; + ifrm_elem.setElementParam("showcompass", params); + } + } + return true; + } + }; + + _pGoogleMap.set_apikey = nexacro._emptyFn; + + _pGoogleMap.set_language = nexacro._emptyFn; + _pGoogleMap.set_region = nexacro._emptyFn; + + _pGoogleMap.set_enable = function (v) { + v = nexacro._toBoolean(v); + if (this.enable != v) { + this.enable = v; + + if (this._is_created) { + var enable_flag = (this.parent._real_enable && v); + if (this._ifrm_elem) { + this._ifrm_elem.setElementEnable(enable_flag); + } + } + } + }; + + _pGoogleMap.set_visible = function (v) { + if (v === undefined || v === null) { + return; + } + v = nexacro._toBoolean(v); + + nexacro.Component.prototype.set_visible.call(this, v); + + var ifrm_elem = this._ifrm_elem; + if (ifrm_elem) { + if (ifrm_elem.setElementVisible != null) { + ifrm_elem.setElementVisible(v); + } + } + }; + + _pGoogleMap.load = function (bUseSensor, nLatitude, nLongitude, constViewMode, nZoomLevel) { + var strlength = 0; + if (nZoomLevel != null) { + try { + strlength = nZoomLevel.toString().split(" ").join(""); + } + catch (e) { + return false; + } + + if (nZoomLevel.length == 0) { + return false; + } + + var nzoom = 0; + try { + nzoom = Number(nZoomLevel.toString()); + } + catch (e) { + return false; + } + + if (nzoom >= 0) { + this.zoomlevel = nzoom; + } + else { + return false; + } + } + + if ((nLatitude != null) && (nLongitude != null)) { + strlength = 0; + try { + strlength = nLatitude.toString().split(" ").join(""); + } + catch (e) { + return false; + } + + if (strlength.length == 0) { + return false; + } + + try { + strlength = nLongitude.toString().split(" ").join(""); + } + catch (e) { + return false; + } + + if (strlength.length == 0) { + return false; + } + + var nlat = 0; + var nlon = 0; + try { + nlat = Number(nLatitude.toString()); + } + catch (e) { + return false; + } + + if (nlat != nlat) { + return false; + } + try { + nlon = Number(nLongitude.toString()); + } + catch (e) { + return false; + } + + if (nlon != nlon) { + return false; + } + this.centerlocation.latitude = nlat; + this.centerlocation.longitude = nlon; + + _pGoogleMap.centerlocation = { + latitude : nlat, + longitude : nlon + }; + } + + if (constViewMode != null) { + if (constViewMode == 0 || (typeof (constViewMode) == "string" && constViewMode == "0")) { + this.viewmode = 0; + } + else if (constViewMode == 1 || (typeof (constViewMode) == "string" && constViewMode == "1")) { + this.viewmode = 1; + } + else if (constViewMode == 2 || (typeof (constViewMode) == "string" && constViewMode == "2")) { + this.viewmode = 2; + } + else if (constViewMode == 3 || (typeof (constViewMode) == "string" && constViewMode == "3")) { + this.viewmode = 3; + } + else { + return false; + } + } + else { + this.viewmode = 0; + } + + if (bUseSensor != null) { + if (bUseSensor == true || (typeof (bUseSensor) == "string" && bUseSensor == "true")) { + this.bSensor = true; + } + else if (bUseSensor == false || (typeof (bUseSensor) == "string" && bUseSensor == "false")) { + this.bSensor = false; + } + else { + return false; + } + } + else if (bUseSensor == null) { + this.bSensor = false; + } + + var params = '{"bUseSensor":"' + this.bSensor + '","nLatitude":"' + this.centerlocation.latitude + '","nLongitude":"' + this.centerlocation.longitude + '","constViewMode":"' + this.viewmode + '","nZoomLevel":"' + this.zoomlevel + '"}'; + + var ifrm_elem = this._ifrm_elem; + if (ifrm_elem) { + ifrm_elem._setLoad(params); + } + this.bLoaded = true; + return true; + }; + + _pGoogleMap.setMarkerLoc = function (strItemID, lat, lng) { + this.items[strItemID].location.latitude = lat; + this.items[strItemID].location.longitude = lng; + }; + + _pGoogleMap.getAddress = function (nLatitude, nLongitude, nMaxResultCount, enumLocale) { + if (nLatitude == null || nLongitude == null || nMaxResultCount < 0) { + return false; + } + + if (nMaxResultCount == null) { + nMaxResultCount = 1; + } + + var params = '{"nLatitude":"' + nLatitude + '","nLongitude":"' + nLongitude + '","nMaxResultCount":"' + nMaxResultCount + '","strLocale":"' + enumLocale + '"}'; + + var ifrm_elem = this._ifrm_elem; + if (ifrm_elem) { + ifrm_elem._getAddress(params); + } + return true; + }; + + _pGoogleMap.getCoordinates = function (strAddress) { + if (strAddress == null || strAddress == "") { + return false; + } + + var ifrm_elem = this._ifrm_elem; + if (ifrm_elem) { + ifrm_elem._getCoordinates(strAddress); + } + return true; + }; + + var _itemsname = []; + var _items = []; + var _infowindowname = []; + var _infowindow = []; + + _pGoogleMap.addItem = function (strItemID, objComponent) { + var ifrm_elem = this._ifrm_elem; + + if (strItemID == null || objComponent == null) { + return false; + } + + if (strItemID == "" || objComponent == "" || objComponent == "undefined" || strItemID.trim() == "") { + return false; + } + + if (typeof (this.items[strItemID]) != "undefined") { + this.on_fire_onerror(this, "onerror", "1501", "item is already exist."); + return false; + } + + if (objComponent instanceof nexacro.GoogleMapMarker || objComponent instanceof nexacro.GoogleMapPolyline || objComponent instanceof nexacro.GoogleMapPolygon || objComponent instanceof nexacro.GoogleMapCircle) { + this.items[strItemID] = objComponent; + this.items.push(strItemID); + + if (this.bLoaded) { + if (objComponent._type == 0 || objComponent._type == 1) { + _pGoogleMap.addMarker(ifrm_elem, strItemID, objComponent); + } + else if (objComponent._type == 2) { + _pGoogleMap.addPolyline(ifrm_elem, strItemID, objComponent); + } + else if (objComponent._type == 3) { + _pGoogleMap.addPolygon(ifrm_elem, strItemID, objComponent); + } + else if (objComponent._type == 4) { + _pGoogleMap.addCircle(ifrm_elem, strItemID, objComponent); + } + } + return true; + } + else { + return false; + } + }; + + _pGoogleMap.addMarker = function (elem, markName, markObj) { + if (markObj.imageurl.length > 0) { + var _v = markObj.imageurl.toString().split(" ").join(""); + + if (_v.substring(0, 9).toLowerCase() != "%userapp%" && _v.substring(0, 9).toLowerCase() != "%sd_card%") { + var _filecache = nexacro._getFileCache(_v); + if (null == _filecache) { + return false; + } + } + } + + _itemsname.push(markName); + _items[markName] = "marker"; + markObj._map = this; + markObj._name = markName; + + var params = '{"itemName":"' + markName + '","nLatitude":"' + markObj.latitude + '","nLongitude":"' + markObj.longitude + '","text":"' + markObj.text + '","visible":"' + markObj.visible + '","imageurl":"' + markObj.imageurl + '","draggable":"' + markObj.draggable + '"}'; + + if (elem) { + elem._setMarker(params); + } + }; + + _pGoogleMap.addPolygon = function (elem, polygonName, polygonObj) { + var _lat_lng_arr, _lat, _lng, i; + var arr_lat = []; + var arr_lng = []; + + _lat_lng_arr = polygonObj.locationdata.toString().split("]"); + for (i = 0; i < (_lat_lng_arr.length - 1); i++) { + _lat = _lat_lng_arr[i].toString().split(",")[0].split(" ").join().substring(1); + _lng = _lat_lng_arr[i].toString().split(",")[1].split(" ").join().substring(1); + + if (_lat.length > 0 && _lng.length > 0) { + arr_lat.push(_lat); + arr_lng.push(_lng); + } + } + + _itemsname.push(polygonName); + _items[polygonName] = "polygon"; + + polygonObj._map = this; + polygonObj._name = polygonName; + + + var params = '{"itemName":"' + polygonName + '","nLatitude":' + JSON.stringify(arr_lat) + ',"nLongitude":' + JSON.stringify(arr_lng) + ',"visible":"' + polygonObj.visible + '","linecolor":"' + polygonObj.linecolor + '","linewidth":"' + polygonObj.linewidth + '","fillbrushcolor":"' + polygonObj.fillbrushcolor + '"}'; + + if (elem) { + elem._setPolygon(params); + } + }; + + _pGoogleMap.addPolyline = function (elem, polylineName, polylineObj) { + var _lat_lng_arr, _lat, _lng, i; + var arr_lat = []; + var arr_lng = []; + + _lat_lng_arr = polylineObj.locationdata.toString().split("]"); + for (i = 0; i < (_lat_lng_arr.length - 1); i++) { + _lat = _lat_lng_arr[i].toString().split(",")[0].split(" ").join().substring(1); + _lng = _lat_lng_arr[i].toString().split(",")[1].split(" ").join().substring(1); + + if (_lat.length > 0 && _lng.length > 0) { + arr_lat.push(_lat); + arr_lng.push(_lng); + } + } + + _itemsname.push(polylineName); + _items[polylineName] = "polyline"; + + polylineObj._map = this; + polylineObj._name = polylineName; + + var params = '{"itemName":"' + polylineName + '","nLatitude":' + JSON.stringify(arr_lat) + ',"nLongitude":' + JSON.stringify(arr_lng) + ',"visible":"' + polylineObj.visible + '","linecolor":"' + polylineObj.linecolor + '","linewidth":"' + polylineObj.linewidth + '"}'; + + if (elem) { + elem._setPolyline(params); + } + }; + + _pGoogleMap.addCircle = function (elem, circleName, circleObj) { + _itemsname.push(circleName); + _items[circleName] = "circle"; + + circleObj._map = this; + circleObj._name = circleName; + + var params = '{"itemName":"' + circleName + '","nLatitude":' + circleObj.latitude + ',"nLongitude":' + circleObj.longitude + ',"radius":' + circleObj.radius + ',"visible":"' + circleObj.visible + '"}'; + + if (elem) { + elem._setCircle(params); + } + }; + + _pGoogleMap.removeItem = function (strItemID) { + var ifrm_elem = this._ifrm_elem; + + if (strItemID == null) { + return false; + } + + if (strItemID == "") { + return false; + } + + if (typeof (this.items[strItemID]) == "undefined") { + this.on_fire_onerror(this, "onerror", "1502", "item is not exist."); + return false; + } + else { + delete this.items[strItemID]; + + for (var i = 0; i < this.items.length; i++) { + if (this.items[i] == strItemID) { + var position = this.items.indexOf(this.items[i]); + this.items.splice(position, i + 1); + } + } + + if (this.bLoaded) { + _pGoogleMap._removeItem(ifrm_elem, strItemID); + } + + return true; + } + }; + + _pGoogleMap._removeItem = function (elem, itemname) { + var params = '{"item":"' + _items[itemname] + '","itemname":"' + itemname + '"}'; + + if (elem) { + elem._setRemove(params); + } + + delete _items[itemname]; + for (var i = 0; i < _itemsname.length; i++) { + if (_itemsname[i] == itemname) { + _itemsname.splice(i + 1, i + 1); + } + } + return true; + }; + + _pGoogleMap.on_load_handler = function (id, centerlocation, coordinates, viewmode, zoomlevel, addresses) { + this.on_fire_onload(this, id, centerlocation, coordinates, viewmode, zoomlevel, addresses); + }; + + _pGoogleMap.on_error_handler = function (id, code, msg) { + this.on_fire_onerror(this, id, code, msg); + }; + + _pGoogleMap.on_recvsuccess_handler = function (id, centerlocation, coordinates, viewmode, zoomlevel, addresses) { + this.on_fire_onrecvsuccess(this, id, centerlocation, coordinates, viewmode, zoomlevel, addresses); + }; + + _pGoogleMap.on_centerchanged_handler = function (id, centerlocation, viewmode, zoomlevel, addresses) { + this.on_fire_oncenterchanged(this, id, centerlocation, viewmode, zoomlevel, addresses); + }; + + _pGoogleMap.on_click_handler = function (id, location) { + this.on_fire_onclick(this, id, location); + }; + + _pGoogleMap.on_drag_handler = function (id, location) { + this.on_fire_ondrag(this, id, location); + }; + + _pGoogleMap.on_mapdragstart_handler = function (id, location) { + this.on_fire_onmapdragstart(this, id, location); + }; + + _pGoogleMap.on_mapdrag_handler = function (id, location) { + this.on_fire_onmapdrag(this, id, location); + }; + + _pGoogleMap.on_mapdragend_handler = function (id, location) { + this.on_fire_onmapdragend(this, id, location); + }; + + _pGoogleMap.callMethod = function (func) { + if (this._ifrm_elem) { + this._ifrm_elem.callScriptMethod(func); + } + }; + + delete _pGoogleMap; + } + + if (!nexacro.GoogleMapMarker) { + nexacro.GoogleMapMarker = function (name) { + this._id = nexacro.Device.makeID(); + nexacro.Device._userCreatedObj[this._id] = this; + + this.name = name || ""; + this._type = 0; + this.longitude = 0; + this.latitude = 0; + this.text = ""; + this.imageurl = ""; + this.visible = true; + this.draggable = false; + + this.style = { + _GoogleMapMarkerID : 0, + set_parentID : function (_id) { + this._GoogleMapMarkerID = _id; + }, + align : { + _GoogleMapMarkerID : 0, + set_parentID : function (_id) { + this._GoogleMapMarkerID = _id; + }, + halign : "center", + valign : "middle", + set_halign : function (v) { + var _v = v.toString().split(" ").join("").toLowerCase(); + if (_v == "left" || _v == "center" || _v == "right") { + this.halign = _v; + + return true; + } + else { + return false; + } + }, + set_valign : function (v) { + var _v = v.toString().split(" ").join("").toLowerCase(); + if (_v == "top" || _v == "middle" || _v == "bottom") { + this.valign = _v; + + return true; + } + else { + return false; + } + }, + $s : function (name, fnname, val) { + this[name] = val; + } + }, + + set_align : function (v) { + var v_arr = v.split(" "); + var ret = true; + if (v_arr.length != 2) { + return false; + } + ret = this.align.set_halign(v_arr[0]); + if (!ret) { + return ret; + } + ret = this.align.set_valign(v_arr[1]); + + return ret; + }, + $s : function (name, fnname, val) { + this[name] = val; + } + }; + + this._name = null; + }; + + var _pGoogleMapMarker = nexacro.GoogleMapMarker.prototype = nexacro._createPrototype(nexacro._EventSinkObject, nexacro.GoogleMapMarker); + _pGoogleMapMarker._type_name = "GoogleMapMarker"; + + _pGoogleMapMarker.set_longitude = function (v) { + try { + this.longitude = Number(v.toString()); + } + catch (e) { + return false; + } + return true; + }; + + _pGoogleMapMarker.set_latitude = function (v) { + try { + this.latitude = Number(v.toString()); + } + catch (e) { + return false; + } + return true; + }; + + _pGoogleMapMarker.set_text = function (v) { + this.text = v; + return true; + }; + + _pGoogleMapMarker.set_imageurl = function (v) { + this._type = 1; + this.imageurl = v; + return true; + }; + + _pGoogleMapMarker.set_draggable = function (v) { + if (v == null) { + return false; + } + else if (v) { + if (v == true || (typeof (v) == "string" && v == "true")) { + this.draggable = true; + } + else if (v == false || (typeof (v) == "string" && v == "false")) { + this.draggable = false; + } + } + else { + return false; + } + }; + + _pGoogleMapMarker.set_visible = function (v) { + if (v == true || (typeof (v) == "string" && v == "true")) { + this.visible = true; + } + else if (v == false || (typeof (v) == "string" && v == "false")) { + this.visible = false; + } + else { + return false; + } + return true; + }; + + + delete _pGoogleMapMarker; + } + + if (!nexacro.GoogleMapPolyline) { + nexacro.GoogleMapPolyline = function (name) { + this._id = nexacro.Device.makeID(); + nexacro.Device._userCreatedObj[this._id] = this; + this.name = name || ""; + + this._type = 2; + this.locationdata = ""; + this.visible = true; + this.linewidth = ""; + this.linecolor = ""; + + this._name = null; + }; + + var _pGoogleMapPolyline = nexacro.GoogleMapPolyline.prototype = nexacro._createPrototype(nexacro._EventSinkObject, nexacro.GoogleMapPolyline); + _pGoogleMapPolyline._type_name = "GoogleMapPolyline"; + + _pGoogleMapPolyline.set_locationdata = function (v) { + var _lat_lng_arr; + + _lat_lng_arr = v.toString().split("]"); + if (_lat_lng_arr.length < 2) { + return false; + } + + this.locationdata = v; + return true; + }; + + _pGoogleMapPolyline.set_linewidth = function (v) { + var nWidth = 0; + try { + nWidth = Number(v.toString()); + } + catch (e) { + return false; + } + + if (nWidth != nWidth) { + return false; + } + this.linewidth = nWidth; + return true; + }; + + _pGoogleMapPolyline.set_linecolor = function (v) { + this.linecolor = v; + return true; + }; + + _pGoogleMapPolyline.set_visible = function (v) { + if (v == true || (typeof (v) == "string" && v == "true")) { + this.visible = true; + } + else if (v == false || (typeof (v) == "string" && v == "false")) { + this.visible = false; + } + else { + return false; + } + + return true; + }; + + delete _pGoogleMapPolyline; + } + + if (!nexacro.GoogleMapPolygon) { + nexacro.GoogleMapPolygon = function (name) { + this._id = nexacro.Device.makeID(); + nexacro.Device._userCreatedObj[this._id] = this; + this.name = name || ""; + + this._type = 3; + this.locationdata = ""; + this.visible = true; + this.linewidth = ""; + this.linecolor = ""; + this.fillbrushcolor = ""; + + this._name = null; + }; + + var _pGoogleMapPolygon = nexacro.GoogleMapPolygon.prototype = nexacro._createPrototype(nexacro._EventSinkObject, nexacro.GoogleMapPolygon); + _pGoogleMapPolygon._type_name = "GoogleMapPolygon"; + + _pGoogleMapPolygon.set_locationdata = function (v) { + var _lat_lng_arr; + + _lat_lng_arr = v.toString().split("]"); + if (_lat_lng_arr.length < 2) { + return false; + } + + this.locationdata = v; + return true; + }; + + _pGoogleMapPolygon.set_linewidth = function (v) { + var nWidth = 0; + try { + nWidth = Number(v.toString()); + } + catch (e) { + return false; + } + + if (nWidth != nWidth) { + return false; + } + this.linewidth = nWidth; + return true; + }; + + _pGoogleMapPolygon.set_linecolor = function (v) { + this.linecolor = v; + return true; + }; + + _pGoogleMapPolygon.set_fillbrushcolor = function (v) { + this.fillbrushcolor = v; + return true; + }; + + _pGoogleMapPolygon.set_visible = function (v) { + if (v == true || (typeof (v) == "string" && v == "true")) { + this.visible = true; + } + else if (v == false || (typeof (v) == "string" && v == "false")) { + this.visible = false; + } + else { + return false; + } + return true; + }; + + delete _pGoogleMapPolygon; + } + + if (!nexacro.GoogleMapCircle) { + nexacro.GoogleMapCircle = function (name) { + this._id = nexacro.Device.makeID(); + nexacro.Device._userCreatedObj[this._id] = this; + this.name = name || ""; + + this._type = 4; + this.longitude = 0; + this.latitude = 0; + + this.radius = 100; + this.visible = true; + this._name = null; + }; + + var _pGoogleMapCircle = nexacro.GoogleMapCircle.prototype = nexacro._createPrototype(nexacro._EventSinkObject, nexacro.GoogleMapCircle); + _pGoogleMapCircle._type_name = "GoogleMapCircle"; + + _pGoogleMapCircle.set_longitude = function (v) { + try { + this.longitude = Number(v.toString()); + } + catch (e) { + return false; + } + + if (this.longitude != this.longitude) { + return false; + } + return true; + }; + + _pGoogleMapCircle.set_latitude = function (v) { + try { + this.latitude = Number(v.toString()); + } + catch (e) { + return false; + } + + if (this.latitude != this.latitude) { + return false; + } + + return true; + }; + + _pGoogleMapCircle.set_visible = function (v) { + if (v == true || (typeof (v) == "string" && v == "true")) { + this.visible = true; + } + else if (v == false || (typeof (v) == "string" && v == "false")) { + this.visible = false; + } + else { + return false; + } + return true; + }; + + _pGoogleMapCircle.set_radius = function (v) { + if (v == null) { + this.radius = 100; + } + else { + this.radius = Number(v.toString()); + } + }; + + delete _pGoogleMapCircle; + } +} +else if ((nexacro.Device && nexacro._OS != "Windows") || nexacro._Browser != "Runtime" && !(nexacro._Browser == "IE" && nexacro._BrowserVersion <= 8)) { + if (!nexacro.GoogleMap) { + nexacro.GoogleMapEventInfo = function (obj, id, centerlocation, viewmode, zoomlevel, addresses, coordinates) { + this.id = this.eventid = id; + this.fromobject = this.fromreferenceobject = obj; + this.centerlocation = centerlocation; + this.viewmode = viewmode; + this.zoomlevel = zoomlevel; + this.addresses = addresses; + this.coordinates = coordinates; + }; + + var _pGoogleMapEventInfo = nexacro._createPrototype(nexacro.Event, nexacro.GoogleMapEventInfo); + nexacro.GoogleMapEventInfo.prototype = _pGoogleMapEventInfo; + _pGoogleMapEventInfo._type_name = "GoogleMapEventInfo"; + + delete _pGoogleMapEventInfo; + + nexacro.GoogleMapErrorEventInfo = function (obj, id, errorcode, errormsg) { + this.id = this.eventid = id; + this.fromobject = this.fromreferenceobject = obj; + this.errortype = "ObjectError"; + this.statuscode = errorcode; + this.errormsg = errormsg; + }; + + var _pGoogleMapErrorEventInfo = nexacro._createPrototype(nexacro.Event, nexacro.GoogleMapErrorEventInfo); + nexacro.GoogleMapErrorEventInfo.prototype = _pGoogleMapErrorEventInfo; + _pGoogleMapErrorEventInfo._type_name = "GoogleMapErrorEventInfo"; + + delete _pGoogleMapErrorEventInfo; + + nexacro.GoogleMapClickEventInfo = function (obj, id, location) { + this.id = this.eventid = id; + this.fromobject = this.fromreferenceobject = obj; + this.location = location; + }; + + nexacro.GoogleMapDragEventInfo = function (obj, id, location) { + this.id = this.eventid = id; + this.fromobject = this.fromreferenceobject = obj; + this.location = location; + }; + + var _pGoogleMapDragEventInfo = nexacro._createPrototype(nexacro.Event, nexacro.GoogleMapDragEventInfo); + nexacro.GoogleMapDragEventInfo.prototype = _pGoogleMapDragEventInfo; + _pGoogleMapDragEventInfo._type_name = "GoogleMapDragEventInfo"; + + delete _pGoogleMapDragEventInfo; + + + + + + + + + + + + + + + + + + nexacro.googlemaps_loaded = false; + nexacro.googlemaps_callback = function () { + nexacro.googlemaps_loaded = true; + }; + + nexacro.load_googlemaps = function (googleapikey, language, region) { + if (nexacro.googlemaps_loaded) { + return; + } + + var script = document.createElement("script"); + var params = ""; + script.type = "text/javascript"; + + if (googleapikey) { + params += "key=" + googleapikey + "&"; + } + if (language) { + params += "language=" + language + "&"; + } + if (region) { + params += "region=" + region + "&"; + } + + params += "callback=nexacro.googlemaps_callback"; + + script.src = "https://maps.googleapis.com/maps/api/js?" + params; + + document.body.appendChild(script); + }; + + nexacro.GoogleMap = function (id, left, top, width, height, right, bottom, minwidth, maxwidth, minheight, maxheight, parent) { + nexacro.Component.call(this, id, left, top, width, height, right, bottom, minwidth, maxwidth, minheight, maxheight, parent); + this._id = nexacro.Device.makeID(); + nexacro.Device._userCreatedObj[this._id] = this; + this.name = id || ""; + + this.centerlocation = { + latitude : 0, + longitude : 0 + }; + + this.location = { + latitude : 0, + longitude : 0 + }; + + this.coordinates = { + latitude : 0, + longitude : 0 + }; + + this._map_elem = null; + this._google_map = null; + this.maptype = 0; + this.viewmode = 0; + this.zoomlevel = 15; + this.zoomalign_halign = "left"; + this.zoomalign_valign = "top"; + this.showmode = false; + this.showzoom = false; + this.shownavigator = false; + this.showmapscale = false; + this.enableevent = true; + + this.apikey = null; + + this.language = undefined; + this.region = undefined; + + this.items = []; + this.itemsname = []; + + this._itemsname = []; + this._items = []; + this._infowindowname = []; + this._infowindow = []; + + this.bSensor = false; + + this.bLoaded = false; + this.enable = true; + this.draggable = false; + this.googleloaded = null; + + this._event_list = { + "onclick" : 1, + "ondblclick" : 1, + "onkeypress" : 1, + "onkeydown" : 1, + "onkeyup" : 1, + "onkillfocus" : 1, + "onsetfocus" : 1, + "ondragstart" : 1, + "ondrag" : 1, + "ondragenter" : 1, + "ondragleave" : 1, + "ondragmove" : 1, + "ondragend" : 1, + "ondrop" : 1, + "onlbuttondown" : 1, + "onlbuttonup" : 1, + "onmouseenter" : 1, + "onmouseleave" : 1, + "onmousemove" : 1, + "onmove" : 1, + "onsize" : 1, + "onrbuttondown" : 1, + "onrbuttonup" : 1, + "onload" : 1, + "onrecvsuccess" : 1, + "onoverlayclick" : 1, + "oncenterchanged" : 1, + "onviewmodechanged" : 1, + "onzoomchanged" : 1, + "onmapdragstart" : 1, + "onmapdrag" : 1, + "onmapdragend" : 1, + "onerror" : 1 + }; + }; + + var _pGoogleMap = nexacro._createPrototype(nexacro.Component, nexacro.GoogleMap); + nexacro.GoogleMap.prototype = _pGoogleMap; + _pGoogleMap._type_name = "GoogleMap"; + + _pGoogleMap.centerlocation = { + latitude : 0, + longitude : 0 + }; + + nexacro.GoogleMap._default_text_align = nexacro.Component._default_align; + nexacro.GoogleMap._default_image_align = nexacro.Component._default_buttonimg_align; + + _pGoogleMap.set_draggable = function (v) { + if (v == null) { + return false; + } + else if (v) { + if (v == true || (typeof (v) == "string" && v == "true")) { + this.draggable = true; + } + else if (v == false || (typeof (v) == "string" && v == "false")) { + this.draggable = false; + } + } + else { + return false; + } + }; + + _pGoogleMap.set_zoomalign = function (name, val) { + if (name == "halign") { + this.zoomalign_halign = val; + } + else if (name == "valign") { + this.zoomalign_valign = val; + } + else { + return false; + } + + this.zoomalign = this._getalign(this.zoomalign_halign, this.zoomalign_valign); + + this._google_map_option_test = { + zoomControlOptions : { + position : this.zoomalign, + style : google.maps.ZoomControlStyle.DEFAULT + } + }; + + return true; + }; + + _pGoogleMap._getalign = function (h, v) { + if (h == "left") { + if (v == "top") { + return google.maps.ControlPosition.TOP_LEFT; + } + else if (v == "middle") { + return google.maps.ControlPosition.LEFT; + } + else if (v == "bottom") { + return google.maps.ControlPosition.LEFT_BOTTOM; + } + } + else if (h == "center") { + if (v == "top") { + return google.maps.ControlPosition.TOP; + } + else if (v == "bottom") { + return google.maps.ControlPosition.BOTTOM; + } + } + else if (h == "right") { + if (v == "top") { + return google.maps.ControlPosition.TOP_LEFT; + } + else if (v == "middle") { + return google.maps.ControlPosition.RIGHT; + } + else if (v == "bottom") { + return google.maps.ControlPosition.RIGHT_BOTTOM; + } + } + }; + + _itemsname = []; + _items = []; + _infowindowname = []; + _infowindow = []; + + _pGoogleMap.set_enableevent = function (v) { + this.enableevent = nexacro._toBoolean(v); + return v; + }; + + _pGoogleMap.set_viewmode = function (v) { + if (v != null) { + this.viewmode = v; + if (this.bLoaded) { + this._google_map_option = { + mapTypeId : this._getMapType(this.viewmode) + }; + this._google_map.setOptions(this._google_map_option); + } + return true; + } + else { + return false; + } + }; + + _pGoogleMap.__map = function () { + var obj = document.getElementById(this._id); + var objDoc = obj.contentWindow || obj.contentDocument; + return objDoc; + }; + + _pGoogleMap.set_showmode = function (v) { + if (v != null) { + if (v == true || (typeof (v) == "string" && v == "true")) { + this.showmode = true; + } + else if (v == false || (typeof (v) == "string" && v == "false")) { + this.showmode = false; + } + else { + return false; + } + + if (this.bLoaded) { + this._google_map_option_test = { + mapTypeControl : this.showmode, + mapTypeControlOptions : { + style : google.maps.MapTypeControlStyle.DEFAULT, + position : this.modealign + } + }; + + this._google_map.setOptions(this._google_map_option_test); + } + return true; + } + }; + + _pGoogleMap.set_showmapscale = function (v) { + if (v != null) { + if (v == true || (typeof (v) == "string" && v == "true")) { + this.showmapscale = true; + } + else if (v == false || (typeof (v) == "string" && v == "false")) { + this.showmapscale = false; + } + else { + return false; + } + + if (this.bLoaded) { + this._google_map_option_test = { + mapTypeControl : this.showmapscale + }; + + this._google_map.setOptions(this._google_map_option_test); + } + return true; + } + }; + + _pGoogleMap.set_showmapscale = function (v) { + if (v != null) { + if (v == true || (typeof (v) == "string" && v == "true")) { + this.showmapscale = true; + } + else if (v == false || (typeof (v) == "string" && v == "false")) { + this.showmapscale = false; + } + else { + return false; + } + + if (this.bLoaded) { + this._google_map_option_test = { + scaleControl : this.showmapscale + }; + this._google_map.setOptions(this._google_map_option_test); + } + return true; + } + }; + + _pGoogleMap.set_shownavigator = function (v) { + if (v != null) { + if (v == true || (typeof (v) == "string" && v == "true")) { + this.shownavigator = true; + } + else if (v == false || (typeof (v) == "string" && v == "false")) { + this.shownavigator = false; + } + else { + return false; + } + + if (this.bLoaded) { + this._google_map_option_test = { + panControl : this.shownavigator + }; + this._google_map.setOptions(this._google_map_option_test); + } + return true; + } + }; + + _pGoogleMap.set_apikey = function (v) { + if (v == null) { + return false; + } + + this.apikey = v; + }; + + _pGoogleMap.set_language = function (v) { + v = nexacro._toString(v); + this.language = v; + }; + + _pGoogleMap.set_region = function (v) { + v = nexacro._toString(v); + this.region = v; + }; + + _pGoogleMap._set_option = function () { + var _mapType = this._getMapType(); + + + var myOptions = { + center : new google.maps.LatLng(this.centerlocation.latitude, this.centerlocation.longitude), + mapTypeId : _mapType, + zoom : this.zoomlevel, + disableDefaultUI : true, + mapTypeControl : this.showmode, + mapTypeControlOptions : { + style : google.maps.MapTypeControlStyle.DEFAULT, + position : this.modealign + }, + scaleControl : this.showmapscale, + scaleControlOptions : { + position : this.mapscalealign + }, + panControl : this.shownavigator, + panControlOptions : { + position : this.navigatoralign + }, + zoomControl : this.showzoom, + zoomControlOptions : { + position : this.zoomalign, + style : google.maps.ZoomControlStyle.SMALL + } + }; + return myOptions; + }; + + _pGoogleMap._getMapType = function (v) { + var __maptype; + + switch (v) { + default: + case 0: + __maptype = google.maps.MapTypeId.ROADMAP; + break; + case 1: + __maptype = google.maps.MapTypeId.SATELLITE; + break; + case 2: + __maptype = google.maps.MapTypeId.HYBRID; + break; + case 3: + __maptype = google.maps.MapTypeId.TERRAIN; + break; + } + return __maptype; + }; + + _pGoogleMap.map_starter = function (v) { + this._google_map.setOptions(this.setOptions()); + }; + + _pGoogleMap.set_zoomlevel = function (v) { + this.zoomlevel = Number(v.toString()); + }; + + _pGoogleMap.set_enable = function (v) { + if (v == null) { + return false; + } + else if (v) { + if (v == true || (typeof (v) == "string" && v == "true")) { + this.enable = true; + } + else if (v == false || (typeof (v) == "string" && v == "false")) { + this.enable = false; + } + if (this.bLoaded) { + this._google_map_option = { + draggable : this.enable + }; + this._google_map.setOptions(this._google_map_option); + } + return true; + } + else { + return false; + } + }; + + _pGoogleMap.set_showzoom = function (v) { + if (v == null) { + return false; + } + + if (v) { + if (v == true || (typeof (v) == "string" && v == "true")) { + this.showzoom = true; + } + else if (v == false || (typeof (v) == "string" && v == "false")) { + this.showzoom = false; + } + else { + return false; + } + + if (this.bLoaded) { + this._google_map_option_test = { + center : new google.maps.LatLng(this.centerlocation.latitude, this.centerlocation.longitude), + zoomControl : this.showzoom + }; + this._google_map.setOptions(this._google_map_option_test); + } + return true; + } + }; + + + + _pGoogleMap.on_apply_text = function () { + var control_elem = this._control_element; + if (this._control_element) { + var text_elem = this._text_elem; + if (!text_elem) { + text_elem = new nexacro.TextBoxElement(control_elem); + this._text_elem = text_elem; + text_elem.setElementSize(this._getClientWidth(), this._getClientHeight()); + text_elem.setElementColor(this.currentstyle.color); + text_elem.setElementFont(this.currentstyle.font); + text_elem.setElementAlign(this.currentstyle.align); + + if (this._is_created) { + text_elem.create(); + } + } + + if (this.text != "") { + text_elem.setElementText(this.text); + this._text_width = -1; + this._text_height = -1; + if (this._img_elem) { + this._updateElementPositions(this.currentstyle.align, this.currentstyle.imagealign); + } + } + else { + text_elem.setElementText(""); + this._text_width = 0; + this._text_height = 0; + if (this._img_elem) { + this._updateElementPositions(this.currentstyle.align, this.currentstyle.imagealign); + } + } + } + }; + + _pGoogleMap.on_apply_expr = function () { + var control = this.getElement(); + var expr = this.expr; + + if (control && expr.length > 0) { + expr = expr.trim().split(":"); + var len = expr.length; + var parser = new nexacro.ExprParser(); + var conv_expr, exprfn; + var str; + + if (len == 1) { + str = expr[0]; + } + else { + if (expr[0].trim().toUpperCase() != "EXPR") { + str = expr.join(":"); + } + else { + str = expr.slice(1).join(":"); + } + } + + conv_expr = parser.makeExpr(this, str); + exprfn = nexacro._createInlineFunc(conv_expr, []); + + if (exprfn) { + try { + this.set_text(exprfn.call(this)); + } + catch (e) { + return; + } + } + } + }; + + _pGoogleMap.on_apply_prop_taborder = function () { + var textElem = this._text_elem; + if (textElem) { + if (this.tabstop) { + textElem.setElementTabIndex(this.taborder); + } + else { + textElem.setElementTabIndex(-1); + } + } + }; + _pGoogleMap.on_create_contents = function () { + var control_elem = this.getElement(); + if (control_elem) { + this._map_elem = new nexacro.Element(control_elem); + this._map_elem.setElementSize(this._getClientWidth(), this._getClientHeight()); + } + }; + + _pGoogleMap.on_create_contents_command = function () { + var control_elem = this.getElement(); + if (control_elem) { + this._map_elem = new nexacro.Element(control_elem); + this._map_elem.setElementSize(this._getClientWidth(), this._getClientHeight()); + this._map_elem.setElementTypeCSSSelector("nexamap"); + + return this._map_elem.createCommand(); + } + return ""; + }; + + _pGoogleMap.on_attach_contents_handle = function (win) { + if (this._map_elem) { + this._map_elem.attachHandle(win); + } + }; + + _pGoogleMap.on_created_contents = function (win) { + var map_elem = this._map_elem; + if (map_elem) { + map_elem.setElementTypeCSSSelector("nexamap"); + map_elem.create(win); + + this.document = map_elem._document; + this.window = map_elem._winodw; + } + }; + + _pGoogleMap.on_destroy_contents = function () { + var map_elem = this._map_elem; + if (map_elem) { + map_elem.destroy(); + this._map_elem = null; + } + }; + + _pGoogleMap.__onTextchanged = function () { + }; + + _pGoogleMap.load = function (bUseSensor, nLatitude, nLongitude, constViewMode, nZoomLevel, retry) { + var google_map = this._google_map; + if (nexacro.googlemaps_loaded == false) { + if (!retry) { + nexacro.load_googlemaps(this.apikey, this.language, this.region); + } + + var target = this; + nexacro._OnceCallbackTimer.callonce(target, function () { + target.load(bUseSensor, nLatitude, nLongitude, constViewMode, nZoomLevel, true); + }, 500); + + return; + } + + this._id = nexacro.Device.makeID(); + var parentMap = nexacro.Device._userCreatedObj[this._id] = this; + + var strlength = 0; + var myLatlng; + + if (nZoomLevel) { + try { + strlength = nZoomLevel.toString().split(" ").join(""); + } + catch (e) { + return false; + } + + if (nZoomLevel.length == 0) { + return false; + } + + var nzoom = 0; + try { + nzoom = Number(nZoomLevel.toString()); + } + catch (e) { + return false; + } + + if (nzoom >= 0) { + this.zoomlevel = nzoom; + } + else { + return false; + } + } + + if (constViewMode) { + if (constViewMode == 0 || (typeof (constViewMode) == "string" && constViewMode == "0")) { + this.viewmode = 0; + } + else if (constViewMode == 1 || (typeof (constViewMode) == "string" && constViewMode == "1")) { + this.viewmode = 1; + } + else if (constViewMode == 2 || (typeof (constViewMode) == "string" && constViewMode == "2")) { + this.viewmode = 2; + } + else if (constViewMode == 3 || (typeof (constViewMode) == "string" && constViewMode == "3")) { + this.viewmode = 3; + } + else { + return false; + } + } + else { + this.viewmode = 0; + } + + if (nLatitude && nLongitude) { + strlength = 0; + try { + strlength = nLatitude.toString().split(" ").join(""); + } + catch (e) { + return false; + } + if (strlength.length == 0) { + return false; + } + try { + strlength = nLongitude.toString().split(" ").join(""); + } + catch (e) { + return false; + } + if (strlength.length == 0) { + return false; + } + + var nlat = 0; + var nlon = 0; + try { + nlat = Number(nLatitude.toString()); + } + catch (e) { + return false; + } + + if (nlat != nlat) { + return false; + } + try { + nlon = Number(nLongitude.toString()); + } + catch (e) { + return false; + } + + if (nlon != nlon) { + return false; + } + this.centerlocation.latitude = nlat; + this.centerlocation.longitude = nlon; + + _pGoogleMap.centerlocation = { + latitude : nlat, + longitude : nlon + }; + } + + if (bUseSensor) { + if (bUseSensor == true || (typeof (bUseSensor) == "string" && bUseSensor == "true")) { + this.bSensor = true; + } + else { + this.bSensor = false; + } + + if (constViewMode == null) { + this.viewmode = 0; + } + } + else { + this.bSensor = false; + } + + var map_elem = this._map_elem; + if (map_elem) { + map_elem.create(); + } + + if (this.bSensor) { + if (navigator.geolocation) { + navigator.geolocation.getCurrentPosition(function (position) { + var initialLocation = new google.maps.LatLng(position.coords.latitude, position.coords.longitude); + google_map.setCenter(initialLocation); + }, function () { + parentMap._apply_onerror({ + errorcode : "1503", + errormsg : "Device provider disable" + }); + }); + } + else if (google.gears) { + var geo = google.gears.factory.create('beta.geolocation'); + geo.getCurrentPosition(function (position) { + var initialLocation = new google.maps.LatLng(position.latitude, position.longitude); + + myLatlng = new google.maps.LatLng(position.latitude, position.longitude); + google_map.setCenter(initialLocation); + }, function () { + parentMap._apply_onerror({ + errorcode : "1503", + errormsg : "Device provider disable" + }); + }); + return false; + } + } + else { + myLatlng = new google.maps.LatLng(this.centerlocation.latitude, this.centerlocation.longitude); + } + + this._google_map_option = { + center : myLatlng, + panControl : this.shownavigator, + zoomControl : this.showzoom, + mapTypeControl : this.showmode, + scaleControl : this.showmapscale, + zoom : this.zoomlevel, + disableDefaultUI : true, + draggable : this.enable, + mapTypeId : _pGoogleMap._getMapType(this.viewmode) + }; + + google_map = new google.maps.Map(map_elem.handle, this._google_map_option); + this._google_map = google_map; + _pGoogleMap._google_map = this._google_map; + + for (var i = 0; i < this.itemsname.length; i++) { + if (this.items[this.itemsname[i]]._type == 0 || this.items[this.itemsname[i]]._type == 1) { + _pGoogleMap.addMarker(this.itemsname[i], this.items[this.itemsname[i]]); + } + else if (this.items[this.itemsname[i]]._type == 2) { + _pGoogleMap.addPolyline(this.itemsname[i], this.items[this.itemsname[i]]); + } + else if (this.items[this.itemsname[i]]._type == 3) { + _pGoogleMap.addPolygon(this.itemsname[i], this.items[this.itemsname[i]]); + } + else if (this.items[this.itemsname[i]]._type == 4) { + _pGoogleMap.addCircle(this.itemsname[i], this.items[this.itemsname[i]]); + } + } + + google.maps.event.addListener(google_map, 'click', function (e) { + if (parentMap.onclick && parentMap.onclick._has_handlers && parentMap.enableevent) { + parentMap.location.latitude = e.latLng.lat(); + parentMap.location.longitude = e.latLng.lng(); + + var evt = new nexacro.GoogleMapClickEventInfo(parentMap, "onclick", parentMap.location); + + parentMap.onclick._fireEvent(this, evt); + } + return true; + }); + + google.maps.event.addListener(google_map, 'dragstart', function (e) { + }); + + google.maps.event.addListener(google_map, 'mouseout', function (e) { + }); + + google.maps.event.addListener(google_map, 'dragenter', function (e) { + }); + + google.maps.event.addListener(google_map, 'drag', function (e) { + }); + + google.maps.event.addListener(google_map, 'dragend', function (e) { + }); + + google.maps.event.addListener(google_map, 'center_changed', function (e) { + if (parentMap.oncenterchanged && parentMap.oncenterchanged._has_handlers && parentMap.enableevent) { + parentMap.centerlocation.latitude = google_map.getCenter().lat(); + parentMap.centerlocation.longitude = google_map.getCenter().lng(); + + var evt = new nexacro.GoogleMapEventInfo(parentMap, "oncenterchanged", parentMap.centerlocation, parentMap.viewmode, parentMap.zoomlevel, parentMap.addresses, parentMap.coordinates); + + parentMap.oncenterchanged._fireEvent(this, evt); + } + return true; + }); + + google.maps.event.addListener(google_map, 'maptypeid_changed', function (e) { + if (parentMap.onviewmodechanged && parentMap.onviewmodechanged._has_handlers && parentMap.enableevent) { + var evt = new nexacro.GoogleMapEventInfo(parentMap, "onviewmodechanged", parentMap.centerlocation, parentMap.viewmode, parentMap.zoomlevel, parentMap.addresses, parentMap.coordinates); + + parentMap.onviewmodechanged._fireEvent(this, evt); + } + return true; + }); + + google.maps.event.addListener(google_map, 'zoom_changed', function (e) { + if (parentMap.onzoomchanged && parentMap.onzoomchanged._has_handlers && parentMap.enableevent) { + parentMap.zoomlevel = google_map.getZoom(); + + var evt = new nexacro.GoogleMapEventInfo(parentMap, "onzoomchanged", parentMap.centerlocation, parentMap.viewmode, parentMap.zoomlevel, parentMap.addresses, parentMap.coordinates); + + parentMap.onzoomchanged._fireEvent(this, evt); + } + return true; + }); + + this.bLoaded = true; + + this._apply_onload(); + return true; + }; + + _pGoogleMap.setMarkerLoc = function (strItemID, lat, lng) { + this.items[strItemID].location.latitude = lat; + + this.items[strItemID].location.longitude = lng; + }; + + _pGoogleMap.getAddress = function (nLatitude, nLongitude, nMaxResultCount, strLocale) { + if (nLatitude == null || nLongitude == null || nMaxResultCount < 0) { + return false; + } + + + if (nMaxResultCount == null) { + nMaxResultCount = 1; + } + + var params = '{"nLatitude":"' + nLatitude + '","nLongitude":"' + nLongitude + '","nMaxResultCount":"' + nMaxResultCount + '","strLocale":"' + strLocale + '"}'; + + var jsonstr = '{"id":' + this._id + ', "div":"NexacroMap", "method":"getAddress", "params":' + params + '}'; + nexacro.Device.exec(jsonstr); + + return true; + }; + + _pGoogleMap.getCoordinates = function (strAddress) { + if (strAddress == null || strAddress == "") { + return false; + } + + var params = '{"straddress":"' + strAddress + '"}'; + var jsonstr = '{"id":' + this._id + ', "div":"NexacroMap", "method":"getCoordinates", "params":' + params + '}'; + + nexacro.Device.exec(jsonstr); + + return true; + }; + + _pGoogleMap.addItem = function (strItemID, objItem) { + this._id = nexacro.Device.makeID(); + var parentMap = nexacro.Device._userCreatedObj[this._id] = this; + + if (strItemID == null || objItem == null) { + return false; + } + + if (strItemID == "" || objItem == "" || objItem == "undefined" || strItemID.trim() == "") { + return false; + } + + if (typeof (this.items[strItemID]) != "undefined") { + this._apply_onerror({ + errorcode : "1501", + errormsg : "item is already exist." + }); + return false; + } + + if (objItem instanceof nexacro.GoogleMapMarker || objItem instanceof nexacro.GoogleMapPolyline || objItem instanceof nexacro.GoogleMapPolygon || objItem instanceof nexacro.GoogleMapCircle) { + this.items[strItemID] = objItem; + this.items.push(strItemID); + + if (this.bLoaded) { + if (objItem._type == 0 || objItem._type == 1) { + _pGoogleMap.addMarker(strItemID, objItem, parentMap, this); + } + else if (objItem._type == 2) { + _pGoogleMap.addPolyline(strItemID, objItem); + } + else if (objItem._type == 3) { + _pGoogleMap.addPolygon(strItemID, objItem); + } + else if (objItem._type == 4) { + _pGoogleMap.addCircle(strItemID, objItem); + } + } + return true; + } + else { + return false; + } + }; + + _pGoogleMap.setMarkerOptions = function (markName, markObj) { + if (typeof (_infowindow[markName]) == "undefined") { + var temp_infowindow = new google.maps.InfoWindow({ + content : "" + }); + _infowindowname.push(markName); + _infowindow[markName] = temp_infowindow; + } + + var markerOpt; + if (markObj.imageurl.length > 0) { + var _v = markObj.imageurl.toString().split(" ").join(""); + var img_path = ""; + + if (_v.substring(0, 9).toLowerCase() == "%userapp%") { + img_path = "../" + _v.substring(9, _v.length); + } + else { + img_path = _v; + } + + markerOpt = { + position : new google.maps.LatLng(markObj._location.latitude, markObj._location.longitude), + title : markObj.text, + visible : markObj.visible, + icon : img_path, + draggable : markObj.draggable + }; + } + else { + markerOpt = { + position : new google.maps.LatLng(markObj._location.latitude, markObj._location.longitude), + title : markObj.text, + visible : markObj.visible, + draggable : markObj.draggable + }; + } + + var contentString = "
" + markObj.text + "
"; + _infowindow[markName].setContent(contentString); + + google.maps.event.addListener(_items[markName], 'click', function (e) { + if (_items[markName].title.length > 0) { + _infowindow[markName].open(_pGoogleMap._google_map, _items[markName]); + } + }); + + google.maps.event.addListener(_items[markName], 'drag', function (e) { + }); + + google.maps.event.addListener(_pGoogleMap._google_map, 'click', function (e) { + _infowindow[markName].close(); + }); + + if (!markerOpt.visible && _infowindow[markName] != null) { + _infowindow[markName].close(); + } + + _items[markName].setOptions(markerOpt); + }; + + _pGoogleMap.addMarker = function (markName, markObj, parentMap, obj) { + if (typeof (_infowindow[markName]) == "undefined") { + var temp_infowindow = new google.maps.InfoWindow({ + content : "" + }); + _infowindowname.push(markName); + _infowindow[markName] = temp_infowindow; + } + + var contentString = "
" + markObj.text + "
"; + _infowindow[markName].setContent(contentString); + + var marker; + if (markObj.imageurl.length > 0) { + var _v = markObj.imageurl.toString().split(" ").join(""); + var img_path = ""; + + if (_v.substring(0, 9).toLowerCase() == "%userapp%") { + img_path = _v.substring(9, _v.length); + if (img_path.charAt(0) != "/") { + img_path = "/" + img_path; + } + img_path = nexacro.System.userapppath + img_path; + } + else { + img_path = _v; + } + + marker = new google.maps.Marker({ + position : new google.maps.LatLng(markObj._location.latitude, markObj._location.longitude), + title : markObj.text, + visible : markObj.visible, + icon : img_path, + draggable : markObj.draggable + }); + } + else { + marker = new google.maps.Marker({ + position : new google.maps.LatLng(markObj._location.latitude, markObj._location.longitude), + title : markObj.text, + visible : markObj.visible, + draggable : markObj.draggable + }); + } + + google.maps.event.addListener(marker, 'dragstart', function (e) { + if (parentMap.onmapdragstart && parentMap.onmapdragstart._has_handlers && parentMap.enableevent) { + markObj._location.latitude = marker.getPosition().lat(); + markObj._location.longitude = marker.getPosition().lng(); + + var evt = new nexacro.GoogleMapDragEventInfo(parentMap, "onmapdragstart", markObj._location); + parentMap.onmapdragstart._fireEvent(obj, evt); + } + }); + + google.maps.event.addListener(marker, 'drag', function (e) { + if (parentMap.onmapdrag && parentMap.onmapdrag._has_handlers && parentMap.enableevent) { + markObj._location.latitude = marker.getPosition().lat(); + markObj._location.longitude = marker.getPosition().lng(); + + var evt = new nexacro.GoogleMapDragEventInfo(parentMap, "onmapdrag", markObj._location); + parentMap.onmapdrag._fireEvent(obj, evt); + } + }); + + google.maps.event.addListener(marker, 'dragend', function (e) { + if (parentMap.onmapdragend && parentMap.onmapdragend._has_handlers && parentMap.enableevent) { + markObj._location.latitude = marker.getPosition().lat(); + markObj._location.longitude = marker.getPosition().lng(); + + var evt = new nexacro.GoogleMapDragEventInfo(parentMap, "onmapdragend", markObj._location); + parentMap.onmapdragend._fireEvent(obj, evt); + } + }); + + google.maps.event.addListener(marker, 'click', function (e) { + if (marker.title.length > 0) { + _infowindow[markName].open(_pGoogleMap._google_map, marker); + } + _pGoogleMap.gmap_onoverlayclick(markObj, e.latLng.lat(), e.latLng.lng(), e.pixel.x, e.pixel.y); + }); + + google.maps.event.addListener(marker, 'drag', function (e) { + }); + + marker.setMap(_pGoogleMap._google_map); + _pGoogleMap._google_map.setCenter(marker.getPosition()); + _itemsname.push(markName); + _items[markName] = marker; + markObj._map = this; + markObj._name = markName; + }; + + _pGoogleMap.setPolygonOptions = function (polygonName, polygonObj) { + var _path = []; + var _lat_lng_arr, _lat, _lng, i; + + _lat_lng_arr = polygonObj.locationdata.toString().split("]"); + for (i = 0; i < (_lat_lng_arr.length - 1); i++) { + _lat = _lat_lng_arr[i].toString().split(",")[0].split(" ").join().substring(1); + _lng = _lat_lng_arr[i].toString().split(",")[1].split(" ").join().substring(1); + if (_lat.length > 0 && _lng.length > 0) { + _path.push(new google.maps.LatLng(Number(_lat), Number(_lng))); + } + } + var _color_stroke; + if (typeof (this.parent.nexacro._xreNamedColorList[polygonObj.linecolor]) != "undefined") { + _color_stroke = this.parent.nexacro._xreNamedColorList[polygonObj.linecolor] + "FF"; + } + else { + _color_stroke = polygonObj.linecolor; + } + + var _color_fill; + if (typeof (this.parent.nexacro._xreNamedColorList[polygonObj.fillbrushcolor]) != "undefined") { + _color_fill = this.parent.nexacro._xreNamedColorList[polygonObj.fillbrushcolor] + "FF"; + } + else { + _color_fill = polygonObj.fillbrushcolor; + } + + var _alpha_stroke_1; + var _alpha_stroke = 1.0; + if (_color_stroke.length > 7) { + _alpha_stroke_1 = parseInt(_color_stroke.substring(7), 16); + _alpha_stroke = _alpha_stroke_1 / 255.0; + } + var _alpha_fill_1; + var _alpha_fill = 1.0; + if (_color_fill.length > 7) { + _alpha_fill_1 = parseInt(_color_fill.substring(7), 16); + _alpha_fill = _alpha_fill_1 / 255.0; + } + + var polygonOpt = { + paths : _path, + strokeColor : _color_stroke.substring(0, 7), + strokeOpacity : _alpha_stroke, + strokeWeight : polygonObj.linewidth, + fillColor : _color_fill.substring(0, 7), + fillOpacity : _alpha_fill, + visible : polygonObj.visible + }; + + google.maps.event.addListener(_items[polygonName], 'click', function (e) { + _pGoogleMap.gmap_onoverlayclick(_items[polygonName], e.latLng.lat(), e.latLng.lng(), 0, 0); + }); + _items[polygonName].setOptions(polygonOpt); + }; + + _pGoogleMap.addPolygon = function (polygonName, polygonObj) { + var _path = []; + var _lat_lng_arr, _lat, _lng; + + _lat_lng_arr = polygonObj.locationdata.toString().split("]"); + for (var i = 0; i < (_lat_lng_arr.length - 1); i++) { + _lat = _lat_lng_arr[i].toString().split(",")[0].split(" ").join().substring(1); + _lng = _lat_lng_arr[i].toString().split(",")[1].split(" ").join().substring(1); + if (_lat.length > 0 && _lng.length > 0) { + _path.push(new google.maps.LatLng(Number(_lat), Number(_lng))); + } + } + + var _color_stroke; + if (typeof (nexacro._xreNamedColorList[polygonObj.linecolor]) != "undefined") { + _color_stroke = nexacro._xreNamedColorList[polygonObj.linecolor] + "FF"; + } + else { + _color_stroke = polygonObj.linecolor; + } + + var _color_fill; + if (typeof (nexacro._xreNamedColorList[polygonObj.fillbrushcolor]) != "undefined") { + _color_fill = nexacro._xreNamedColorList[polygonObj.fillbrushcolor] + "FF"; + } + else { + _color_fill = polygonObj.fillbrushcolor; + } + + var _alpha_stroke_1; + var _alpha_stroke = 1.0; + if (_color_stroke.length > 7) { + _alpha_stroke_1 = parseInt(_color_stroke.substring(7), 16); + _alpha_stroke = _alpha_stroke_1 / 255.0; + } + var _alpha_fill_1; + var _alpha_fill = 1.0; + if (_color_fill.length > 7) { + _alpha_fill_1 = parseInt(_color_fill.substring(7), 16); + _alpha_fill = _alpha_fill_1 / 255.0; + } + + var polygonPath = new google.maps.Polygon({ + paths : _path, + strokeColor : _color_stroke.substring(0, 7), + strokeOpacity : _alpha_stroke, + strokeWeight : polygonObj.linewidth, + fillColor : _color_fill.substring(0, 7), + fillOpacity : _alpha_fill, + visible : polygonObj.visible + }); + + polygonPath.setMap(_pGoogleMap._google_map); + + _itemsname.push(polygonName); + _items[polygonName] = polygonPath; + + polygonObj._map = this; + polygonObj._name = polygonName; + + google.maps.event.addListener(_items[polygonName], 'click', function (e) { + _pGoogleMap.gmap_onoverlayclick(polygonObj, e.latLng.lat(), e.latLng.lng(), 0, 0); + }); + }; + + _pGoogleMap.setPolylineOptions = function (polylineName, polylineObj) { + var _path = []; + var _lat_lng_arr, _lat, _lng; + + _lat_lng_arr = polylineObj.locationdata.toString().split("]"); + for (var i = 0; i < (_lat_lng_arr.length - 1); i++) { + _lat = _lat_lng_arr[i].toString().split(",")[0].split(" ").join().substring(1); + _lng = _lat_lng_arr[i].toString().split(",")[1].split(" ").join().substring(1); + if (_lat.length > 0 && _lng.length > 0) { + _path.push(new google.maps.LatLng(Number(_lat), Number(_lng))); + } + } + + var _color; + if (typeof (this.parent.nexacro._xreNamedColorList[polylineObj.linecolor]) != "undefined") { + _color = this.parent.nexacro._xreNamedColorList[polylineObj.linecolor] + "FF"; + } + else { + _color = polylineObj.linecolor; + } + + var _alpha_1; + var _alpha = 1.0; + if (_color.length > 7) { + _alpha_1 = parseInt(_color.substring(7), 16); + _alpha = _alpha_1 / 255.0; + } + var polyLineOpt = { + path : _path, + strokeColor : _color.substring(0, 7), + strokeOpacity : _alpha, + strokeWeight : polylineObj.linewidth, + visible : polylineObj.visible + }; + + google.maps.event.addListener(_items[polylineName], 'click', function (e) { + _pGoogleMap.gmap_onoverlayclick(_items[polylineName], e.latLng.lat(), e.latLng.lng(), 0, 0); + }); + + _items[polylineName].setOptions(polyLineOpt); + }; + + _pGoogleMap.addPolyline = function (polylineName, polylineObj) { + var _path = []; + var _lat_lng_arr, _lat, _lng; + + _lat_lng_arr = polylineObj.locationdata.toString().split("]"); + for (var i = 0; i < (_lat_lng_arr.length - 1); i++) { + _lat = _lat_lng_arr[i].toString().split(",")[0].split(" ").join().substring(1); + _lng = _lat_lng_arr[i].toString().split(",")[1].split(" ").join().substring(1); + if (_lat.length > 0 && _lng.length > 0) { + _path.push(new google.maps.LatLng(Number(_lat), Number(_lng))); + } + } + + var _color; + if (typeof (nexacro._xreNamedColorList[polylineObj.linecolor]) != "undefined") { + _color = nexacro._xreNamedColorList[polylineObj.linecolor] + "FF"; + } + else { + _color = polylineObj.linecolor; + } + + var _alpha_1; + var _alpha = 1.0; + if (_color.length > 7) { + _alpha_1 = parseInt(_color.substring(7), 16); + _alpha = _alpha_1 / 255.0; + } + var polyLinePath = new google.maps.Polyline({ + path : _path, + strokeColor : _color.substring(0, 7), + strokeOpacity : _alpha, + strokeWeight : polylineObj.linewidth, + visible : polylineObj.visible + }); + + polyLinePath.setMap(_pGoogleMap._google_map); + + _itemsname.push(polylineName); + _items[polylineName] = polyLinePath; + + polylineObj._map = this; + polylineObj._name = polylineName; + + google.maps.event.addListener(_items[polylineName], 'click', function (e) { + _pGoogleMap.gmap_onoverlayclick(polylineObj, e.latLng.lat(), e.latLng.lng(), 0, 0); + }); + }; + + _pGoogleMap.setCircleOptions = function (circleName, ciecleObj) { + _items[circleName].setOptions(ciecleObj); + }; + + _pGoogleMap.addCircle = function (circleName, ciecleObj) { + var circle = new google.maps.Circle({ + fillOpacity : 0, + strokeWeight : 1.5, + center : new google.maps.LatLng(ciecleObj.latitude, ciecleObj.longitude), + radius : ciecleObj.radius, + visible : ciecleObj.visible + }); + + circle.setMap(_pGoogleMap._google_map); + + _itemsname.push(circleName); + _items[circleName] = circle; + + ciecleObj._map = this; + ciecleObj._name = circleName; + }; + + _pGoogleMap.removeItem = function (strItemID) { + if (strItemID == null) { + return false; + } + if (strItemID == "") { + return false; + } + + if (typeof (this.items[strItemID]) == "undefined") { + this._apply_onerror({ + errorcode : "1502", + errormsg : "item is not exist." + }); + return false; + } + else { + delete this.items[strItemID]; + + for (var i = 0; i < this.items.length; i++) { + if (this.items[i] == strItemID) { + var position = this.items.indexOf(this.items[i]); + this.items.splice(position, i + 1); + } + } + + if (this.bLoaded) { + _pGoogleMap._removeItem(strItemID); + } + + return true; + } + }; + + _pGoogleMap._removeItem = function (itemname) { + _items[itemname].setMap(null); + var i; + if (typeof (_items[itemname].title) != "undefined") { + delete _infowindow[itemname]; + for (i = 0; i < _infowindow.length; i++) { + if (_infowindowname[i] == itemname) { + _infowindowname.splice(i + 1, i + 1); + } + } + } + delete _items[itemname]; + + for (i = 0; i < _itemsname.length; i++) { + if (_itemsname[i] == itemname) { + _itemsname.splice(i + 1, i + 1); + } + } + return true; + }; + + _pGoogleMap.gmap_ondrag = function (lat, lng) { + this.on_fire_ondragstart(this, new nexacro.GoogleMapDragEventInfo("ondrag")); + }; + + _pGoogleMap.gmap_ondragenter = function (objData) { + this._fire_ondragenter(this, new nexacro.GoogleMapDragEventInfo("ondragenter")); + }; + + _pGoogleMap.gmap_ondragmove = function (lat, lng) { + this._location.latitude = lat; + this._location.longitude = lng; + + this.centerlocation.latitude = this._location.latitude; + this.centerlocation.longitude = this._location.longitude; + }; + + _pGoogleMap.gmap_ondragleave = function (objData) { + this._fire_ondragleave(this, new nexacro.GoogleMapDragEventInfo("ondragleave")); + }; + + _pGoogleMap.gmap_dragend = function (lat, lng) { + this._location.latitude = lat; + this._location.longitude = lng; + }; + + _pGoogleMap.gmap_onclick = function (lat, lng, x, y) { + this._location.latitude = lat; + this._location.longitude = lng; + this._pixel.x = x; + this._pixel.y = y; + this.kindClick = "normalclick"; + }; + + _pGoogleMap.gmap_onoverlayclick = function (fromobj, lat, lng, x, y) { + this._location.latitude = lat; + this._location.longitude = lng; + this._pixel.x = x; + this._pixel.y = y; + this.overlayfromobj = fromobj; + this.kindClick = "overlayclick"; + }; + + _pGoogleMap._on_click = function (elem, button, alt_key, ctrl_key, shift_key, canvasX, canvasY, screenX, screenY) { + }; + + _pGoogleMap._on_sys_click = function (node, e, bubble) { + var event = e.changedTouches ? e.changedTouches[0] : e; + nexacro.ajaxlog("_on_sys_click" + event.screenx + "," + event.screeny + ":" + node + ":" + event + ":" + bubble + "]"); + + if (this.$IsReadyFireEvent() && this.$isEnable() && this.enableevent) { + if (this.kindClick == "normalclick") { + this._fire_onclick(node._comp, event); + } + else { + if (this.kindClick == "overlayclick" && typeof (this.overlayfromobj) != "undefined") { + this._fire_onoverlayclick(node._comp, event); + } + } + } + return true; + }; + + _pGoogleMap._fire_onclick = function (obj, e) { + if (this.onclick._has_handlers && this.enableevent) { + this.bClicked = false; + var evt = new nexacro.GoogleMapClickEventInfo(this, obj, "onclick", e, this._location, this._pixel); + return this.onclick._fireEvent(this, evt); + } + else { + this.bClicked = true; + } + + return false; + }; + + _pGoogleMap._fire_onoverlayclick = function (obj, e) { + if (this.onoverlayclick && this.onoverlayclick._has_handlers && this.enableevent) { + var evt = new nexacro.GoogleMapClickEventInfo(this, this.overlayfromobj, "onoverlayclick", e, this._location, this._pixel); + return this.onoverlayclick._fireEvent(this, evt); + } + }; + _pGoogleMap._apply_onload = function () { + if (this.enable == false) { + } + else if (this.enable == true) { + } + + this.on_fire_onload(this); + }; + + _pGoogleMap.on_fire_onload = function (obj) { + if (this.onload && this.onload._has_handlers && this.enableevent) { + var evt = new nexacro.GoogleMapEventInfo(obj, "onload", this.centerlocation, this.viewmode, this.zoomlevel, this.addresses, this.coordinates); + return this.onload._fireEvent(this, evt); + } + }; + + _pGoogleMap._onrecvsuccess = function (objData) { + if (this.enableevent) { + if (objData.latitude == undefined || objData.latitude == null || objData.latitude == "" || objData.longitude == undefined || objData.longitude == null || objData.longitude == "") { + this.on_fire_onrecvsuccess(this, objData.eventid, objData.addresses, this.coordinates); + } + else { + this.coordinates.latitude = objData.latitude; + this.coordinates.longitude = objData.longitude; + + this.on_fire_onrecvsuccess(this, objData.eventid, objData.addresses, this.coordinates); + } + } + }; + + _pGoogleMap.on_fire_onrecvsuccess = function (obj, id, addresses, coordinates) { + if (this.enableevent) { + var evt = new nexacro.GoogleMapEventInfo(obj, id, this.centerlocation, this.viewmode, this.zoomlevel, addresses, this.coordinates); + return this.onrecvsuccess._fireEvent(this, evt); + } + }; + + _pGoogleMap._apply_onerror = function (objData) { + if (this.enableevent) { + var _objData = nexacro._executeGlobalEvalStr(objData); + this.on_fire_onerror(this, _objData); + } + }; + + _pGoogleMap.on_fire_onerror = function (obj, e) { + if (this.enableevent) { + var evt = new nexacro.GoogleMapErrorEventInfo(this, "onerror", e.errorcode, e.errormsg); + return this.onerror._fireEvent(this, evt); + } + }; + + _pGoogleMap.on_change_containerRect = function (width, height) { + var map_elem = this._map_elem; + if (map_elem) { + map_elem.setElementSize(width, height); + } + }; + + _pGoogleMap.__onDragEnter = function (obj, e) { + console.debug("__ondragEnter"); + }; + + delete _pGoogleMap; + } + + if (!nexacro.GoogleMapMarker) { + nexacro.GoogleMapMarker = function (name, obj) { + this._id = nexacro.Device.makeID(); + nexacro.Device._userCreatedObj[this._id] = this; + this.name = name || ""; + this._type = 0; + this.enableevent = true; + this.longitude = 0; + this.latitude = 0; + + this._location = { + latitude : 0, + longitude : 0 + }; + + this.text = ""; + this.visible = true; + this.draggable = false; + this.imageurl = ""; + + this.style = { + _GoogleMapMarkerID : 0, + set_parentID : function (_id) { + this._GoogleMapMarkerID = _id; + }, + align : { + _GoogleMapMarkerID : 0, + set_parentID : function (_id) { + this._GoogleMapMarkerID = _id; + }, + halign : "center", + valign : "middle", + set_halign : function (v) { + var _v = v.toString().split(" ").join("").toLowerCase(); + if (_v == "left" || _v == "center" || _v == "right") { + this.halign = _v; + var __parent = nexacro.Device._userCreatedObj[this._GoogleMapMarkerID]; + + if (__parent._map != null) { + __parent._map.setMarkerOptions(__parent._name, __parent); + } + return true; + } + else { + return false; + } + }, + set_valign : function (v) { + var _v = v.toString().split(" ").join("").toLowerCase(); + if (_v == "top" || _v == "middle" || _v == "bottom") { + this.valign = _v; + var __parent = nexacro.Device._userCreatedObj[this._GoogleMapMarkerID]; + if (__parent._map != null) { + __parent._map.setMarkerOptions(__parent._name, __parent); + } + return true; + } + else { + return false; + } + }, + $s : function (name, fnname, val) { + var fn = this[fnname]; + if (fn) { + return fn.call(this, val); + } + + return (this[name] = val); + } + }, + image : "", + + set_align : function (v) { + var v_arr = v.split(" "); + var ret = true; + if (v_arr.length != 2) { + return false; + } + ret = this.align.set_halign(v_arr[0]); + if (!ret) { + return ret; + } + ret = this.align.set_valign(v_arr[1]); + var __parent = nexacro.Device._userCreatedObj[this._GoogleMapMarkerID]; + if (__parent._map != null) { + __parent._map.setMarkerOptions(__parent._name, __parent); + } + return ret; + }, + $s : function (name, fnname, val) { + var fn = this[fnname]; + if (fn) { + return fn.call(this, val); + } + + return (this[name] = val); + } + }; + + this._map = null; + this._name = null; + + this.style.set_parentID(this._id); + this.style.align.set_parentID(this._id); + }; + var _pGoogleMapMarker = nexacro._createPrototype(nexacro._EventSinkObject, nexacro.GoogleMapMarker); + nexacro.GoogleMapMarker.prototype = _pGoogleMapMarker; + _pGoogleMapMarker._type_name = "GoogleMapMarker"; + + _pGoogleMapMarker.set_longitude = function (v) { + try { + this.longitude = Number(v.toString()); + } + catch (e) { + return false; + } + + if (this.longitude != this.longitude) { + return false; + } + + this._location.longitude = this.longitude; + + if (this._map != null) { + this._map.setMarkerOptions(this._name, this); + } + + return true; + }; + + _pGoogleMapMarker.set_latitude = function (v) { + try { + this.latitude = Number(v.toString()); + } + catch (e) { + return false; + } + + if (this.latitude != this.latitude) { + return false; + } + + this._location.latitude = this.latitude; + + if (this._map != null) { + this._map.setMarkerOptions(this._name, this); + } + + return true; + }; + + _pGoogleMapMarker.set_text = function (v) { + this.text = v; + if (this._map != null) { + this._map.setMarkerOptions(this._name, this); + } + return true; + }; + + _pGoogleMapMarker.set_draggable = function (v) { + if (v == null) { + return false; + } + else if (v) { + if (v == true || (typeof (v) == "string" && v == "true")) { + this.draggable = true; + } + else if (v == false || (typeof (v) == "string" && v == "false")) { + this.draggable = false; + } + } + else { + return false; + } + }; + + _pGoogleMapMarker.set_visible = function (v) { + if (v == true || (typeof (v) == "string" && v == "true")) { + this.visible = true; + } + else if (v == false || (typeof (v) == "string" && v == "false")) { + this.visible = false; + } + else { + return false; + } + if (this._map != null) { + this._map.setMarkerOptions(this._name, this); + } + return true; + }; + + _pGoogleMapMarker.set_imageurl = function (v) { + this._type = 1; + this.imageurl = v; + + if (this._map != null) { + this._map.setMarkerOptions(this._name, this); + } + + return true; + }; + + _pGoogleMapMarker.set_style = function (v) { + var v_arr = v.split(";"); + var i; + var _v_arr; + var ret = true; + for (i = 0; i < v_arr.length; i++) { + _v_arr = v_arr[i].split(":"); + if (_v_arr.length != 2) { + return false; + } + else if (_v_arr[0].split(" ").join("").toLowerCase() == "align") { + ret = this.style.set_align(_v_arr[1]); + } + else { + ret = false; + } + + if (!ret) { + return ret; + } + } + if (this._map != null) { + this._map.setMarkerOptions(this._name, this); + } + return ret; + }; + + delete _pGoogleMapMarker; + + nexacro._addRegisterClass("GoogleMapMarker", "nexacro.GoogleMapMarker"); + } + + + if (!nexacro.GoogleMapPolyline) { + nexacro.GoogleMapPolyline = function (name, obj) { + this._id = nexacro.Device.makeID(); + nexacro.Device._userCreatedObj[this._id] = this; + this.name = name || ""; + + this._type = 2; + this.locationdata = ""; + this.visible = true; + this.linewidth = ""; + this.linecolor = ""; + this.enableevent = true; + + this._map = null; + this._name = null; + }; + + var _pGoogleMapPolyline = nexacro._createPrototype(nexacro._EventSinkObject, nexacro.GoogleMapPolyline); + nexacro.GoogleMapPolyline.prototype = _pGoogleMapPolyline; + _pGoogleMapPolyline._type_name = "GoogleMapPolyline"; + + _pGoogleMapPolyline.set_locationdata = function (v) { + var _lat_lng_arr; + + _lat_lng_arr = v.toString().split("]"); + + if (_lat_lng_arr.length < 2) { + return false; + } + + this.locationdata = v; + + if (this._map != null) { + this._map.setPolylineOptions(this._name, this); + } + return true; + }; + + _pGoogleMapPolyline.set_visible = function (v) { + if (v == true || (typeof (v) == "string" && v == "true")) { + this.visible = true; + } + else if (v == false || (typeof (v) == "string" && v == "false")) { + this.visible = false; + } + else { + return false; + } + + if (this._map != null) { + this._map.setPolylineOptions(this._name, this); + } + return true; + }; + + _pGoogleMapPolyline.set_linewidth = function (v) { + var nWidth = 0; + try { + nWidth = Number(v.toString()); + } + catch (e) { + return false; + } + + if (nWidth != nWidth) { + return false; + } + this.linewidth = nWidth; + + if (this._map != null) { + this._map.setPolylineOptions(this._name, this); + } + + return true; + }; + + _pGoogleMapPolyline.set_linecolor = function (v) { + this.linecolor = v; + return true; + }; + + delete _pGoogleMapPolyline; + } + + + if (!nexacro.GoogleMapPolygon) { + nexacro.GoogleMapPolygon = function (name, obj) { + this._id = nexacro.Device.makeID(); + nexacro.Device._userCreatedObj[this._id] = this; + this.name = name || ""; + + this._type = 3; + this.locationdata = ""; + this.visible = true; + this.linewidth = ""; + this.linecolor = ""; + this.fillbrushcolor = ""; + this.enableevent = true; + + this._map = null; + this._name = null; + }; + + var _pGoogleMapPolygon = nexacro._createPrototype(nexacro._EventSinkObject, nexacro.GoogleMapPolygon); + nexacro.GoogleMapPolygon.prototype = _pGoogleMapPolygon; + _pGoogleMapPolygon._type_name = "GoogleMapPolygon"; + + _pGoogleMapPolygon.set_locationdata = function (v) { + var _lat_lng_arr; + + _lat_lng_arr = v.toString().split("]"); + + if (_lat_lng_arr.length < 2) { + return false; + } + + this.locationdata = v; + if (this._map != null) { + this._map.setPolygonOptions(this._name, this); + } + return true; + }; + + _pGoogleMapPolygon.set_visible = function (v) { + if (v == true || (typeof (v) == "string" && v == "true")) { + this.visible = true; + } + else if (v == false || (typeof (v) == "string" && v == "false")) { + this.visible = false; + } + else { + return false; + } + + if (this._map != null) { + this._map.setPolygonOptions(this._name, this); + } + return true; + }; + + _pGoogleMapPolygon.set_linewidth = function (v) { + var nWidth = 0; + try { + nWidth = Number(v.toString()); + } + catch (e) { + return false; + } + + if (nWidth != nWidth) { + return false; + } + this.linewidth = nWidth; + + if (this._map != null) { + this._map.setPolygonOptions(this._name, this); + } + + return true; + }; + + _pGoogleMapPolygon.set_linecolor = function (v) { + this.linecolor = v; + return true; + }; + + _pGoogleMapPolygon.set_fillbrushcolor = function (v) { + this.fillbrushcolor = v; + return true; + }; + + delete _pGoogleMapPolygon; + } + + if (!nexacro.GoogleMapCircle) { + nexacro.GoogleMapCircle = function (name, obj) { + this._id = nexacro.Device.makeID(); + nexacro.Device._userCreatedObj[this._id] = this; + this.name = name || ""; + this._type = 4; + this.longitude = 0; + this.latitude = 0; + this.enableevent = true; + this.visible = true; + + this._map = null; + this._name = null; + this.radius = 100; + }; + var _pGoogleMapCircle = nexacro._createPrototype(nexacro._EventSinkObject, nexacro.GoogleMapCircle); + nexacro.GoogleMapCircle.prototype = _pGoogleMapCircle; + _pGoogleMapCircle._type_name = "GoogleCircle"; + + _pGoogleMapCircle.set_longitude = function (v) { + try { + this.longitude = Number(v.toString()); + } + catch (e) { + return false; + } + + if (this.longitude != this.longitude) { + return false; + } + + if (this._map != null) { + this._map.setCircleOptions(this._name, this); + } + return true; + }; + + _pGoogleMapCircle.set_latitude = function (v) { + try { + this.latitude = Number(v.toString()); + } + catch (e) { + return false; + } + + if (this.latitude != this.latitude) { + return false; + } + + if (this._map != null) { + this._map.setCircleOptions(this._name, this); + } + return true; + }; + + _pGoogleMapCircle.set_visible = function (v) { + if (v == true || (typeof (v) == "string" && v == "true")) { + this.visible = true; + } + else if (v == false || (typeof (v) == "string" && v == "false")) { + this.visible = false; + } + else { + return false; + } + + if (this._map != null) { + this._map.setCircleOptions(this._name, this); + } + return true; + }; + + _pGoogleMapCircle.set_radius = function (v) { + if (v == null) { + this.radius = 100; + } + else { + this.radius = Number(v.toString()); + } + }; + + delete _pGoogleMapCircle; + } +} +else { + if (!nexacro.GoogleMap) { + nexacro.GoogleMap = function (id, left, top, width, height, right, bottom, parent) { + nexacro.Component.call(this, id, left, top, width, height, right, bottom, parent); + + this.on_fire_onclick = function () { + }; + }; + var _pGoogleMap = nexacro._createPrototype(nexacro.Component, nexacro.GoogleMap); + nexacro.GoogleMap.prototype = _pGoogleMap; + + _pGoogleMap._type = "GoogleMap"; + _pGoogleMap._type_name = "GoogleMap"; + + _pGoogleMap.showzoom = false; + _pGoogleMap.language = undefined; + _pGoogleMap.region = undefined; + + _pGoogleMap.set_viewmode = function (v) { + }; + _pGoogleMap.set_zoomlevel = function (v) { + }; + _pGoogleMap.set_showzoom = function (v) { + v = nexacro._toBoolean(v); + this.showzoom = v; + }; + + _pGoogleMap.set_shownavigator = function (v) { + }; + _pGoogleMap.set_showcompass = function (v) { + }; + _pGoogleMap.set_showmapscale = function (v) { + }; + _pGoogleMap.set_centerlocation = function (v) { + }; + _pGoogleMap.set_showmode = function (v) { + }; + _pGoogleMap.set_zoomalign = function (v) { + }; + _pGoogleMap.set_navigatoralign = function (v) { + }; + _pGoogleMap.set_mapscalealign = function (v) { + }; + _pGoogleMap.set_draggable = function (v) { + }; + _pGoogleMap.set_apikey = function (v) { + this.apikey = v; + }; + + _pGoogleMap.set_language = nexacro._emptyFn; + _pGoogleMap.set_region = nexacro._emptyFn; + + _pGoogleMap.load = function (bUseSensor, nLatitude, nLongitude, constViewMode, nZoomLevel) { + }; + _pGoogleMap.setMarkerLoc = function (strItemID, lat, lng) { + }; + _pGoogleMap.getAddress = function (nLatitude, nLongitude, nMaxResultCount, strLocale) { + }; + _pGoogleMap.getCoordinates = function (straddress) { + }; + _pGoogleMap.addItem = function (strItemID, objComponent) { + }; + _pGoogleMap.setMarkerOptions = function (markName, markObj) { + }; + _pGoogleMap.addMarker = function (elem, markName, markObj) { + }; + _pGoogleMap.addPolyline = function (elem, polylineName, polylineObj) { + }; + _pGoogleMap.removeItem = function (strItemID) { + }; + _pGoogleMap._removeItem = function (elem, itemname) { + }; + + delete _pGoogleMap; + } + + + if (!nexacro.GoogleMapMarker) { + nexacro.GoogleMapMarker = function (name, obj) { + }; + + var _pGoogleMapMarker = nexacro.GoogleMapMarker.prototype = nexacro._createPrototype(nexacro._EventSinkObject, nexacro.GoogleMapMarker); + _pGoogleMapMarker._type_name = "GoogleMapMarker"; + + _pGoogleMapMarker.set_latitude = function (v) { + }; + _pGoogleMapMarker.set_longitude = function (v) { + }; + _pGoogleMapMarker.set_text = function (v) { + }; + _pGoogleMapMarker.set_draggable = function (v) { + }; + _pGoogleMapMarker.set_visible = function (v) { + }; + _pGoogleMapMarker.set_style = function (v) { + }; + + delete _pGoogleMapMarker; + } + + + if (!nexacro.GoogleMapPolyline) { + nexacro.GoogleMapPolyline = function (name, obj) { + }; + + var _pGoogleMapPolyline = nexacro.GoogleMapPolyline.prototype = nexacro._createPrototype(nexacro._EventSinkObject, nexacro.GoogleMapPolyline); + _pGoogleMapPolyline._type_name = "GoogleMapPolyline"; + + _pGoogleMapPolyline.set_locationdata = function (v) { + }; + _pGoogleMapPolyline.set_linewidth = function (v) { + }; + _pGoogleMapPolyline.set_linecolor = function (v) { + }; + _pGoogleMapPolyline.set_visible = function (v) { + }; + + delete _pGoogleMapPolyline; + } + + if (!nexacro.GoogleMapPolygon) { + nexacro.GoogleMapPolygon = function (name, obj) { + }; + + var _pGoogleMapPolygon = nexacro.GoogleMapPolygon.prototype = nexacro._createPrototype(nexacro._EventSinkObject, nexacro.GoogleMapPolygon); + _pGoogleMapPolygon._type_name = "GoogleMapPolygon"; + + _pGoogleMapPolygon.set_locationdata = function (v) { + }; + _pGoogleMapPolygon.set_linewidth = function (v) { + }; + _pGoogleMapPolygon.set_linecolor = function (v) { + }; + _pGoogleMapPolygon.set_fillbrushcolor = function (v) { + }; + _pGoogleMapPolygon.set_visible = function (v) { + }; + + delete _pGoogleMapPolygon; + } + + + if (!nexacro.GoogleMapCircle) { + nexacro.GoogleMapCircle = function (name, obj) { + }; + + var _pGoogleMapCircle = nexacro.GoogleMapCircle.prototype = nexacro._createPrototype(nexacro._EventSinkObject, nexacro.GoogleMapCircle); + _pGoogleMapCircle._type_name = "GoogleMapCircle"; + + _pGoogleMapCircle.set_latitude = function (v) { + }; + _pGoogleMapCircle.set_longitude = function (v) { + }; + _pGoogleMapCircle.set_radius = function (v) { + }; + _pGoogleMapCircle.set_visible = function (v) { + }; + + delete _pGoogleMapCircle; + } +} diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/nexacro17lib/component/ComComp/GroupBox.js b/nexacro-spring/src/main/webapp/deploy/_web_/nexacro17lib/component/ComComp/GroupBox.js new file mode 100644 index 0000000..fc91078 --- /dev/null +++ b/nexacro-spring/src/main/webapp/deploy/_web_/nexacro17lib/component/ComComp/GroupBox.js @@ -0,0 +1,322 @@ +//============================================================================== +// +// TOBESOFT Co., Ltd. +// Copyright 2017 TOBESOFT Co., Ltd. +// All Rights Reserved. +// +// NOTICE: TOBESOFT permits you to use, modify, and distribute this file +// in accordance with the terms of the license agreement accompanying it. +// +// Readme URL: http://www.nexacro.co.kr/legal/nexacro17-public-license-readme-1.1.html +// +//============================================================================== + +if (!nexacro.GroupBox) { + nexacro.GroupBox = function (id, left, top, width, height, right, bottom, minwidth, maxwidth, minheight, maxheight, parent) { + nexacro.Component.call(this, id, left, top, width, height, right, bottom, minwidth, maxwidth, minheight, maxheight, parent); + }; + + var _pGroupBox = nexacro._createPrototype(nexacro.Component, nexacro.GroupBox); + nexacro.GroupBox.prototype = _pGroupBox; + _pGroupBox._type_name = "GroupBox"; + + + _pGroupBox._titlecontrol = null; + _pGroupBox._boxcontrol = null; + + + _pGroupBox.titlealign = "topleft"; + _pGroupBox.titlegap = undefined; + _pGroupBox.tabstop = false; + + + _pGroupBox._title_adjust_width = 8; + + + _pGroupBox._is_focus_accept = false; + _pGroupBox.accessibilityrole = "groupbox"; + + + _pGroupBox._event_list = { + "onlbuttondown" : 1, + "onlbuttonup" : 1, + "onmouseenter" : 1, + "onmouseleave" : 1, + "onmousemove" : 1, + "onmove" : 1, + "onsize" : 1, + "onmousedown" : 1, + "onmouseup" : 1, + "oncontextmenu" : 1, + "ontouchstart" : 1, + "ontouchmove" : 1, + "ontouchend" : 1 + }; + + + _pGroupBox._accessibility_role = "groupbox"; + + _pGroupBox.on_create_contents = function () { + var control_elem = this.getElement(); + if (control_elem) { + var boxcontrol = this._boxcontrol = new nexacro.Static("groupboxcontents", 0, 0, 0, 0, null, null, null, null, null, null, this); + boxcontrol._setControl(); + boxcontrol.createComponent(true); + + var titlecontrol = this._titlecontrol = new nexacro._IconText("groupboxtitle", 0, 0, 0, 0, null, null, null, null, null, null, this); + titlecontrol._setControl(); + titlecontrol.set_text(this._displaytext); + titlecontrol.createComponent(true); + } + }; + + _pGroupBox.on_created_contents = function (win) { + this._recalcLayout(); + + var boxcontrol = this._boxcontrol; + if (boxcontrol) { + boxcontrol.on_created(win); + } + + var titlecontrol = this._titlecontrol; + if (titlecontrol) { + titlecontrol.on_created(win); + } + }; + + _pGroupBox.on_destroy_contents = function () { + if (this._boxcontrol) { + this._boxcontrol.destroy(); + this._boxcontrol = null; + } + + if (this._titlecontrol) { + this._titlecontrol.destroy(); + this._titlecontrol = null; + } + }; + + _pGroupBox.on_create_contents_command = function () { + this._recalcLayout(); + + var boxcontrol = this._boxcontrol; + var titlecontrol = this._titlecontrol; + + var str = ""; + if (boxcontrol) { + str += boxcontrol.createCommand(); + } + if (titlecontrol) { + str += titlecontrol.createCommand(); + } + + return str; + }; + + _pGroupBox.on_attach_contents_handle = function (win) { + var boxcontrol = this._boxcontrol; + var titlecontrol = this._titlecontrol; + + if (boxcontrol) { + boxcontrol.attachHandle(win); + } + + if (titlecontrol) { + titlecontrol.attachHandle(win); + } + }; + + _pGroupBox.on_change_containerRect = function () { + if (this._is_created_contents) { + this._recalcLayout(); + } + }; + + _pGroupBox.on_change_containerPos = function () { + }; + + _pGroupBox.on_get_prop_tabstop = function () { + if (nexacro._enableaccessibility) { + var accessibility = this.accessibility; + if (accessibility && accessibility.enable && accessibility.role == "link") { + return true; + } + } + return false; + }; + + _pGroupBox._isFocusAcceptable = function () { + return nexacro._enableaccessibility; + }; + + _pGroupBox.on_apply_prop_enable = function (v) { + var boxcontrol = this._boxcontrol; + if (boxcontrol) { + boxcontrol.set_enable(v); + } + + var titlecontrol = this._titlecontrol; + if (titlecontrol) { + titlecontrol.set_enable(v); + } + }; + + _pGroupBox.set_titlealign = function (v) { + var titlealign_enum = ["topleft", "topcenter", "topright", "lefttop", "leftcenter", "leftbottom", "righttop", "rightcenter", "rightbottom", "bottomleft", "bottomcenter", "bottomright"]; + if (titlealign_enum.indexOf(v) == -1) { + return; + } + + if (this.titlealign != v) { + this.titlealign = v; + this.on_apply_titlealign(v); + } + }; + + _pGroupBox.on_apply_titlealign = function () { + this._recalcLayout(); + }; + + _pGroupBox.set_titlegap = function (v) { + if (v !== undefined) { + if (isNaN(v = +v) || v < 0) { + return; + } + } + + if (this.titlegap != v) { + this.titlegap = v; + this.on_apply_titlegap(v); + } + }; + + _pGroupBox.on_apply_titlegap = function () { + this._recalcLayout(); + }; + + _pGroupBox.on_apply_text = function (text) { + var titlecontrol = this._titlecontrol; + if (titlecontrol) { + titlecontrol.set_text(text); + + this._recalcLayout(); + } + }; + + _pGroupBox.on_apply_font = function (font) { + nexacro.Component.prototype.on_apply_font.call(this, font); + + this._recalcLayout(); + }; + + _pGroupBox.on_apply_prop_cssclass = function () { + var titlecontrol = this._titlecontrol; + if (titlecontrol) { + titlecontrol.on_apply_cssclass(); + } + + var boxcontrol = this._boxcontrol; + if (boxcontrol) { + boxcontrol.on_apply_cssclass(); + } + this._recalcLayout(); + }; + + _pGroupBox._recalcLayout = function () { + var control_elem = this.getElement(); + if (control_elem && this._is_created_contents) { + var titlecontrol = this._titlecontrol; + var boxcontrol = this._boxcontrol; + + var client_w = this._getClientWidth(); + var client_h = this._getClientHeight(); + + var titlealign = this.titlealign; + var titlegap = this.titlegap; + if (!titlegap) { + titlegap = 10; + } + + var title_size = titlecontrol._on_getFitSize(); + var title_w = title_size[0] + this._title_adjust_width; + var title_h = title_size[1]; + + var title_l, title_t; + var box_l, box_t, box_w, box_h; + + if (titlealign.indexOf("top") == 0) { + box_l = 0; + box_t = title_h / 2; + box_w = client_w; + box_h = client_h - (title_h / 2); + + title_t = 0; + if (titlealign == "topleft") { + title_l = titlegap; + } + else if (titlealign == "topcenter") { + title_l = (client_w / 2) - (title_w / 2); + } + else if (titlealign == "topright") { + title_l = client_w - title_w - titlegap; + } + } + else if (titlealign.indexOf("left") == 0) { + box_l = title_w / 2; + box_t = 0; + box_w = client_w - (title_w / 2); + box_h = client_h; + + title_l = 0; + if (titlealign == "lefttop") { + title_t = titlegap; + } + else if (titlealign == "leftcenter") { + title_t = (client_h / 2) - (title_h / 2); + } + else if (titlealign == "leftbottom") { + title_t = client_h - title_h - titlegap; + } + } + else if (titlealign.indexOf("right") == 0) { + box_l = 0; + box_t = 0; + box_w = client_w - (title_w / 2); + box_h = client_h; + + title_l = client_w - title_w; + if (titlealign == "righttop") { + title_t = titlegap; + } + else if (titlealign == "rightcenter") { + title_t = (client_h / 2) - (title_h / 2); + } + else if (titlealign == "rightbottom") { + title_t = client_h - title_h - titlegap; + } + } + else if (titlealign.indexOf("bottom") == 0) { + box_l = 0; + box_t = 0; + box_w = client_w; + box_h = client_h - (title_h / 2); + + title_t = client_h - title_h; + if (titlealign == "bottomleft") { + title_l = titlegap; + } + else if (titlealign == "bottomcenter") { + title_l = (client_w / 2) - (title_w / 2); + } + else if (titlealign == "bottomright") { + title_l = client_w - title_w - titlegap; + } + } + + titlecontrol.move(title_l, title_t, title_w, title_h); + boxcontrol.move(box_l, box_t, box_w, box_h); + } + }; + + delete _pGroupBox; +} diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/nexacro17lib/component/ComComp/ImageViewer.js b/nexacro-spring/src/main/webapp/deploy/_web_/nexacro17lib/component/ComComp/ImageViewer.js new file mode 100644 index 0000000..7defde6 --- /dev/null +++ b/nexacro-spring/src/main/webapp/deploy/_web_/nexacro17lib/component/ComComp/ImageViewer.js @@ -0,0 +1,765 @@ +//============================================================================== +// +// TOBESOFT Co., Ltd. +// Copyright 2017 TOBESOFT Co., Ltd. +// All Rights Reserved. +// +// NOTICE: TOBESOFT permits you to use, modify, and distribute this file +// in accordance with the terms of the license agreement accompanying it. +// +// Readme URL: http://www.nexacro.co.kr/legal/nexacro17-public-license-readme-1.1.html +// +//============================================================================== + +if (!nexacro.ImageViewer) { + nexacro.ImageViewer = function (id, left, top, width, height, right, bottom, minwidth, maxwidth, minheight, maxheight, parent) { + nexacro.Component.call(this, id, left, top, width, height, right, bottom, minwidth, maxwidth, minheight, maxheight, parent); + }; + + var _pImageViewer = nexacro._createPrototype(nexacro.Component, nexacro.ImageViewer); + nexacro.ImageViewer.prototype = _pImageViewer; + _pImageViewer._type_name = "ImageViewer"; + + + _pImageViewer._image = null; + _pImageViewer._imagetext = null; + + + _pImageViewer.text = ""; + _pImageViewer.image = undefined; + _pImageViewer.imagealign = "center middle"; + _pImageViewer.imagewidth = 0; + _pImageViewer.imageheight = 0; + _pImageViewer.stretch = "none"; + + + _pImageViewer.accessibilityrole = "image"; + + _pImageViewer._event_list = { + "onclick" : 1, + "ondblclick" : 1, + "onkillfocus" : 1, + "onsetfocus" : 1, + "oninput" : 1, + "onkeydown" : 1, + "onkeyup" : 1, + "onlbuttondown" : 1, + "onlbuttonup" : 1, + "onrbuttondown" : 1, + "onrbuttonup" : 1, + "onmousedown" : 1, + "onmouseup" : 1, + "onmouseenter" : 1, + "onmouseleave" : 1, + "onmousemove" : 1, + "onmousewheel" : 1, + "ondrag" : 1, + "ondragenter" : 1, + "ondragleave" : 1, + "ondragmove" : 1, + "ondrop" : 1, + "onload" : 1, + "onmove" : 1, + "onsize" : 1, + "oncontextmenu" : 1, + "ontouchstart" : 1, + "ontouchmove" : 1, + "ontouchend" : 1 + }; + + _pImageViewer.on_create_contents = function () { + var control_elem = this.getElement(); + if (control_elem) { + if (this.image) { + this._createImageControl(); + } + + if (this._displaytext) { + this._createImageTextControl(); + } + } + }; + + _pImageViewer.on_created_contents = function (win) { + this.on_apply_stretch(); + + if (this._image) { + this._image.on_created(win); + } + + if (this._imagetext) { + this._imagetext.on_created(win); + } + }; + + _pImageViewer.on_create_contents_command = function () { + this.on_apply_stretch(); + + var str = ""; + if (this._image) { + str += this._image.createCommand(); + } + + if (this._imagetext) { + str += this._imagetext.createCommand(); + } + + return str; + }; + + _pImageViewer.on_attach_contents_handle = function (win) { + if (this._image) { + this._image.attachHandle(win); + } + + if (this._imagetext) { + this._imagetext.attachHandle(win); + } + }; + + _pImageViewer.on_destroy_contents = function () { + if (this._image) { + this._image.destroy(); + this._image = null; + } + + if (this._imagetext) { + this._imagetext.destroy(); + this._imagetext = null; + } + }; + + _pImageViewer.on_change_containerRect = function (width, height) { + if (this._image) { + this._image.resize(width, height); + } + + if (this._imagetext) { + this._imagetext.resize(width, height); + } + }; + + _pImageViewer._on_getFitSize = function () { + var elem = this.getElement(); + if (elem) { + var text_size = [0, 0]; + var img_size = [0, 0]; + + var total_w = 0; + var total_h = 0; + + var border = this._getCurrentStyleBorder(); + if (border) { + total_w += border._getBorderWidth(); + total_h += border._getBorderHeight(); + } + + var padding = this._getCurrentStylePadding(); + if (padding) { + total_w += padding.left + padding.right; + total_h += padding.top + padding.bottom; + } + + var text = this.text; + if (text && this._imagetext) { + text_size = this._imagetext._on_getFitSize(); + } + + var image = this._image; + if (image) { + img_size = image.getOriginalImageSize(); + } + + total_w += Math.ceil(Math.max(text_size[0], img_size[0])); + total_h += Math.ceil(Math.max(text_size[1], img_size[1])); + + return [total_w, total_h]; + } + + return [this._adjust_width, this._adjust_height]; + }; + + _pImageViewer.set_imagewidth = nexacro._emptyFn; + _pImageViewer.set_imageheight = nexacro._emptyFn; + + _pImageViewer.on_apply_text = function () { + var text = this._displaytext; + var text_control = this._imagetext; + var control_elem = this.getElement(); + if (control_elem && text) { + this._createImageTextControl(false); + } + + if (text_control) { + text_control.set_text(text); + if (!text) { + text_control.set_visible(false); + } + else { + text_control.set_visible(true); + } + } + }; + + _pImageViewer.set_image = function (v) { + v = this._convertImageValue(v); + if (this.image != v) { + this.image = v; + this.on_apply_image(); + } + }; + + _pImageViewer.on_apply_image = function () { + var control_elem = this.getElement(); + if (control_elem && this.image) { + if (!this._image) { + this._createImageControl(false); + } + } + + if (this._image) { + this._image.set_image(this.image); + } + }; + + _pImageViewer.set_stretch = function (v) { + var stretch_enum = ["none", "fit", "fixaspectratio"]; + if (stretch_enum.indexOf(v) == -1) { + return; + } + + if (this.stretch != v) { + this.stretch = v; + this.on_apply_stretch(); + } + }; + + _pImageViewer.on_apply_stretch = function () { + var image = this._image; + if (image) { + image.set_stretch(this.stretch); + } + }; + + _pImageViewer.set_imagealign = function (v) { + if (this.imagealign != v) { + this.imagealign = v; + this.on_apply_imagealign(); + } + }; + + _pImageViewer.on_apply_imagealign = function () { + var image = this._image; + if (image) { + image.set_imagealign(this.imagealign); + } + }; + + _pImageViewer.on_apply_textAlign = function (halign) { + if (this._imagetext) { + this._imagetext.set_textAlign(halign); + } + }; + + _pImageViewer.on_apply_verticalAlign = function (valign) { + if (this._imagetext) { + this._imagetext.set_verticalAlign(valign); + } + }; + + _pImageViewer.getImageCount = function () { + var image_control = this._image; + if (image_control) { + return image_control.getImageCount(); + } + + return 0; + }; + + _pImageViewer.setImageIndex = function (nIndex) { + var image_control = this._image; + if (image_control) { + image_control.setImageIndex(parseInt(nIndex) | 0); + } + }; + + _pImageViewer._on_element_swap = function () { + var control_elem = this.getElement(); + if (control_elem) { + var text_elem = this._imagetext ? this._imagetext.getElement() : null; + var image_elem = this._image ? this._image.getElement() : null; + if (text_elem && image_elem) { + control_elem.sendToBackElement(image_elem); + } + } + }; + + _pImageViewer._on_image_onclick = function (obj, e) { + return this.on_fire_onclick(e.button, e.altkey, e.ctrlkey, e.shiftkey, e.screenx, e.screeny, e.canvasx, e.canvasy, e.clientx, e.clienty, this, obj); + }; + + _pImageViewer.on_fire_onload = function (obj, url) { + if (this.onload && this.onload._has_handlers) { + var evt = new nexacro.LoadEventInfo(obj, "onload", url); + var ret = this.onload._fireEvent(this, evt); + return ret; + } + return true; + }; + + _pImageViewer.on_fire_sys_onkeydown = function (key_code, alt_key, ctrl_key, shift_key, from_comp, from_refer_comp) { + var ret = nexacro.Component.prototype.on_fire_sys_onkeydown.call(this, key_code, alt_key, ctrl_key, shift_key, from_comp, from_refer_comp); + var window = this._getWindow(); + this._cur_ldown_elem = window._cur_ldown_elem || window._keydown_element; + return ret; + }; + + _pImageViewer.on_fire_sys_onkeyup = function (key_code, alt_key, ctrl_key, shift_key, from_comp, from_refer_comp) { + var ret = nexacro.Component.prototype.on_fire_sys_onkeyup.call(this, key_code, alt_key, ctrl_key, shift_key, from_comp, from_refer_comp); + var window = this._getWindow(); + var elem = window._cur_ldown_elem || window._keydown_element; + + if (!this._is_subcontrol) { + if (elem == this._cur_ldown_elem) { + if (key_code == 13 || key_code == 32) { + this.on_fire_onclick("none", alt_key, ctrl_key, shift_key, -1, -1, -1, -1, -1, -1, this, this); + } + } + } + this._cur_ldown_elem = null; + return ret; + }; + + _pImageViewer._createImageControl = function (bCreateOnly) { + var image_control = this._image; + if (!image_control) { + image_control = this._image = new nexacro._ImageAreaControl("imagearea", 0, 0, this._getClientWidth(), this._getClientHeight(), null, null, null, null, null, null, this); + + image_control.set_image(this.image); + image_control.set_imagealign(this.imagealign); + image_control.set_stretch(this.stretch); + image_control._setNotifyFn(this, this._setImageSize); + + image_control.createComponent(bCreateOnly); + + image_control._setEventHandler("onclick", this._on_image_onclick, this); + } + + return image_control; + }; + + _pImageViewer._createImageTextControl = function (bCreateOnly) { + var imagetext_control = this._imagetext; + if (!imagetext_control) { + imagetext_control = this._imagetext = new nexacro.Static("imagetext", 0, 0, this._getClientWidth(), this._getClientHeight(), null, null, null, null, null, null, this); + imagetext_control._setControl(); + imagetext_control.set_accessibilityrole("image"); + + imagetext_control.set_text(this._displaytext); + + imagetext_control.createComponent(bCreateOnly); + + imagetext_control._setEventHandler("onclick", this._on_image_onclick, this); + } + + return imagetext_control; + }; + + _pImageViewer._convertImageValue = function (v) { + if (v) { + if (v instanceof nexacro.Image) { + v = v._base64str; + } + else { + v = v.toString(); + + var isBase64 = nexacro._checkBase64String(v); + if (isBase64) { + if (v.substring(0, 10).toLowerCase() == "data:image") { + if (v.substring(0, 17).toLowerCase() != "data:image;base64") { + var comma_idx = v.indexOf(","); + if (comma_idx > -1) { + var tmp = v.slice(comma_idx + 1, v.legnth); + v = "data:image;base64," + tmp; + } + } + } + else { + v = "data:image;base64," + v; + } + } + } + } + + return v; + }; + + _pImageViewer._setImageSize = function (width, height) { + this.imagewidth = width; + this.imageheight = height; + }; + + delete _pImageViewer; + + nexacro._ImageAreaControl = function (id, left, top, width, height, right, bottom, minwidth, maxwidth, minheight, maxheight, parent) { + nexacro.Component.call(this, id, left, top, width, height, right, bottom, minwidth, maxwidth, minheight, maxheight, parent); + }; + + var _pImageAreaControl = nexacro._createPrototype(nexacro.Component, nexacro._ImageAreaControl); + nexacro._ImageAreaControl.prototype = _pImageAreaControl; + _pImageAreaControl._type_name = "ImageAreaControl"; + _pImageAreaControl._is_subcontrol = true; + + + _pImageAreaControl.image = ""; + _pImageAreaControl.imagealign = "center middle"; + _pImageAreaControl.imagewidth = 0; + _pImageAreaControl.imageheight = 0; + _pImageAreaControl.stretch = "none"; + + + _pImageAreaControl._img_elem = null; + _pImageAreaControl._imagealign = null; + _pImageAreaControl._notifyTarget = null; + _pImageAreaControl._notifyFn = null; + _pImageAreaControl._orgwidth = 0; + _pImageAreaControl._orgheight = 0; + + + _pImageAreaControl._is_simple_control = true; + _pImageAreaControl._is_focus_accept = false; + + _pImageAreaControl.on_create_contents = function () { + var control_elem = this.getElement(); + if (control_elem) { + this._img_elem = new nexacro.ImageElement(control_elem, "image"); + } + }; + + _pImageAreaControl.on_created_contents = function (win) { + if (this._img_elem) { + this._img_elem.create(win); + } + + this.on_apply_image(); + }; + + _pImageAreaControl.on_create_contents_command = function () { + var ret = ""; + var img_elem = this._img_elem; + if (img_elem) { + this.on_apply_image(); + + ret = img_elem.createCommand(); + } + + return ret; + }; + + _pImageAreaControl.on_attach_contents_handle = function (win) { + var img_elem = this._img_elem; + if (img_elem) { + img_elem.attachHandle(win); + } + }; + + _pImageAreaControl.on_destroy_contents = function () { + if (this._img_elem) { + this._img_elem.destroy(); + this._img_elem = null; + } + + this._imagealign = null; + this._notifyTarget = null; + this._notifyFn = null; + }; + + _pImageAreaControl.on_change_containerRect = function () { + if (this._img_elem) { + this._updateElementPositions(); + } + }; + + _pImageAreaControl.set_image = function (v) { + v = this._convertImageValue(v); + if (this.image != v) { + this.image = v; + this.on_apply_image(); + } + }; + + _pImageAreaControl.on_apply_image = function () { + this._load_image(); + }; + + _pImageAreaControl.set_imagealign = function (v) { + if (this.imagealign != v) { + this.imagealign = v; + this.on_apply_imagealign(); + } + }; + + _pImageAreaControl.on_apply_imagealign = function () { + this._imagealign = nexacro.AlignObject(this.imagealign); + + if (this._img_elem) { + this._updateElementPositions(); + } + }; + + _pImageAreaControl.set_stretch = function (v) { + if (this.stretch != v) { + this.stretch = v; + this.on_apply_stretch(); + } + }; + + _pImageAreaControl.on_apply_stretch = function () { + this._updateElementPositions(); + }; + + _pImageAreaControl._convertImageValue = function (v) { + if (v) { + if (v instanceof nexacro.Image) { + v = v._base64str; + } + else { + v = v.toString(); + + var isBase64 = nexacro._checkBase64String(v); + if (isBase64) { + if (v.substring(0, 10).toLowerCase() == "data:image") { + if (v.substring(0, 17).toLowerCase() != "data:image;base64") { + var comma_idx = v.indexOf(","); + if (comma_idx > -1) { + var tmp = v.slice(comma_idx + 1, v.legnth); + v = "data:image;base64," + tmp; + } + } + } + else { + v = "data:image;base64," + v; + } + } + } + } + + return v; + }; + + _pImageAreaControl._on_load_image = function (imgurl, w, h) { + this._orgwidth = w; + this._orgheight = h; + + this._setImageSize(w, h); + this._load_image_completed(imgurl); + }; + + _pImageAreaControl._load_image = function () { + var control_elem = this.getElement(); + if (control_elem) { + var v = nexacro._toString(this.image); + var img_elem = this._img_elem; + if (v) { + if (this._getImageType() == "url") { + v = nexacro._getURIValue(v); + v = nexacro._getImageLocation(v, this._getRefFormBaseUrl()); + } + + var image_size = nexacro._getImageSize(v, this._on_load_image, this, undefined, this.image); + if (image_size) { + this._orgwidth = image_size.width; + this._orgheight = image_size.height; + this._load_image_completed(v); + } + } + else { + if (img_elem) { + img_elem.setElementVisible(false); + img_elem.setElementImage(""); + this._updateElementPositions(); + this._setImageSize(0, 0); + } + } + } + }; + + _pImageAreaControl._load_image_completed = function (url) { + var img_elem = this._img_elem; + if (img_elem) { + var bChange = true; + var v = this.image; + if (!v) { + img_elem.setElementVisible(false); + img_elem.setElementImage(""); + this._updateElementPositions(); + this._setImageSize(0, 0); + } + else { + v = v.toString(); + if (this._getImageType() == "url") { + if (v.substring(0, 4).toLowerCase() == "url(") { + v = v.substring(5, v.length - 2); + } + + v = nexacro._getImageLocation(v, this._getRefFormBaseUrl()); + if (v != url) { + bChange = false; + nexacro._releaseImageUrl(url); + } + } + + if (bChange) { + url = nexacro.UrlObject(url); + img_elem.setElementVisible(true); + img_elem.setElementImage(url); + + this._updateElementPositions(); + } + } + } + var imageviewer = this.parent; + if (imageviewer instanceof nexacro.ImageViewer) { + imageviewer._on_element_swap(); + imageviewer.on_fire_onload(imageviewer, url); + } + }; + + _pImageAreaControl._updateElementPositions = function () { + var img_elem = this._img_elem; + if (img_elem) { + this._recalcImageSize(); + + var halign = this._imagealign ? this._imagealign.halign : "center"; + var valign = this._imagealign ? this._imagealign.valign : "middle"; + + var client_width = this._getClientWidth(); + var client_height = this._getClientHeight(); + + var imgw = this.imagewidth; + var imgh = this.imageheight; + + var imgpos_x, imgpos_y; + + switch (halign) { + case "left": + imgpos_x = 0; + break; + case "right": + imgpos_x = client_width - imgw; + break; + default: + imgpos_x = Math.floor((client_width - imgw) / 2); + break; + } + + switch (valign) { + case "top": + imgpos_y = 0; + break; + case "bottom": + imgpos_y = client_height - imgh; + break; + default: + imgpos_y = Math.floor((client_height - imgh) / 2); + break; + } + + img_elem.setElementPosition(imgpos_x, imgpos_y); + img_elem.setElementSize(imgw, imgh); + } + }; + + _pImageAreaControl._recalcImageSize = function () { + var stretch = this.stretch; + if (!stretch) { + return; + } + + var width = 0, height = 0; + var image_width = 0, image_height = 0; + var span_width = this._getClientWidth(); + var span_height = this._getClientHeight(); + + if (stretch == "fit") { + width = span_width; + height = span_height; + } + else if (stretch == "fixaspectratio") { + image_width = this._orgwidth; + image_height = this._orgheight; + + if (image_width || image_height) { + var widthPer = image_width ? (span_width / image_width) : image_width; + var heightPer = image_height ? (span_height / image_height) : image_height; + + if (widthPer <= heightPer) { + width = span_width; + height = Math.floor(image_height * widthPer); + } + else { + width = Math.floor(image_width * heightPer); + height = span_height; + } + } + else { + width = image_width; + height = image_height; + } + } + else { + width = this._orgwidth; + height = this._orgheight; + } + + this._setImageSize(width, height); + }; + + _pImageAreaControl._setNotifyFn = function (target, fn) { + this._notifyTarget = target; + this._notifyFn = fn; + }; + + _pImageAreaControl._setImageSize = function (w, h) { + this.imagewidth = w; + this.imageheight = h; + + if (this._notifyTarget && this._notifyFn) { + this._notifyFn.call(this._notifyTarget, w, h); + } + }; + + _pImageAreaControl._getImageType = function () { + var ret = "url"; + var v = this.image; + if (v) { + if (v.substring(0, 17).toLowerCase() == "data:image;base64") { + ret = "base64"; + } + } + + return ret; + }; + + _pImageAreaControl.getImageCount = function () { + var img_elem = this._img_elem; + if (img_elem) { + return img_elem.getImageCount(); + } + + return 0; + }; + + _pImageAreaControl.getOriginalImageSize = function () { + return [this._orgwidth, this._orgheight]; + }; + + _pImageAreaControl.setImageIndex = function (nIndex) { + var img_elem = this._img_elem; + if (img_elem) { + img_elem.setImageIndex(parseInt(nIndex) | 0); + } + }; + + delete _pImageAreaControl; +} diff --git a/nexacro-spring/src/main/webapp/deploy/_web_/nexacro17lib/component/ComComp/ImportObject.js b/nexacro-spring/src/main/webapp/deploy/_web_/nexacro17lib/component/ComComp/ImportObject.js new file mode 100644 index 0000000..8379275 --- /dev/null +++ b/nexacro-spring/src/main/webapp/deploy/_web_/nexacro17lib/component/ComComp/ImportObject.js @@ -0,0 +1,913 @@ +//============================================================================== +// +// TOBESOFT Co., Ltd. +// Copyright 2017 TOBESOFT Co., Ltd. +// All Rights Reserved. +// +// NOTICE: TOBESOFT permits you to use, modify, and distribute this file +// in accordance with the terms of the license agreement accompanying it. +// +// Readme URL: http://www.nexacro.co.kr/legal/nexacro17-public-license-readme-1.1.html +// +//============================================================================== + +if (!nexacro.ExcelImportObject) { + nexacro.ExcelImportEventInfo = function (obj, id, url, refferObj, importid) { + this.id = this.eventid = id || "onsuccess"; + this.fromobject = obj; + this.fromreferenceobject = refferObj; + this.url = url; + this.importid = importid; + }; + var _pExcelImportEventInfo = nexacro._createPrototype(nexacro.Event, nexacro.ExcelImportEventInfo, nexacro.ExcelImportEventInfo); + nexacro.ExcelImportEventInfo.prototype = _pExcelImportEventInfo; + _pExcelImportEventInfo._type_name = "ExcelImportEventInfo"; + + delete _pExcelImportEventInfo; + + + nexacro.ExcelImportErrorEventInfo = function (obj, id, errortype, errormsg, errorobj, statuscode) { + this.id = this.eventid = id || "onerror"; + this.fromobject = obj; + this.fromreferenceobject = errorobj; + this.errortype = errortype; + this.errormsg = errormsg; + this.statuscode = statuscode; + }; + var _pExcelImportErrorEventInfo = nexacro._createPrototype(nexacro.ErrorEventInfo, nexacro.ExcelImportErrorEventInfo); + nexacro.ExcelImportErrorEventInfo.prototype = _pExcelImportErrorEventInfo; + _pExcelImportErrorEventInfo._type_name = "ExcelImportErrorEventInfo"; + + delete _pExcelImportErrorEventInfo; + + nexacro.ImportTypes = + { + EXCEL : 0x0100, + EXCEL97 : 0x0110, + EXCEL2007 : 0x0120, + HANCELL2014 : 0x0410, + CSV : 0x0500 + }; + + + nexacro.ExcelImportObject = function (name, parent) { + this.id = this.name = name; + + if (!parent) { + var app = nexacro.getApplication(); + if (app) { + parent = app.getActiveForm(); + if (!parent) { + parent = app.mainframe.childframe.form; + } + } + } + this.parent = parent; + + var unique_id = this._unique_id = this.parent._unique_id + "_" + this.id; + + if (nexacro._get_hidden_frame(unique_id, this._hidden_frame_handle)) { + nexacro._destroy_hidden_frame(unique_id, this._hidden_frame_handle); + } + + nexacro._create_hidden_frame(unique_id, this._uploadComplete, this, "import"); + nexacro._append_hidden_item(unique_id, "upfile", this._checkUploadFile, this, this._hidden_frame_handle); + nexacro._append_hidden_textitem(unique_id, "ds_command"); + + this.onerror = new nexacro.EventListener("onerror"); + this.onsuccess = new nexacro.EventListener("onsuccess"); + }; + + var _pExcelImport = nexacro.ExcelImportObject.prototype = nexacro._createPrototype(nexacro._EventSinkObject, nexacro.ExcelImportObject); + _pExcelImport._type_name = "ExcelImportObject"; + + _pExcelImport._hidden_frame_handle = null; + + _pExcelImport.importfilemode = "local"; + _pExcelImport._importfilemode = 0; + _pExcelImport.commcompress = "none"; + _pExcelImport._commcompress = false; + _pExcelImport.importtype = nexacro.ImportTypes.EXCEL; + _pExcelImport.importurl = ""; + _pExcelImport._importurl = ""; + _pExcelImport._uploadurl = ""; + _pExcelImport._uploadservlet = ""; + + _pExcelImport._fileurl = ""; + _pExcelImport._range = ""; + _pExcelImport._applyAllsheet = false; + + _pExcelImport._responseData = ""; + _pExcelImport._responseRVal = null; + _pExcelImport._responseLVal = null; + _pExcelImport.userawdatevalue = false; + _pExcelImport._userawdatevalue = false; + _pExcelImport.userawnumbervalue = true; + _pExcelImport._userawnumbervalue = true; + _pExcelImport._user_data = null; + _pExcelImport._file_password = null; + _pExcelImport._usehtmltag = true; + + _pExcelImport._importSheet = ""; + _pExcelImport._importStartCell = null; + _pExcelImport._importEndCell = null; + + _pExcelImport._tran_item = null; + _pExcelImport._file_url_ds = null; + _pExcelImport._iscors = false; + _pExcelImport._importid = ""; + _pExcelImport._importid_list = []; + + _pExcelImport.filefilter = ""; + _pExcelImport.filefilterindex = 0; + + + _pExcelImport._event_list = + { + "onerror" : 1, + "onsuccess" : 1 + }; + + _pExcelImport.on_created = nexacro._emptyFn; + + + + _pExcelImport.set_importtype = function (v) { + switch ((v + "").toUpperCase()) { + case "EXCEL": + v = 0x0100; + break; + case "EXCEL97": + v = 0x0110; + break; + case "EXCEL2007": + v = 0x0120; + break; + case "HANCELL2010": + v = 0x0400; + break; + case "HANCELL2014": + v = 0x0410; + break; + case "CSV": + v = 0x0500; + break; + } + if (v != this.importtype) { + this.importtype = v; + } + return v; + }; + + _pExcelImport.set_importurl = function (v) { + if (v != this.importurl) { + this.importurl = v; + if (v == null) { + this._importurl = ""; + } + else { + var uploadservlet = this._uploadservlet = nexacro._getServiceLocation(v, this.parent._getFormBaseUrl()); + var baseurl = uploadservlet.substring(0, uploadservlet.lastIndexOf("/") + 1); + this._importurl = baseurl + "XExportImport"; + } + } + return v; + }; + + _pExcelImport.set_commcompress = function (v) { + if (v != this.commcompress) { + this.commcompress = v; + + v = v.toString().toUpperCase(); + if (v == "COMPRESS") { + this._commcompress = true; + } + else { + this._commcompress = false; + } + } + return v; + }; + + _pExcelImport.set_importfilemode = function (v) { + if (this.importfilemode != v) { + this.importfilemode = v; + this._importfilemode = v == "server" ? 1 : 0; + } + return v; + }; + + _pExcelImport.set_userawdatevalue = function (v) { + if (this.userawdatevalue != v) { + this.userawdatevalue = v; + this._userawdatevalue = nexacro._toBoolean(v); + } + return v; + }; + + _pExcelImport.set_userawnumbervalue = function (v) { + if (this.userawnumbervalue != v) { + this.userawnumbervalue = v; + this._userawnumbervalue = nexacro._toBoolean(v); + } + return v; + }; + + _pExcelImport.set_filefilter = function (v) { + this.filefilter = v; + }; + + _pExcelImport.set_filefilterindex = function (v) { + this.filefilterindex = v; + }; + _pExcelImport._setImportRange = function (range) { + var obj = { + }; + if (range) { + if (range.indexOf("!") >= 0) { + var rg = range.split("!"); + obj.sheet = rg[0]; + var cells = rg[1]; + var temp; + if (cells.indexOf(":") >= 0) { + cells = cells.split(":"); + temp = this._getExcelRowCol(cells[0]); + obj.startRow = temp[1] ? temp[1] : ""; + obj.startCol = temp[0] ? temp[0] : ""; + temp = this._getExcelRowCol(cells[1]); + obj.endRow = temp[1] ? temp[1] : ""; + obj.endCol = temp[0] ? temp[0] : ""; + } + else { + temp = this._getExcelRowCol(cells); + obj.startRow = temp[1] ? temp[1] : ""; + obj.startCol = temp[0] ? temp[0] : ""; + obj.endRow = ""; + obj.endCol = ""; + } + } + } + else { + obj.sheet = ""; + obj.startRow = ""; + obj.startCol = ""; + obj.endRow = ""; + obj.endCol = ""; + } + this._range.push(obj); + }; + + _pExcelImport.importData = function (fileurl, range, responseData, userData) { + this._file_password = null; + this._fileurl = ""; + + if (arguments.length < 3) { + return false; + } + + if (!this.importurl) { + return false; + } + + var mode = this.importfilemode.toLowerCase(); + if (mode != "server" || !fileurl) { + this._importfilemode = 0; + } + else { + this._importfilemode = 1; + } + + + if (range) { + this._range = range; + } + else { + this._range = ""; + } + var i, r_len, u_len; + if (responseData) { + this._responseLVal = []; + this._responseRVal = []; + var temp_response = ""; + + var responseDatas = responseData.split(","); + if (responseDatas.length <= 1 && responseDatas[0]) { + responseDatas = responseDatas[0].split(" "); + } + + for (i = 0, r_len = responseDatas.length; i < r_len; i++) { + if (responseDatas[i].length) { + var responArr = responseDatas[i].match(/[_A-Za-z0-9]+/g); + this._responseLVal.push(responArr[0]); + if (responArr[1] == null) { + responArr[1] = "output" + (i + 1); + } + this._responseRVal.push(responArr[1]); + temp_response += " " + responArr[0] + "=" + responArr[1]; + } + } + this._responseData = temp_response; + } + + if (userData) { + var userDatas = nexacro.replaceAll(userData, " ", "").split(","); + for (i = 0, u_len = userDatas.length; i < u_len; i++) { + var dataArr = userDatas[i].split("="); + if (dataArr[0] == "filepassword") { + this._file_password = dataArr[1]; + userDatas.splice(i, 1); + userData = userDatas.join(","); + break; + } + } + } + this._user_data = userData; + + if (!this._importfilemode) { + nexacro._change_inputnode_name(this._input_node, "upfile"); + nexacro._findclick(this._unique_id, "upfile", this, this._hidden_frame_handle, this.filefilter, this.filefilterindex); + } + else { + nexacro._change_inputnode_name(this._input_node, ""); + if (this._checkFileName(fileurl)) { + this._fileurl = fileurl; + this._requestImport(fileurl); + } + else { + var errormsg = "the file extension is wrong"; + var evt = new nexacro.ExcelImportErrorEventInfo(this, "onerror", "ObjectError", errormsg, this, -1); + this.on_fire_onerror(this, evt); + return false; + } + } + + return true; + }; + + _pExcelImport.importDataEx = function (importid, fileurl, range, responseData, userData) { + this._importid = importid; + this.importData(fileurl, range, responseData, userData); + }; + + _pExcelImport._addImportId = function (v) { + var list = this._importid_list; + var cnt = list ? list.length : 0; + var id; + for (var i = 0; i < cnt; i++) { + id = list[i]; + if (id == v) { + return false; + } + } + + list.push(v); + + return true; + }; + + _pExcelImport._removeImportId = function (v) { + var list = this._importid_list; + var cnt = list ? list.length : 0; + var id; + for (var i = 0; i < cnt; i++) { + id = list[i]; + if (id == v) { + return list.splice(i, 1); + } + } + + return null; + }; + + _pExcelImport.destroy = function () { + var unique_id = this._unique_id; + if (this.parent) { + this.parent.removeChild(this.id); + } + if (this._hidden_frame_handle) { + nexacro._remove_hidden_item(unique_id, "upfile", this._hidden_frame_handle); + nexacro._remove_hidden_item(unique_id, "ds_command", this._hidden_frame_handle); + nexacro._destroy_hidden_frame(unique_id, this, "import"); + } + + this._hidden_frame_handle = null; + this.parent = null; + + return true; + }; + + _pExcelImport.on_fire_onerror = function (obj, e) { + this._setWaitCursor(false); + var event = this.onerror; + if (event && event._has_handlers) { + event._fireEvent(this, e); + } + }; + + _pExcelImport.on_fire_onsuccess = function (obj, e) { + this._setWaitCursor(false); + var event = this.onsuccess; + if (event && event._has_handlers) { + event._fireEvent(this, e); + } + }; + + + _pExcelImport._getExcelRowCol = function (cell) { + var strLen = cell.length; + var arr = []; + for (var i = 0; i < strLen; i++) { + if (!isNaN(cell[i])) { + arr.push(cell.substring(0, i)); + arr.push(cell.substring(i)); + break; + } + } + return arr; + }; + + _pExcelImport._transaction = function (id, url, inDatasetsParam, outDatasetsParam, userData, callbackFn, isAsync, datatype, isCompress) { + this._load_manager = new nexacro._LoadManager(this); + var service = nexacro._getServiceObject(url, true); + this._load_manager.loadDataModule(url, id, inDatasetsParam, outDatasetsParam, userData, callbackFn, isAsync, datatype, isCompress, service); + }; + + _pExcelImport._getDataset = function (ds_id) { + var r_val = this._responseRVal; + var l_val = this._responseLVal; + var len = r_val.length; + + for (var i = 0; i < len; i++) { + if (r_val[i] == ds_id) { + return this._getDatasetObject(l_val[i]); + } + else if (ds_id == "IMPORTFILES") { + return this._getDatasetObject("_file_url_ds"); + } + } + return null; + }; + + _pExcelImport._waitCursor = nexacro._emptyFn; + _pExcelImport._setParamter = nexacro._emptyFn; + _pExcelImport._getDatasetObject = function (queryid) { + var _ds = this[queryid]; + var app = nexacro.getApplication(); + if (_ds == null && this.parent && this.parent != app) { + _ds = this.parent._getDatasetObject(queryid); + } + + if (_ds == null) { + _ds = app[queryid]; + } + + return _ds; + }; + + _pExcelImport._getForm = function () { + var app = nexacro.getApplication(); + var form; + if (app) { + form = app.getActiveForm(); + if (!form) { + var mainframe = app.getActiveFrame(); + var pThis = this; + while (pThis && mainframe != pThis) { + if (!pThis._is_frame) { + pThis = pThis.parent; + } + else if (pThis.form) { + return pThis.form; + } + } + } + } + return form; + }; + + _pExcelImport._isPopupFrame = function () { + return false; + }; + + + _pExcelImport._makeImportFormat = function () { + var str = ""; + str += ""; + + var sheets = this._range.split("]"); + var s_len = sheets.length - 1; + s_len = s_len == 0 ? 1 : s_len; + var properties, property; + var output_num = 1; + + for (var i = 0; i < s_len; i++) { + str += "= 0) { + var range_arr = range.split("!"); + if (range_arr[1].indexOf(":") >= 0) { + var sheet = range_arr[0]; + var rangeitem = range_arr[1].split(":"); + var start_row = rangeitem[0].match(/[0-9]+/); + var start_col = rangeitem[0].match(/[A-Z]+/); + + var end_row = rangeitem[1].match(/[0-9]+/); + var end_col = rangeitem[1].match(/[A-Z]+/); + + str += 'command=\"getsheetdata\" output=\"' + this._responseRVal + '\" head=\"' + sheet + '!' + start_col + start_row + ':' + end_col + start_row + '\" body=\"' + sheet + '!' + start_col + (+start_row + 1) + ':' + end_col + end_row + '\" />'; + } + else { + str += 'command=\"getsheetdata\" output=\"' + this._responseRVal + '\" Body=\"' + sheets[i] + '\" />'; + } + } + else { + str += 'command=\"getsheetdata\" output=\"' + this._responseRVal + '\" Body=\"' + sheets[i] + '\" />'; + } + } + else { + var flag = false; + for (var j = 0, p_len = properties.length; j < p_len; j++) { + property = properties[j].match(/[\(\)_!:A-Za-z0-9가-힣 \.\-]+/g); + + var property_name = property[0].toLowerCase(); + if (property_name != "command") { + if (j == 0) { + str += 'command=\"getsheetdata\" '; + } + if (property_name == "output") { + flag = true; + } + } + str += property_name + "=\"" + property[1] + "\" "; + } + if (!flag) { + str += 'output=\"output' + output_num + '\" '; + output_num++; + } + str += "/>"; + } + } + + str += ""; + str += ""; + + return str; + }; + + _pExcelImport._requestImport = function (fileUrl) { + if (nexacro._Browser != "Runtime") { + if (!nexacro._isSameOrigin(this._importurl, nexacro._project_url)) { + this._iscors = true; + } + } + + var ds_command = this._ds_command = new nexacro.NormalDataset("COMMAND"); + + ds_command.addColumn("command", "String", 32); + ds_command.addColumn("type", "int", 32); + ds_command.addColumn("url", "String", 256); + ds_command.addColumn("format", "String", 256); + ds_command.addColumn("filemode", "String", 256); + ds_command.addColumn("password", "String", 256); + ds_command.addColumn("rawdatevalue", "String", 256); + ds_command.addColumn("rawnumbervalue", "String", 256); + ds_command.addColumn("importid", "String", 256); + ds_command.addColumn("usehtmltag", "String", 256); + + ds_command.addRow(); + + ds_command.setColumn(0, "command", "import"); + ds_command.setColumn(0, "type", this._importType); + ds_command.setColumn(0, "url", fileUrl); + ds_command.setColumn(0, "format", this._makeImportFormat()); + ds_command.setColumn(0, "filemode", this._importfilemode ? "server" : "local"); + ds_command.setColumn(0, "password", this._file_password); + ds_command.setColumn(0, "rawdatevalue", this._userawdatevalue); + ds_command.setColumn(0, "rawnumbervalue", this._userawnumbervalue); + ds_command.setColumn(0, "importid", this._importid); + ds_command.setColumn(0, "usehtmltag", this._usehtmltag); + + if (this._iscors) { + ds_command.addColumn("responsetype", "String", 256); + ds_command.setColumn(0, "responsetype", 1); + } + + if (this._ds_response) { + delete this._ds_response; + } + + var evt; + var datasets = this._responseLVal; + if (datasets) { + for (var i = 0, d_len = datasets.length; i < d_len; i++) { + var reponseDS = this.parent[datasets[i]]; + if (reponseDS) { + } + else { + evt = new nexacro.ExcelImportErrorEventInfo(this, "onerror", "ObjectError", "Dataset is null", this, -2011); + this.on_fire_onerror(this, evt); + return; + } + } + } + else { + evt = new nexacro.ExcelImportErrorEventInfo(this, "onerror", "ObjectError", "Dataset is null", this, -2011); + this.on_fire_onerror(this, evt); + return; + } + + this._file_url_ds = new nexacro.NormalDataset("_file_url_ds", this); + this._tran_item = new nexacro.TransactionItem(this._importurl, this, this.id, "COMMAND=_ds_command", this._responseData + ", _file_url_ds=IMPORTFILES", this._user_data, 0, true); + + nexacro._setImportCommand(this._unique_id, "ds_command", this, this._hidden_frame_handle, this._tran_item._sendData); + nexacro._submit(this._unique_id, this._uploadservlet, this._hidden_frame_handle, this._tran_item._sendData, fileUrl); + }; + + if (nexacro._Browser == "Runtime") { + _pExcelImport._uploadComplete = function (status, data, url, errcode, httpcode, locationurl, extramsg) { + var application = nexacro.getApplication(); + if (application) { + application._endCommProgress(); + } + + var evt, error_info, fileUrl, unique_id = this._unique_id, code = -1, msg = "", result = null, importid; + if (status < 0) { + nexacro._onHttpSystemError(this, true, this, errcode, url, httpcode, url, null, extramsg); + + var commerrorobj = nexacro.MakeCommunicationError(this, errcode, url, httpcode, url, null, extramsg); + evt = new nexacro.ExcelImportErrorEventInfo(this, "onerror", "ObjectError", commerrorobj.message, this, 9901); + this.on_fire_onerror(this, evt); + } + else { + if (data) { + if (data.indexOf("