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 += " | ";
+
+ return str;
+ };
+
+ _pExportItem._getSubCellLine = function (subCell, defaultColor, linecolor, rsp, csp) {
+ var lLine, tLine, rLine, bLine;
+
+ var sbc = subCell._col;
+ var sbr = subCell._row;
+
+ if (sbc == csp) {
+ rLine = linecolor.vertical;
+ }
+ else {
+ rLine = "empty";
+ }
+ if (sbc == 0) {
+ lLine = defaultColor.vertical;
+ }
+ else {
+ lLine = "empty";
+ }
+ if (sbr == rsp) {
+ bLine = linecolor.horizon;
+ }
+ else {
+ bLine = "empty";
+ }
+ if (sbr == 0) {
+ tLine = defaultColor.horizon;
+ }
+ else {
+ tLine = "empty";
+ }
+
+ return lLine + ":" + tLine + ":" + rLine + ":" + bLine;
+ };
+
+ _pExportItem._makeVirtualLine = function (str, color, type) {
+ var linestyle_str;
+ switch (str) {
+ case "topvirtual":
+ case "bottomvirtual":
+ linestyle_str = "empty:empty:" + color.vertical + ":empty";
+ break;
+ case "rightvirtual":
+ if (type) {
+ linestyle_str = "empty:empty:empty:" + color.horizon;
+ }
+ else {
+ linestyle_str = "empty:" + color.horizon + ":empty:empty";
+ }
+ break;
+ case "righttopvirtual":
+ case "rightbottomvirtual":
+ linestyle_str = "empty:empty:empty:empty";
+ break;
+ default:
+ if (type) {
+ linestyle_str = "empty:empty:" + color.vertical + ":" + color.horizon;
+ }
+ else {
+ linestyle_str = "empty:" + color.horizon + ":" + color.vertical + ":empty";
+ }
+ break;
+ }
+ return linestyle_str;
+ };
+
+ _pExportItem._makeFormat = function (grid) {
+ var bg, align, font, textdecoration, color, line, style, cell, subCell, background, gradation;
+
+ var format = grid._curFormat;
+ var hCells = format._headcells;
+ var hLen = hCells ? hCells.length : 0;
+ var bCells = format._bodycells;
+ var bLen = bCells ? bCells.length : 0;
+ var sCells = format._summcells;
+ var sLen = sCells ? sCells.length : 0;
+ var str = "";
+ var ds_style = this._ds_style;
+ var linecolor;
+ var linestyle;
+ var subL = 0;
+ var f_cols = format._cols;
+ var f_hrows = format._headrows;
+ var f_brows = format._bodyrows;
+ var f_srows = format._summrows;
+
+ var i, j, fcLen, frLen;
+ var cell_type;
+ var need_merge_cell = false;
+ var virtual_value = null;
+ var merge_data, temp_align, merge_str;
+
+ str = "";
+ for (i = 0, fcLen = f_cols.length; i < fcLen; i++) {
+ 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 = "";
+ _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 = "";
+ _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("