UNPKG

ns-components-angular

Version:

Angular Wrapper Components for NSComponents

1 lines 60.1 kB
export declare const NSExportCode = "var nsModuleExport = function(root,name,prototype)\r\n\t{\r\n\t\tif(typeof exports === 'object' && typeof module === 'object')\r\n\t\t{\r\n\t\t\tmodule.exports[name] = prototype;\r\n\t\t}\r\n\t\telse if (typeof define === \"function\" && define.amd)\r\n\t\t{\r\n\t\t\tdefine(name,[], function () {return prototype;});\r\n\t\t}\r\n\t\telse if(typeof exports === 'object')\r\n\t\t{\r\n\t\t\texports[name] = prototype;\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\troot[name] = prototype;\r\n\t\t}\r\n\t};var nsIsWeb = function(root)\r\n\t{\r\n\t\tif(typeof exports === 'object' && typeof module === 'object')\r\n\t\t{\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\telse if (typeof define === \"function\" && define.amd)\r\n\t\t{\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\telse if(typeof exports === 'object')\r\n\t\t{\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\treturn true;\r\n\t\t}\r\n\t};if(!nsIsWeb())\r\n\t\t{\r\nvar nsutilRef = require('./nsUtil.min.js');\r\nvar NSUtil = nsutilRef.NSUtil;\r\nvar nscontainerbaseRef = require('./nsContainerBase.min.js');\r\nvar nsExtendPrototype = nscontainerbaseRef.nsExtendPrototype;\r\nvar NSContainerBase = nscontainerbaseRef.NSContainerBase;\r\nvar svgRef = require('./nsSVG.min.js');\r\nvar NSSvg = svgRef.NSSvg;\r\nvar NSSvgShapes = svgRef.NSSvgShapes;\r\nvar plugginsRef = require('./nsPluggins.min.js');\r\nvar nsTextEditor = plugginsRef.nsTextEditor;\r\nvar nsTextAreaEditor = plugginsRef.nsTextAreaEditor;\r\nvar NSCellSelection = plugginsRef.NSCellSelection;\r\nvar NSTableCellNavigator = plugginsRef.NSTableCellNavigator;\r\nvar dateutilRef = require('./nsDateUtil.min.js');\r\nvar NSDateUtil = dateutilRef.NSDateUtil;\r\n\r\n\t\t}\r\nvar NSExport = (function()\r\n{\r\n\t//DONOT REMOVE: taken from https://gist.github.com/sevir/3946819\r\n\tif (window && !window.atob && !window.btoa)\r\n\t{\r\n\t ( function( window ) {\r\n\t var _PADCHAR = \"=\",\r\n\t _ALPHA = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\r\n\t \r\n\t function _getbyte64( s, i ) { \r\n\t var idx = _ALPHA.indexOf( s.charAt( i ) );\r\n\t \r\n\t if ( idx === -1 ) {\r\n\t throw \"Cannot decode base64\";\r\n\t }\r\n\t \r\n\t return idx;\r\n\t }\r\n\t \r\n\t function _decode( s ) {\r\n\t var pads = 0,\r\n\t i,\r\n\t b10,\r\n\t imax = s.length,\r\n\t x = [];\r\n\t \r\n\t s = String( s );\r\n\t \r\n\t if ( imax === 0 ) {\r\n\t return s;\r\n\t }\r\n\t \r\n\t if ( imax % 4 !== 0 ) {\r\n\t throw \"Cannot decode base64\";\r\n\t }\r\n\t \r\n\t if ( s.charAt( imax - 1 ) === _PADCHAR ) {\r\n\t pads = 1;\r\n\t \r\n\t if ( s.charAt( imax - 2 ) === _PADCHAR ) {\r\n\t pads = 2;\r\n\t }\r\n\t \r\n\t // either way, we want to ignore this last block\r\n\t imax -= 4;\r\n\t }\r\n\t \r\n\t for ( i = 0; i < imax; i += 4 ) {\r\n\t b10 = ( _getbyte64( s, i ) << 18 ) | ( _getbyte64( s, i + 1 ) << 12 ) | ( _getbyte64( s, i + 2 ) << 6 ) | _getbyte64( s, i + 3 );\r\n\t x.push( String.fromCharCode( b10 >> 16, ( b10 >> 8 ) & 0xff, b10 & 0xff ) );\r\n\t }\r\n\t \r\n\t switch ( pads ) {\r\n\t case 1:\r\n\t b10 = ( _getbyte64( s, i ) << 18 ) | ( _getbyte64( s, i + 1 ) << 12 ) | ( _getbyte64( s, i + 2 ) << 6 );\r\n\t x.push( String.fromCharCode( b10 >> 16, ( b10 >> 8 ) & 0xff ) );\r\n\t break;\r\n\t \r\n\t case 2:\r\n\t b10 = ( _getbyte64( s, i ) << 18) | ( _getbyte64( s, i + 1 ) << 12 );\r\n\t x.push( String.fromCharCode( b10 >> 16 ) );\r\n\t break;\r\n\t }\r\n\t \r\n\t return x.join( \"\" );\r\n\t }\r\n\t \r\n\t function _getbyte( s, i ) {\r\n\t var x = s.charCodeAt( i );\r\n\t \r\n\t if ( x > 255 ) {\r\n\t throw \"INVALID_CHARACTER_ERR: DOM Exception 5\";\r\n\t }\r\n\t \r\n\t return x;\r\n\t }\r\n\t \r\n\t function _encode( s ) {\r\n\t if ( arguments.length !== 1 ) {\r\n\t throw \"SyntaxError: exactly one argument required\";\r\n\t }\r\n\t \r\n\t s = String( s );\r\n\t \r\n\t var i,\r\n\t b10,\r\n\t x = [],\r\n\t imax = s.length - s.length % 3;\r\n\t \r\n\t if ( s.length === 0 ) {\r\n\t return s;\r\n\t }\r\n\t \r\n\t for ( i = 0; i < imax; i += 3 ) {\r\n\t b10 = ( _getbyte( s, i ) << 16 ) | ( _getbyte( s, i + 1 ) << 8 ) | _getbyte( s, i + 2 );\r\n\t x.push( _ALPHA.charAt( b10 >> 18 ) );\r\n\t x.push( _ALPHA.charAt( ( b10 >> 12 ) & 0x3F ) );\r\n\t x.push( _ALPHA.charAt( ( b10 >> 6 ) & 0x3f ) );\r\n\t x.push( _ALPHA.charAt( b10 & 0x3f ) );\r\n\t }\r\n\t \r\n\t switch ( s.length - imax ) {\r\n\t case 1:\r\n\t b10 = _getbyte( s, i ) << 16;\r\n\t x.push( _ALPHA.charAt( b10 >> 18 ) + _ALPHA.charAt( ( b10 >> 12 ) & 0x3F ) + _PADCHAR + _PADCHAR );\r\n\t break;\r\n\t \r\n\t case 2:\r\n\t b10 = ( _getbyte( s, i ) << 16 ) | ( _getbyte( s, i + 1 ) << 8 );\r\n\t x.push( _ALPHA.charAt( b10 >> 18 ) + _ALPHA.charAt( ( b10 >> 12 ) & 0x3F ) + _ALPHA.charAt( ( b10 >> 6 ) & 0x3f ) + _PADCHAR );\r\n\t break;\r\n\t }\r\n\t \r\n\t return x.join(\"\");\r\n\t }\r\n\t\r\n\t window.btoa = _encode;\r\n\t window.atoa = _decode;\r\n\t \r\n\t })( window );\r\n\t}\r\n\t\r\n\t\"use strict\"; \r\n\tfunction NSExport(grid,fileName,extPath,ignoreColumn) \r\n\t{\r\n\t\tthis.__grid = grid;\r\n\t\tthis.__fileName = fileName;\r\n\t\tthis.__ignoreColumn = ignoreColumn;\r\n\t\tthis.__extFilePath = extPath ? extPath : \"../lib/com/ext\";\r\n\t\tthis.util = new NSUtil();\r\n\t\tthis.__defaultDelimiter = \",\";\r\n\t\tthis.__defaultNewLine = \"\\r\\n\";\r\n\t\tthis.__externalScriptLoad = {jspdf:false,html2canvas:false};\r\n\t}\r\n\t\r\n\t//Orientation: portrait or landscape\r\n\tNSExport.prototype.word = function(setting) \r\n\t{\r\n\t\tif(setting)\r\n\t\t{\r\n\t\t\tif(setting.type === \"doc\")\r\n\t\t\t{\r\n\t\t\t\tvar docSetting = {appType:\"doc\",extension:\"doc\",event:setting.event,orientation:setting.orientation,element:setting.element,pageBreakTag:setting.pageBreakTag,headerFooterCss:\"\",startHtml:\"\",endHtml:\"\"};\r\n\t\t\t\tif(setting.hasHeaderOrFooter)\r\n\t {\r\n\t \tdocSetting.headerFooterCss = setting.headerFooterCss || \"\";\r\n\t \tdocSetting.startHtml = setting.startHtml || \"\";\r\n\t \tdocSetting.endHtml = setting.endHtml || \"\";\r\n\t }\r\n\t\t\t\tif(setting.enablePageNumber)\r\n\t\t\t\t{\r\n\t\t\t\t\tdocSetting.headerFooterCss += \"p.MsoHeader, li.MsoHeader, div.MsoHeader{ margin:0in; margin-top:.0001pt; mso-pagination:widow-orphan; tab-stops:center 3.0in right 6.0in; } p.MsoFooter, li.MsoFooter, div.MsoFooter{ margin:0in 0in 1in 0in; margin-bottom:.0001pt; mso-pagination:widow-orphan; tab-stops:center 3.0in right 6.0in; } .footer { font-size: 9pt; } @page Section1{ size:8.5in 11.0in; margin:0.5in 0.5in 0.5in 0.5in; mso-header-margin:0.5in; mso-header:h1; mso-footer:f1; mso-footer-margin:0.5in; mso-paper-source:0; } div.Section1{ page:Section1; } table#hrdftrtbl{ margin:0in 0in 0in 9in; }\";\r\n\t\t\t\t\tdocSetting.startHtml = \"<div class=\\\"Section1\\\">\" + docSetting.startHtml; \r\n\t\t\t\t\tdocSetting.endHtml += \"<table id=\\\"hrdftrtbl\\\" border=\\\"1\\\" cellspacing=\\\"0\\\" cellpadding=\\\"0\\\"> <tr> <td> <div style=\\\"mso-element:footer\\\" id=\\\"f1\\\"> <p class=\\\"MsoFooter\\\"> <table width=\\\"100%\\\" border=\\\"0\\\" cellspacing=\\\"0\\\" cellpadding=\\\"0\\\"> <tr> <td align=\\\"center\\\" class=\\\"footer\\\"> <g:message code=\\\"offer.letter.page.label\\\"/> <span style=\\\"mso-field-code: PAGE \\\"></span> of <span style=\\\"mso-field-code: NUMPAGES \\\"></span> </td> </tr> </table> </p> </div> </td> </tr> </table> </div>\";;\r\n\t\t\t\t}\r\n\t\t\t\tthis.__exportOfficeTypes(docSetting);\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\tif(!setting.orientation || (setting.orientation !== \"portrait\" && setting.orientation !== \"landscape\"))\r\n\t\t\t\t{\r\n\t\t\t\t\tthis.util.warning(\"NSExport\",\"Docx type value was either not valid or not in the correct format.Hence defaulting to portrait\");\r\n\t\t\t\t\tsetting.orientation = \"portrait\";\r\n\t\t\t\t}\r\n\t\t\t\tvar docSetting = {appType:\"doc\",element:setting.element,pageBreakTag:setting.pageBreakTag,headerFooterCss:\"\",startHtml:\"\",endHtml:\"\"};\r\n\t\t\t\tif(setting.hasHeaderOrFooter)\r\n\t {\r\n\t \tdocSetting.headerFooterCss = setting.headerFooterCss;\r\n\t \tdocSetting.startHtml = setting.startHtml;\r\n\t \tdocSetting.endHtml = setting.endHtml;\r\n\t }\r\n\t\t\t\tvar htmlText = this.__getHTMLTextForOffice(docSetting);\r\n\t\t\t\tif(htmlText && htmlText.length > 0)\r\n\t\t\t\t{\r\n\t\t\t\t\tvar fileName = this.__getFileName(\"docx\");\r\n\t\t\t\t\tvar exportSetting = {fileName:fileName,htmlSetting:{html:htmlText,htmlStyle: setting.extraStyle,loopNodesCallback: setting.loopNodesCallback},printSetting:{orientation: setting.orientation}};\r\n\t\t\t\t\tvar docxExport = new NSDocxExport(exportSetting);\r\n\t\t\t\t\tdocxExport.process();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\t\r\n\tNSExport.prototype.powerpoint = function(setting) \r\n\t{\r\n\t\tif(setting)\r\n\t\t{\r\n\t\t\tvar docSetting = {appType:\"powerpoint\",extension:\"ppt\",event:setting.event,element:setting.element};\r\n\t\t\tthis.__exportOfficeTypes(docSetting);\r\n\t\t}\r\n\t};\r\n\t\r\n\tNSExport.prototype.excel = function(setting) \r\n\t{\r\n\t\tif(setting)\r\n\t\t{\r\n\t\t\tif(setting.type === \"xls\")\r\n\t\t\t{\r\n\t\t\t\tvar docSetting = {appType:\"excel\",extension:\"xls\",sheetName:setting.sheetName,event:setting.event,element:setting.element,properties:setting.properties};\r\n\t\t\t\tthis.__exportOfficeTypes(docSetting);\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\tvar objXslxExport = new this.xslxExport(this,setting.sheetName,setting.event,setting.properties);\r\n\t\t\t\tobjXslxExport.exportToxlsx();\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\t\r\n\tNSExport.prototype.csv = function(event) \r\n\t{ \r\n\t\tvar csvText = this.__getTableAsString(this.__defaultDelimiter,this.__defaultNewLine);\r\n\t\tif(csvText)\r\n\t\t{\r\n\t\t\tvar uri = \"application/csv\";\r\n\t\t\tthis.__downloadFile(csvText,uri,\"csv\",event);\r\n\t\t}\r\n\t};\r\n\t\r\n\tNSExport.prototype.xml = function(event) \r\n\t{ \r\n\t\tvar xmlText = this.__getTableAsXML();\r\n\t\tif(xmlText)\r\n\t\t{\r\n\t\t\tvar uri = \"application/xml\";\r\n\t\t\tthis.__downloadFile(xmlText,uri,\"xml\",event);\r\n\t\t}\r\n\t};\r\n\t\r\n\tNSExport.prototype.text = function(event) \r\n\t{ \r\n\t\tvar csvText = this.__getTableAsString(this.__defaultDelimiter,this.__defaultNewLine,\"-\");\r\n\t\tif(csvText)\r\n\t\t{\r\n\t\t\tvar uri = \"application/txt\";\r\n\t\t\tthis.__downloadFile(csvText,uri,\"txt\",event);\r\n\t\t}\r\n\t};\r\n\t\r\n\tNSExport.prototype.json = function(event) \r\n\t{ \r\n\t\tvar jsonText = this.__getTableAsJson();\r\n\t\tif(jsonText)\r\n\t\t{\r\n\t\t\tvar uri = \"application/json\";\r\n\t\t\tthis.__downloadFile(jsonText,uri,\"json\",event);\r\n\t\t}\r\n\t};\r\n\t\r\n\tNSExport.prototype.pdf = function(event,setting) \r\n\t{ \r\n\t\tthis.__processPDF = function()\r\n\t\t{\r\n\t\t\tthis.__externalScriptLoad.jspdf = true;\r\n\t\t\tif(!setting)\r\n\t\t\t{\r\n\t\t\t\tsetting = {};\r\n\t\t\t}\r\n\t\t\tvar config = {\r\n\t\t\t\t\tfontSize: setting[\"fontSize\"] || 14,\r\n\t\t\t\t\twidth: setting[\"width\"] || 1200,\r\n\t\t\t\t\ttopMargin: setting[\"topMargin\"] || 30,\r\n\t\t\t\t\tbottomMargin: setting[\"bottomMargin\"] || 60,\r\n\t\t\t\t\tleftMargin: setting[\"leftMargin\"] || 60,\r\n\t\t\t\t\tmaxWidth: setting[\"maxWidth\"] || 550\r\n\t\t\t};\r\n\t\t\tvar divSource = this.__getStructureForPDF(config.width,config.fontSize);\r\n\t\t\tdocument.body.appendChild(divSource);\r\n\t\t\tvar pdf = new jsPDF(\"p\", \"pt\", \"ledger\");\r\n\t\t\t// we support special element handlers. Register them with jQuery-style \r\n\t\t // ID selector for either ID or node name. (\"#iAmID\", \"div\", \"span\" etc.)\r\n\t\t // There is no support for any other type of selectors \r\n\t\t // (class, of compound) at this time.\r\n\t\t\tspecialElementHandlers = \r\n\t\t\t{\r\n\t\t // element with id of \"bypass\" - jQuery style selector\r\n\t\t '#bypassme' : function(element, renderer) {\r\n\t\t // true = \"handled elsewhere, bypass text extraction\"\r\n\t\t return true;\r\n\t\t }\r\n\t\t };\r\n\t\t margins = {\r\n\t\t top : config.topMargin,\r\n\t\t bottom : config.bottomMargin,\r\n\t\t left : config.leftMargin,\r\n\t\t width : config.maxWidth\r\n\t\t };\r\n\t\t var self = this;\r\n\t\t // all coords and widths are in jsPDF instance's declared units\r\n\t\t // 'inches' in this case\r\n\t\t pdf.fromHTML(divSource, // HTML string or DOM elem ref.\r\n\t\t margins.left, // x coord\r\n\t\t margins.top, { // y coord\r\n\t\t 'width' : margins.width, // max width of content on PDF\r\n\t\t 'elementHandlers' : specialElementHandlers\r\n\t\t },\r\n\t\r\n\t\t function(dispose) {\r\n\t\t // dispose: object with X, Y of the last line add to the PDF \r\n\t\t // this allow the insertion of new lines after html\r\n\t\t pdf.save(self.__getFileName(\"pdf\"));\r\n\t\t\t\tdocument.body.removeChild(divSource);\r\n\t\t }, margins);\r\n\t\t};\r\n\t\tif(!this.__externalScriptLoad.jspdf)\r\n\t\t{\r\n\t\t\tthis.__includeJavaScriptFile(this.__extFilePath + \"/jspdf/jspdf.min.js\",this.__processPDF.bind(this));\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\tthis.__processPDF.bind(this)();\r\n\t\t}\r\n\t};\r\n\t\r\n\tNSExport.prototype.image = function(setting) \r\n\t{\r\n\t\tif(!setting)\r\n\t\t{\r\n\t\t\tsetting = {};\r\n\t\t}\r\n\t\tthis.__processImage = function()\r\n\t\t{\r\n\t\t\tthis.__externalScriptLoad.html2canvas = true;\r\n\t\t\tif(!setting.type || (setting.type !== \"png\" && setting.type !== \"jpeg\"))\r\n\t\t\t{\r\n\t\t\t\tthis.util.warning(\"NSExport\",\"Image type value was either not valid or not in the correct format.Hence defaulting to png\");\r\n\t\t\t\tsetting.type = \"png\";\r\n\t\t\t}\r\n\t\t\tvar imageType = \"image/\" + setting.type; \r\n\t\t\tvar divParent = this.__getStructureForImage();\r\n\t\t\tif(divParent)\r\n\t\t\t{\r\n\t\t\t\tvar nsExport = this;\r\n\t\t\t\thtml2canvas(divParent,{\r\n\t\t\t\t\tonrendered: function(canvas) {\t\t\r\n\t\t\t\t\t\t//document.body.appendChild(canvas);\r\n\t\t\t\t\t\tvar data = canvas.toDataURL(imageType);\r\n\t\t\t\t\t\tif(!data || data === \"data:,\")\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tnsExport.util.throwNSError(\"NSExport\",\"Please give table some width and height\");\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tnsExport.__downloadFile(data,imageType,setting.type);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t});\t\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\tthis.util.throwNSError(\"NSExport\",\"Please add the table inside a parent Element\");\r\n\t\t\t}\r\n\t\t};\r\n\t\tif(!this.__externalScriptLoad.html2canvas)\r\n\t\t{\r\n\t\t\tthis.__includeJavaScriptFile(this.__extFilePath + \"/html2canvas/html2canvas.min.js\",this.__processImage.bind(this));\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\tthis.__processImage.bind(this)();\r\n\t\t}\r\n\t};\r\n\t\r\n\tNSExport.prototype.__exportOfficeTypes = function(setting) \r\n\t{\r\n\t\tvar htmlText = this.__getHTMLTextForOffice(setting);\r\n\t\tif(htmlText && htmlText.length > 0)\r\n\t\t{\r\n\t\t\tvar uri = \"application/vnd.ms-\" + setting.appType;\r\n\t\t\tif(setting.extension === \"doc\")\r\n\t\t\t{\r\n\t\t\t\turi = \"application/msword\";\r\n\t\t\t}\r\n\t\t\tthis.__downloadFile(htmlText,uri,setting.extension,setting.event);\r\n\t\t}\r\n\t};\r\n\t\r\n\tNSExport.prototype.__getHTMLTextForOffice = function(setting) \r\n\t{\r\n\t\tvar appType = setting.appType;\r\n\t\tvar element = setting.element;\r\n\t\tvar headerFooterCss = setting.headerFooterCss ? setting.headerFooterCss : \"\";\r\n\t var startHtml = setting.startHtml ? setting.startHtml : \"\";\r\n\t var endHtml = setting.endHtml ? setting.endHtml : \"\";\r\n\t\tvar htmlText = \"\";\r\n\t\tvar outerHTML = null;\r\n\t\tvar isTable = false;\r\n\t\tif(element)\r\n\t\t{\r\n\t\t\touterHTML = element.outerHTML;\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\tvar table = this.__getTable();\r\n\t\t\tif(table)\r\n\t\t\t{\r\n\t\t\t\touterHTML = table.outerHTML;\r\n\t\t\t}\r\n\t\t\tisTable = true;\r\n\t\t}\r\n\t\tvar objValue = {};\r\n\t\tswitch(appType)\r\n\t\t{\r\n\t\t\tcase \"doc\":\r\n\t\t\t\tobjValue = this.__getHTMLTextForWord(setting,outerHTML,isTable);\r\n\t\t\tbreak;\r\n\t\t\tcase \"excel\":\r\n\t\t\t\tobjValue = this.__getHTMLTextForExcel(setting,outerHTML,isTable);\r\n\t\t\tbreak;\r\n\t\t\tcase \"powerpoint\":\r\n\t\t\t\tobjValue = this.__getHTMLTextForPpt(setting,outerHTML,isTable);\r\n\t\t\tbreak;\r\n\t\t}\r\n\t\tif(outerHTML)\r\n\t\t{\r\n\t\t\tobjValue.style = (objValue.style) ? objValue.style : \"\";\r\n\t\t\thtmlText = '<html xmlns:o=\"urn:schemas-microsoft-com:office:office\" xmlns:x=\"urn:schemas-microsoft-com:office:' + appType +'\" xmlns=\"http://www.w3.org/TR/REC-html40\">';\r\n\t\t\thtmlText += '<head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">';\r\n\t\t\thtmlText +='<!--[if gte mso 9]><xml>';\r\n\t\t\thtmlText += objValue.header;\r\n\t\t\thtmlText += '</xml><![endif]-->';\r\n\t\t //htmlText +=\"<o:shapedefaults v:ext=\\\"edit\\\" spidmax=\\\"1026\\\"/>\";\r\n\t\t\thtmlText += '<style>' + objValue.style + headerFooterCss + '.header{mso-style-parent:style0;color:white;font-size:10.0pt;font-weight:700;font-family:Tahoma, sans-serif;mso-font-charset:0;text-align:center;background:gray;mso-pattern:black none;}</style>';\r\n\t\t\thtmlText += '</head>';\r\n\t\t\thtmlText += '<body link=\"blue\" vlink=\"purple\">';\r\n\t\t\thtmlText += startHtml + objValue.html + endHtml;\r\n\t\t\thtmlText += '</body></html>';\r\n\t\t}\r\n\t\treturn htmlText;\r\n\t};\r\n\t\r\n\tNSExport.prototype.__getHTMLTextForWord = function(setting,html,isTable)\r\n\t{\r\n\t\tvar objReturn = {header:null,style:null,html:html};\r\n\t\tobjReturn.header = \"<w:WordDocument><w:View>Print</w:View><w:Zoom>100</w:Zoom><w:DoNotOptimizeForBrowser/></w:WordDocument>\";\r\n\t\tif(isTable)\r\n\t\t{\r\n\t\t\tobjReturn.style = 'table{border-collapse: collapse;} table, th, td {border: 1px solid black;} ';\r\n\t\t}\r\n\t\tif(setting[\"pageBreakTag\"])\r\n\t\t{\r\n\t\t\tobjReturn.html = objReturn.html.replaceAll(setting[\"pageBreakTag\"],\"<br clear=all style='mso-special-character:line-break;page-break-before:always'>\");\r\n\t\t}\r\n\t\treturn objReturn;\r\n\t};\r\n\t\r\n\tNSExport.prototype.__getHTMLTextForExcel = function(setting,html,isTable)\r\n\t{\r\n\t\tvar objReturn = {header:null,style:null,html:html};\r\n\t\tobjReturn.header = \"<x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name>\";\r\n\t\tobjReturn.header += (setting[\"sheetName\"] ? setting[\"sheetName\"]: ((this.__fileName ? this.__fileName : \"Sheet 1\")));\r\n\t\tobjReturn.header += '</x:Name><x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook>';\r\n\t\treturn objReturn;\r\n\t};\r\n\t\r\n\tNSExport.prototype.__getHTMLTextForPpt = function(setting,html,isTable)\r\n\t{\r\n\t\tvar objReturn = {header:null,style:null,html:html};\r\n\t\tobjReturn.header = \"<x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name>\";\r\n\t\tobjReturn.header += (setting[\"sheetName\"] ? setting[\"sheetName\"]: ((this.__fileName ? this.__fileName : \"Sheet 1\")));\r\n\t\tobjReturn.header += '</x:Name><x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook>';\r\n\t\treturn objReturn;\r\n\t};\r\n\t\r\n\tNSExport.prototype.__downloadFile = function(text,uri,fileType,event) \r\n\t{\r\n\t\tif(text && fileType)\r\n\t\t{\r\n\t\t\tif (\"Blob\" in window) \r\n\t\t\t{\r\n\t\t\t\tvar fileName = this.__getFileName(fileType);\r\n\t\t\t\tif (\"msSaveOrOpenBlob\" in window.navigator) \r\n\t\t\t\t{\r\n\t\t\t\t\tvar blobObject = null;\r\n\t\t\t\t\tif(text instanceof Blob)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tblobObject = text;\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse if(!(text instanceof ArrayBuffer) && text.indexOf(\"base64\") > -1)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tblobObject = this.__dataURItoBlob(text);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tblobObject = new Blob([text], { type: uri});\r\n\t\t\t\t\t}\r\n\t\t\t\t\twindow.navigator.msSaveOrOpenBlob(blobObject,fileName);\r\n\t\t\t\t}\r\n\t\t\t\telse\r\n\t\t\t\t{\r\n\t\t\t\t\tvar hrefvalue = null;\r\n\t\t\t\t\tif(text instanceof ArrayBuffer)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tvar blobObject = new Blob([text], {type: uri});\r\n\t\t\t\t\t\threfvalue = URL.createObjectURL(blobObject);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse if(text instanceof Blob)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\threfvalue = URL.createObjectURL(text);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tif(text.indexOf(\"data:\") === -1)\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\turi = \"data:\" + uri;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif(text.indexOf(\";base64,\") === -1)\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tvar base64String = \";base64,\" + window.btoa(window.unescape(encodeURIComponent(text)));\r\n\t\t\t\t\t\t\threfvalue = uri + base64String;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\threfvalue = text;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\t\r\n\t\t\t\t var anchor = document.createElement(\"a\");\r\n\t\t\t\t if (\"webkitURL\" in window) \r\n\t\t\t\t {\r\n\t\t\t\t // Chrome allows the link to be clicked without actually adding it to the DOM.\r\n\t\t\t\t \t//hrefvalue = window.webkitURL.createObjectURL([hrefvalue]);\r\n\t\t\t\t }\r\n\t\t\t\t else\r\n\t\t\t\t {\r\n\t\t\t\t \t//hrefvalue = window.URL.createObjectURL([hrefvalue]);\r\n\t\t\t\t \tanchor.style.display = 'none';\r\n\t\t\t\t document.body.appendChild(anchor);\r\n\t\t\t\t this.util.addEvent(anchor,\"click\",function(event){\r\n\t\t\t\t \t\tdocument.body.removeChild(event.target);\r\n\t\t\t\t \t});\r\n\t\t\t\t }\r\n\t\t\t\t anchor.setAttribute(\"href\",hrefvalue);\r\n\t\t\t\t anchor.setAttribute(\"download\",this.__getFileName(fileType));\r\n\t\t\t\t anchor.setAttribute(\"target\",\"_blank\");\r\n\t\t\t\t anchor.innerHTML = \"Download File\";\r\n\t\t\t\t /*if(window.URL && window.URL.revokeObjectURL)\r\n\t\t\t\t {\r\n\t\t\t\t \twindow.URL.revokeObjectURL(hrefvalue);\r\n\t\t\t\t }*/\r\n\t\t\t\t anchor.click();\r\n\t\t\t\t if(event)\r\n\t\t\t\t {\r\n\t\t\t\t \tthis.util.preventDefault(event);\r\n\t\t\t\t }\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\t\r\n\tNSExport.prototype.__getTable = function() \r\n\t{ \r\n\t\tvar tblResult = null;\r\n\t\tif(this.__grid)\r\n\t\t{\r\n\t\t\tvar grid = this.__getPrototype(this.__grid);\r\n\t\t\tif(grid && this.__isTypeNSGrid(grid))\r\n\t\t\t{\r\n\t\t\t\tvar tblHeader = grid.__tblCenterHeader;\r\n\t\t \tvar tblBody = grid.__tblCenterBody;\r\n\t\t \ttblResult = document.createElement(\"TABLE\");\r\n\t\t \ttblResult.style.width = tblHeader.style.width;\r\n\t\t \tif(tblHeader && tblHeader.tBodies && tblHeader.tBodies.length > 0 && tblHeader.tBodies[0].rows && tblHeader.tBodies[0].rows.length > 0)\r\n\t\t\t\t{\r\n\t\t \t\tvar arrColumns = grid.__columns;\r\n\t\t \t\tif(grid.gridType === grid.GRID_TYPE_GROUP)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tarrColumns = grid.util.cloneObject(arrColumns);\r\n\t\t\t\t\t\tarrColumns.splice(0, 1);\r\n\t\t\t\t\t}\r\n\t\t \t\tvar header = tblResult.createTHead();\r\n\t\t \t\tvar headerRow = header.insertRow(-1);\r\n\t\t \t\tvar rowIndex = 0;\r\n\t\t \t\tvar colIndex = 0;\r\n\t\t\t for(colIndex = 0; colIndex < arrColumns.length; colIndex++)\r\n\t\t\t {\r\n\t\t\t \tvar colItem = arrColumns[colIndex];\r\n\t\t\t \tif(colItem && (!colItem.hasOwnProperty(grid.__fieldColVisible) || colItem[grid.__fieldColVisible]) && (!colItem.hasOwnProperty(\"isExportable\") || Boolean.parse(colItem[\"isExportable\"])))\r\n\t\t\t \t{\r\n\t\t\t \t\tvar headerCell = headerRow.insertCell(-1);\r\n\t\t\t \t\tthis.util.addStyleClass(headerCell,\"header\");\r\n\t\t\t\t \t\theaderCell.style.width = colItem[\"width\"]; \r\n\t\t\t\t \t\tvar headerText = colItem[\"headerText\"];\r\n\t\t\t\t \t\theaderCell.appendChild(document.createTextNode(headerText));\r\n\t\t\t \t}\r\n\t\t\t }\r\n\t\t\t if(tblBody && tblBody.tBodies && tblBody.tBodies.length > 0 && tblBody.tBodies[0].rows && tblBody.tBodies[0].rows.length > 0)\r\n\t\t\t\t\t{\r\n\t\t\t \tvar arrItems = grid.__getAllItems();\r\n\t\t\t \tvar body = document.createElement(\"tbody\");\r\n\t\t\t \ttblResult.appendChild(body);\r\n\t\t\t \tvar colText = \"\";\r\n\t\t\t \tvar row = null;\r\n\t\t\t \tfor(rowIndex = 0;rowIndex < arrItems.length;rowIndex++)\r\n\t\t\t \t {\r\n\t\t\t \t\tvar item = arrItems[rowIndex];\r\n\t\t\t \t\tif(!item.hasOwnProperty(grid.__fieldRowVisible) || item[grid.__fieldRowVisible])\r\n\t\t\t \t\t{\r\n\t\t\t\t \t\tvar bodyRow = body.insertRow(-1);\r\n\t\t\t\t \t\tfor(colIndex = 0;colIndex < arrColumns.length;colIndex++)\r\n\t\t\t\t \t {\r\n\t\t\t\t \t\t\tvar colItem = arrColumns[colIndex];\r\n\t\t\t\t \t\t\tif(colItem && (!colItem.hasOwnProperty(grid.__fieldColVisible) || colItem[grid.__fieldColVisible]) && (!colItem.hasOwnProperty(\"isExportable\") || Boolean.parse(colItem[\"isExportable\"])))\r\n\t\t\t\t \t \t{\r\n\t\t\t\t \t\t\t\tcolText = item[colItem[\"dataField\"]];\r\n\t\t\t\t\t\t\t\t\t\tif(colItem.hasOwnProperty(\"exportRenderer\"))\r\n\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\tcolText = colItem[\"exportRenderer\"](item,colItem[\"dataField\"],item[grid.__fieldIndex],count);\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t \t\t\t\tvar bodyCell = bodyRow.insertCell(-1);\r\n\t\t\t\t\t \t\t\tbodyCell.style.width = colItem[\"width\"]; \r\n\t\t\t\t\t \t \t\tbodyCell.innerHTML = colText;\r\n\t\t\t\t \t \t}\r\n\t\t\t\t \t }\r\n\t\t\t \t\t}\r\n\t\t\t \t }\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\ttblResult = this.__grid.cloneNode(true);\r\n\t\t\t\tif(tblResult.tHead && tblResult.tHead.rows && tblResult.tHead.rows.length > 0)\r\n\t\t\t\t{\r\n\t\t\t\t\tvar headerRow = tblResult.tHead.rows[0];\r\n\t\t\t\t\tif(headerRow)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tvar arrCells = [];\r\n\t\t\t\t\t\tvar arrTempCells = [];\r\n\t\t\t\t\t\tif(headerRow.getElementsByTagName(\"th\").length > 0)\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tarrTempCells = headerRow.getElementsByTagName(\"th\");\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse if(headerRow.getElementsByTagName(\"td\").length > 0)\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tarrTempCells = headerRow.getElementsByTagName(\"td\");\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tarrCells = Array.prototype.slice.call(arrTempCells).slice(0);\r\n\t\t\t \t\tvar colIndex = 0;\r\n\t\t\t \t\tvar cell = null;\r\n\t\t\t \t\tfor(colIndex = arrCells.length - 1; colIndex >= 0; colIndex--)\r\n\t\t\t\t {\r\n\t\t\t \t\t\theaderRow.deleteCell(colIndex);\r\n\t\t\t\t }\r\n\t\t\t\t for(colIndex = 0; colIndex < arrCells.length; colIndex++)\r\n\t\t\t\t {\r\n\t\t\t\t \tcell = arrCells[colIndex];\r\n\t\t\t\t \tvar headerCell = headerRow.insertCell(-1);\r\n\t\t\t\t \theaderCell.style.width = cell.offsetWidth + \"px\";\r\n\t\t\t\t \theaderCell.color = \"red\";\r\n\t\t\t\t \theaderCell.appendChild(document.createTextNode(cell.textContent.trim()));\r\n\t\t\t\t \tthis.util.addStyleClass(headerCell,\"header\");\r\n\t\t\t\t }\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif(tblResult)\r\n\t\t\t{\r\n\t\t\t\ttblResult.setAttribute(\"border\",0);\r\n\t\t \ttblResult.setAttribute(\"cellpadding\",0);\r\n\t\t \ttblResult.setAttribute(\"cellspacing\",0);\r\n\t\t \ttblResult.setAttribute(\"style\",\"border-collapse:collapse;table-layout:fixed;\");\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn tblResult;\r\n\t};\r\n\t\r\n\tNSExport.prototype.__getTableAsString = function(delimiter,newLine,headerSeparator) \r\n\t{ \r\n\t\tvar strResult = \"\";\r\n\t\tif(this.__grid)\r\n\t\t{\r\n\t\t\tvar grid = this.__getPrototype(this.__grid);\r\n\t\t\tif(grid && this.__isTypeNSGrid(grid))\r\n\t\t\t{\r\n\t\t\t\tvar tblHeader = grid.__tblCenterHeader;\r\n\t\t \tvar tblBody = grid.__tblCenterBody;\r\n\t\t \tif(tblHeader && tblHeader.tBodies && tblHeader.tBodies.length > 0 && tblHeader.tBodies[0].rows && tblHeader.tBodies[0].rows.length > 0)\r\n\t\t\t\t{\r\n\t\t \t\tvar arrColumns = grid.__columns;\r\n\t\t \t\tif(grid.gridType === grid.GRID_TYPE_GROUP)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tarrColumns = grid.util.cloneObject(arrColumns);\r\n\t\t\t\t\t\tarrColumns.splice(0, 1);\r\n\t\t\t\t\t}\r\n\t\t \t\tvar rowIndex = 0;\r\n\t\t \t\tvar colIndex = 0;\r\n\t\t \t\tvar cell = null;\r\n\t\t \t\tvar arrCollItem = [];\r\n\t\t\t for(colIndex = 0; colIndex < arrColumns.length; colIndex++)\r\n\t\t\t {\r\n\t\t\t \tvar colItem = arrColumns[colIndex];\r\n\t\t\t \tif(colItem && (!colItem.hasOwnProperty(grid.__fieldColVisible) || colItem[grid.__fieldColVisible]) && (!colItem.hasOwnProperty(\"isExportable\") || Boolean.parse(colItem[\"isExportable\"])))\r\n\t\t\t \t{\r\n\t\t\t\t \t\tvar headerText = colItem[\"headerText\"];\r\n\t\t\t\t \t\tif(colIndex > 0)\r\n\t\t\t\t \t\t{\r\n\t\t\t\t \t\t\tstrResult += delimiter;\r\n\t\t\t\t \t\t}\r\n\t\t\t\t \t\tstrResult += this.__getFieldValue(headerText,delimiter);\r\n\t\t\t \t}\r\n\t\t\t }\r\n\t\t\t strResult += newLine;\r\n\t\t\t if(headerSeparator)\r\n\t\t\t {\r\n\t\t\t \tvar separatorLength = strResult.length + 20;\r\n\t\t\t \tfor(var count = 0;count < separatorLength;count++)\r\n\t\t\t \t {\r\n\t\t\t \t\tstrResult += headerSeparator;\r\n\t\t\t \t }\r\n\t\t\t \tstrResult += newLine;\r\n\t\t\t }\r\n\t\t\t if(tblBody && tblBody.tBodies && tblBody.tBodies.length > 0 && tblBody.tBodies[0].rows && tblBody.tBodies[0].rows.length > 0)\r\n\t\t\t\t\t{\r\n\t\t\t \tvar arrItems = grid.__getAllItems();\r\n\t\t\t \tvar colText = \"\";\r\n\t\t\t \tfor(rowIndex = 0;rowIndex < arrItems.length;rowIndex++)\r\n\t\t\t \t {\r\n\t\t\t \t\tvar item = arrItems[rowIndex];\r\n\t\t\t \t\tif(!item.hasOwnProperty(grid.__fieldRowVisible) || item[grid.__fieldRowVisible])\r\n\t\t\t \t\t{\r\n\t\t\t\t \t\tfor(colIndex = 0;colIndex < arrColumns.length;colIndex++)\r\n\t\t\t\t \t {\r\n\t\t\t\t \t\t\tvar colItem = arrColumns[colIndex];\r\n\t\t\t\t \t\t\tif(colItem && (!colItem.hasOwnProperty(grid.__fieldColVisible) || colItem[grid.__fieldColVisible]) && (!colItem.hasOwnProperty(\"isExportable\") || Boolean.parse(colItem[\"isExportable\"])))\r\n\t\t\t\t \t \t{\r\n\t\t\t\t \t\t\t\tif(colIndex > 0)\r\n\t\t\t\t\t\t\t \t\t{\r\n\t\t\t\t\t\t\t \t\t\tstrResult += delimiter;\r\n\t\t\t\t\t\t\t \t\t}\r\n\t\t\t\t \t\t\t\tcolText = item[colItem[\"dataField\"]];\r\n\t\t\t\t\t\t\t\t\t\tif(colItem.hasOwnProperty(\"exportRenderer\"))\r\n\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\tcolText = colItem[\"exportRenderer\"](item,colItem[\"dataField\"],item[grid.__fieldIndex],count);\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t \t\t\t\tstrResult += this.__getFieldValue(colText,delimiter);\r\n\t\t\t\t \t \t}\r\n\t\t\t\t \t }\r\n\t\t\t\t \t\tstrResult += newLine;\r\n\t\t\t \t\t}\r\n\t\t\t \t }\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\tif(this.__grid.tHead && this.__grid.tHead.rows && this.__grid.tHead.rows.length > 0)\r\n\t\t\t\t{\r\n\t\t\t\t\tvar headerRow = this.__grid.tHead.rows[0];\r\n\t\t\t\t\tif(headerRow)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tvar arrCells = [];\r\n\t\t\t\t\t\tif(headerRow.getElementsByTagName(\"th\").length > 0)\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tarrCells = headerRow.getElementsByTagName(\"th\");\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse if(headerRow.getElementsByTagName(\"td\").length > 0)\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tarrCells = headerRow.getElementsByTagName(\"td\");\r\n\t\t\t\t\t\t}\r\n\t\t\t \t\tvar colIndex = 0;\r\n\t\t\t \t\tvar cell = null;\r\n\t\t\t\t for(colIndex = 0; colIndex < arrCells.length; colIndex++)\r\n\t\t\t\t {\r\n\t\t\t\t \tif(!this.__isColumnIgnored(colIndex))\r\n\t\t\t\t \t{\r\n\t\t\t\t\t \tcell = arrCells[colIndex];\r\n\t\t\t\t\t \t\tvar headerText = cell.textContent.trim();\r\n\t\t\t\t\t \t\tif(colIndex > 0)\r\n\t\t\t\t\t \t\t{\r\n\t\t\t\t\t \t\t\tstrResult += delimiter;\r\n\t\t\t\t\t \t\t}\r\n\t\t\t\t\t \t\tstrResult += this.__getFieldValue(headerText,delimiter);\r\n\t\t\t\t \t}\r\n\t\t\t\t }\r\n\t\t\t\t strResult += newLine;\r\n\t\t\t\t if(headerSeparator)\r\n\t\t\t\t {\r\n\t\t\t\t \tvar separatorLength = strResult.length + 20;\r\n\t\t\t\t \tfor(var count = 0;count < separatorLength;count++)\r\n\t\t\t\t \t {\r\n\t\t\t\t \t\tstrResult += headerSeparator;\r\n\t\t\t\t \t }\r\n\t\t\t\t \tstrResult += newLine;\r\n\t\t\t\t }\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tif(this.__grid.tBodies && this.__grid.tBodies.length > 0 && this.__grid.tBodies[0].rows && this.__grid.tBodies[0].rows.length > 0)\r\n\t\t\t\t{\r\n\t\t\t\t\tvar arrRows = this.__grid.tBodies[0].rows;\r\n\t\t \t\tvar rowIndex = 0;\r\n\t\t \t\tvar colIndex = 0;\r\n\t\t \t\tfor(rowIndex = 0;rowIndex < arrRows.length;rowIndex++)\r\n\t\t \t {\r\n\t\t \t\tvar row = arrRows[rowIndex];\r\n\t\t \t\tvar cells = row.cells;\r\n\t\t \t\tfor(colIndex = 0;colIndex < cells.length;colIndex++)\r\n\t\t \t {\r\n\t\t \t\t\tif(!this.__isColumnIgnored(colIndex))\r\n\t\t\t\t \t{\r\n\t\t\t \t\t\tvar cell = cells[colIndex];\r\n\t\t\t \t\t\tif(colIndex > 0)\r\n\t\t\t\t\t \t\t{\r\n\t\t\t\t\t \t\t\tstrResult += delimiter;\r\n\t\t\t\t\t \t\t}\r\n\t\t\t \t\t\tstrResult += this.__getFieldValue(cell.textContent.trim());\r\n\t\t\t\t \t}\r\n\t\t \t }\r\n\t\t \t\tstrResult += newLine;\r\n\t\t \t }\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn strResult;\r\n\t};\r\n\t\r\n\tNSExport.prototype.__getTableAsXML = function() \r\n\t{ \r\n\t\tvar strXML = \"\";\r\n\t\tif(this.__grid)\r\n\t\t{\r\n\t\t\tstrXML = '<?xml version=\"1.0\" encoding=\"utf-8\"?>';\r\n\t\t\tstrXML += '<root>';\r\n\t\t\tvar grid = this.__getPrototype(this.__grid);\r\n\t\t\tif(grid && this.__isTypeNSGrid(grid))\r\n\t\t\t{\r\n\t\t\t\tvar tblHeader = grid.__tblCenterHeader;\r\n\t\t \tvar tblBody = grid.__tblCenterBody;\r\n\t\t \tif(tblHeader && tblHeader.tBodies && tblHeader.tBodies.length > 0 && tblHeader.tBodies[0].rows && tblHeader.tBodies[0].rows.length > 0)\r\n\t\t\t\t{\r\n\t\t \t\tstrXML += '<columns>';\r\n\t\t \t\tvar arrColumns = grid.__columns;\r\n\t\t \t\tif(grid.gridType === grid.GRID_TYPE_GROUP)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tarrColumns = grid.util.cloneObject(arrColumns);\r\n\t\t\t\t\t\tarrColumns.splice(0, 1);\r\n\t\t\t\t\t}\r\n\t\t \t\tvar rowIndex = 0;\r\n\t\t \t\tvar colIndex = 0;\r\n\t\t \t\tvar cell = null;\r\n\t\t \t\tvar arrCollItem = [];\r\n\t\t\t for(colIndex = 0; colIndex < arrColumns.length; colIndex++)\r\n\t\t\t {\r\n\t\t\t \tvar colItem = arrColumns[colIndex];\r\n\t\t\t \tif(colItem && (!colItem.hasOwnProperty(grid.__fieldColVisible) || colItem[grid.__fieldColVisible]) && (!colItem.hasOwnProperty(\"isExportable\") || Boolean.parse(colItem[\"isExportable\"])))\r\n\t\t\t \t{\r\n\t\t\t\t \t\tvar headerText = colItem[\"headerText\"];\r\n\t\t\t\t \t\tstrXML += \"<column>\" + headerText + \"</column>\";\r\n\t\t\t \t}\r\n\t\t\t }\r\n\t\t\t strXML += '</columns>';\r\n\t\t\t if(tblBody && tblBody.tBodies && tblBody.tBodies.length > 0 && tblBody.tBodies[0].rows && tblBody.tBodies[0].rows.length > 0)\r\n\t\t\t\t\t{\r\n\t\t\t \tstrXML += '<rows>';\r\n\t\t\t \tvar arrItems = grid.__getAllItems();\r\n\t\t\t \tvar colText = \"\";\r\n\t\t\t \tvar rowCounter = 1;\r\n\t\t\t \tfor(rowIndex = 0;rowIndex < arrItems.length;rowIndex++)\r\n\t\t\t \t {\r\n\t\t\t \t\tvar item = arrItems[rowIndex];\r\n\t\t\t \t\tif(!item.hasOwnProperty(grid.__fieldRowVisible) || item[grid.__fieldRowVisible])\r\n\t\t\t \t\t{\r\n\t\t\t \t\t\tstrXML += '<row id=\"row-'+ rowCounter++ +'\">';\r\n\t\t\t\t\t\t\t\tvar colCounter = 1;\r\n\t\t\t\t \t\tfor(colIndex = 0;colIndex < arrColumns.length;colIndex++)\r\n\t\t\t\t \t {\r\n\t\t\t\t \t\t\tvar colItem = arrColumns[colIndex];\r\n\t\t\t\t \t\t\tif(colItem && (!colItem.hasOwnProperty(grid.__fieldColVisible) || colItem[grid.__fieldColVisible]) && (!colItem.hasOwnProperty(\"isExportable\") || Boolean.parse(colItem[\"isExportable\"])))\r\n\t\t\t\t \t \t{\r\n\t\t\t\t \t\t\t\tcolText = item[colItem[\"dataField\"]];\r\n\t\t\t\t\t\t\t\t\t\tif(colItem.hasOwnProperty(\"exportRenderer\"))\r\n\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\tcolText = colItem[\"exportRenderer\"](item,colItem[\"dataField\"],item[grid.__fieldIndex],count);\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t \t\t\t\tstrXML += '<column id=\"column-'+ colCounter++ +'\">';\r\n\t\t\t\t \t\t\t\tstrXML += colText;\r\n\t\t\t\t \t\t\t\tstrXML += '</column>';\r\n\t\t\t\t \t \t}\r\n\t\t\t\t \t }\r\n\t\t\t\t \t\tstrXML += '</row>';\r\n\t\t\t \t\t}\r\n\t\t\t \t }\r\n\t\t\t \tstrXML += '</rows>';\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\tif(this.__grid.tHead && this.__grid.tHead.rows && this.__grid.tHead.rows.length > 0)\r\n\t\t\t\t{\r\n\t\t\t\t\tvar headerRow = this.__grid.tHead.rows[0];\r\n\t\t\t\t\tif(headerRow)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tvar arrCells = [];\r\n\t\t\t\t\t\tif(headerRow.getElementsByTagName(\"th\").length > 0)\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tarrCells = headerRow.getElementsByTagName(\"th\");\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse if(headerRow.getElementsByTagName(\"td\").length > 0)\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tarrCells = headerRow.getElementsByTagName(\"td\");\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tstrXML += '<columns>';\r\n\t\t\t \t\tvar colIndex = 0;\r\n\t\t\t \t\tvar cell = null;\r\n\t\t\t\t for(colIndex = 0; colIndex < arrCells.length; colIndex++)\r\n\t\t\t\t {\r\n\t\t\t\t \tif(!this.__isColumnIgnored(colIndex))\r\n\t\t\t\t \t{\r\n\t\t\t\t\t \tcell = arrCells[colIndex];\r\n\t\t\t\t\t \tstrXML += \"<column>\" + cell.textContent.trim() + \"</column>\";\r\n\t\t\t\t \t}\r\n\t\t\t\t }\r\n\t\t\t\t strXML += '</columns>';\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tif(this.__grid.tBodies && this.__grid.tBodies.length > 0 && this.__grid.tBodies[0].rows && this.__grid.tBodies[0].rows.length > 0)\r\n\t\t\t\t{\r\n\t\t\t\t\tvar arrRows = this.__grid.tBodies[0].rows;\r\n\t\t\t\t\tstrXML += '<rows>';\r\n\t\t \tvar rowCounter = 1;\r\n\t\t \t\tvar rowIndex = 0;\r\n\t\t \t\tvar colIndex = 0;\r\n\t\t \t\tfor(rowIndex = 0;rowIndex < arrRows.length;rowIndex++)\r\n\t\t \t {\r\n\t\t \t\t\tstrXML += '<row id=\"row-'+ rowCounter++ +'\">';\r\n\t\t \t\t\tvar colCounter = 1;\r\n\t\t \t\tvar row = arrRows[rowIndex];\r\n\t\t \t\tvar cells = row.cells;\r\n\t\t \t\tfor(colIndex = 0;colIndex < cells.length;colIndex++)\r\n\t\t \t {\r\n\t\t \t\t\tif(!this.__isColumnIgnored(colIndex))\r\n\t\t\t\t \t{\r\n\t\t\t \t\t\tvar cell = cells[colIndex];\r\n\t\t\t \t\t\tstrXML += '<column id=\"column-'+ colCounter++ +'\">';\r\n\t\t \t\t\t\tstrXML += cell.textContent.trim();\r\n\t\t \t\t\t\tstrXML += '</column>';\r\n\t\t\t\t \t}\r\n\t\t \t }\r\n\t\t \t\tstrXML += '</row>';\r\n\t\t \t }\r\n\t\t \t\tstrXML += '</rows>';\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tstrXML += '</root>';\r\n\t\t}\r\n\t\treturn strXML;\r\n\t};\r\n\t\r\n\tNSExport.prototype.__getTableAsJson = function() \r\n\t{ \r\n\t\tvar retValue = { columns: [], rows: [] };\r\n\t\tif(this.__grid)\r\n\t\t{\r\n\t\t\tvar grid = this.__getPrototype(this.__grid);\r\n\t\t\tif(grid && this.__isTypeNSGrid(grid))\r\n\t\t\t{\r\n\t\t\t\tvar tblHeader = grid.__tblCenterHeader;\r\n\t\t \tvar tblBody = grid.__tblCenterBody;\r\n\t\t \tif(tblHeader && tblHeader.tBodies && tblHeader.tBodies.length > 0 && tblHeader.tBodies[0].rows && tblHeader.tBodies[0].rows.length > 0)\r\n\t\t\t\t{\r\n\t\t \t\tvar arrColumns = grid.__columns;\r\n\t\t \t\tif(grid.gridType === grid.GRID_TYPE_GROUP)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tarrColumns = grid.util.cloneObject(arrColumns);\r\n\t\t\t\t\t\tarrColumns.splice(0, 1);\r\n\t\t\t\t\t}\r\n\t\t \t\tvar rowIndex = 0;\r\n\t\t \t\tvar colIndex = 0;\r\n\t\t\t for(colIndex = 0; colIndex < arrColumns.length; colIndex++)\r\n\t\t\t {\r\n\t\t\t \tvar colItem = arrColumns[colIndex];\r\n\t\t\t \tif(colItem && (!colItem.hasOwnProperty(grid.__fieldColVisible) || colItem[grid.__fieldColVisible]) && (!colItem.hasOwnProperty(\"isExportable\") || Boolean.parse(colItem[\"isExportable\"])))\r\n\t\t\t \t{\r\n\t\t\t\t \t\tvar headerText = colItem[\"headerText\"];\r\n\t\t\t\t \t\tretValue.columns.push(headerText);\r\n\t\t\t \t}\r\n\t\t\t }\r\n\t\t\t if(tblBody && tblBody.tBodies && tblBody.tBodies.length > 0 && tblBody.tBodies[0].rows && tblBody.tBodies[0].rows.length > 0)\r\n\t\t\t\t\t{\r\n\t\t\t \tvar arrItems = grid.__getAllItems();\r\n\t\t\t \tvar colText = \"\";\r\n\t\t\t \tfor(rowIndex = 0;rowIndex < arrItems.length;rowIndex++)\r\n\t\t\t \t {\r\n\t\t\t \t\tvar item = arrItems[rowIndex];\r\n\t\t\t \t\tif(!item.hasOwnProperty(grid.__fieldRowVisible) || item[grid.__fieldRowVisible])\r\n\t\t\t \t\t{\r\n\t\t\t\t \t\tvar rowData = [];\r\n\t\t\t\t \t\tfor(colIndex = 0;colIndex < arrColumns.length;colIndex++)\r\n\t\t\t\t \t {\r\n\t\t\t\t \t\t\tvar colItem = arrColumns[colIndex];\r\n\t\t\t\t \t\t\tif(colItem && (!colItem.hasOwnProperty(grid.__fieldColVisible) || colItem[grid.__fieldColVisible]) && (!colItem.hasOwnProperty(\"isExportable\") || Boolean.parse(colItem[\"isExportable\"])))\r\n\t\t\t\t \t \t{\r\n\t\t\t\t \t\t\t\tcolText = item[colItem[\"dataField\"]];\r\n\t\t\t\t\t\t\t\t\t\tif(colItem.hasOwnProperty(\"exportRenderer\"))\r\n\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\tcolText = colItem[\"exportRenderer\"](item,colItem[\"dataField\"],item[grid.__fieldIndex],count);\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\trowData.push(colText ? colText : \"\");\r\n\t\t\t\t \t \t}\r\n\t\t\t\t \t }\r\n\t\t\t\t \t\tretValue.rows.push(rowData);\r\n\t\t\t \t\t}\r\n\t\t\t \t }\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\tif(this.__grid.tHead && this.__grid.tHead.rows && this.__grid.tHead.rows.length > 0)\r\n\t\t\t\t{\r\n\t\t\t\t\tvar headerRow = this.__grid.tHead.rows[0];\r\n\t\t\t\t\tif(headerRow)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tvar arrCells = [];\r\n\t\t\t\t\t\tif(headerRow.getElementsByTagName(\"th\").length > 0)\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tarrCells = headerRow.getElementsByTagName(\"th\");\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse if(headerRow.getElementsByTagName(\"td\").length > 0)\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tarrCells = headerRow.getElementsByTagName(\"td\");\r\n\t\t\t\t\t\t}\r\n\t\t\t \t\tvar colIndex = 0;\r\n\t\t\t \t\tvar cell = null;\r\n\t\t\t\t for(colIndex = 0; colIndex < arrCells.length; colIndex++)\r\n\t\t\t\t {\r\n\t\t\t\t \tif(!this.__isColumnIgnored(colIndex))\r\n\t\t\t\t \t{\r\n\t\t\t\t\t \tcell = arrCells[colIndex];\r\n\t\t\t\t\t \tretValue.columns.push(typeof cell !== \"undefined\" ? cell.textContent.trim() : \"\");\r\n\t\t\t\t \t}\r\n\t\t\t\t }\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tif(this.__grid.tBodies && this.__grid.tBodies.length > 0 && this.__grid.tBodies[0].rows && this.__grid.tBodies[0].rows.length > 0)\r\n\t\t\t\t{\r\n\t\t\t\t\tvar arrRows = this.__grid.tBodies[0].rows;\r\n\t\t \tvar rowCounter = 1;\r\n\t\t \t\tvar rowIndex = 0;\r\n\t\t \t\tvar colIndex = 0;\r\n\t\t \t\tfor(rowIndex = 0;rowIndex < arrRows.length;rowIndex++)\r\n\t\t \t {\r\n\t\t \t\tvar row = arrRows[rowIndex];\r\n\t\t \t\tvar style = window.getComputedStyle(row);\r\n\t\t \t\tif (style.display !== \"none\") \r\n\t\t \t\t{\r\n\t\t \t\t\tvar rowData = [];\r\n\t\t\t \t\tvar cells = row.cells;\r\n\t\t\t \t\tfor(colIndex = 0;colIndex < cells.length;colIndex++)\r\n\t\t\t \t {\r\n\t\t\t \t\t\tif(!this.__isColumnIgnored(colIndex))\r\n\t\t\t\t\t \t{\r\n\t\t\t\t \t\t\tvar cell = cells[colIndex];\r\n\t\t\t\t \t\t\trowData.push(typeof cell !== \"undefined\" ? cell.textContent.trim() : \"\");\r\n\t\t\t\t\t \t}\r\n\t\t\t \t }\r\n\t\t\t \t\tretValue.rows.push(rowData);\r\n\t\t \t\t}\r\n\t\t \t }\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn JSON.stringify(retValue);\r\n\t};\r\n\t\r\n\tNSExport.prototype.__getTableAsArray = function() \r\n\t{ \r\n\t\tvar arrSource = [];\r\n\t\tvar arrColumns = [];\r\n\t\tvar util = this.util;\r\n\t\tif(this.__grid)\r\n\t\t{\r\n\t\t\tvar grid = this.__getPrototype(this.__grid);\r\n\t\t\tif(grid && this.__isTypeNSGrid(grid))\r\n\t\t\t{\r\n\t\t \tif(grid.__columns && grid.__columns.length > 0)\r\n\t\t\t\t{\r\n\t\t \t\tvar arrColumnsTemp = grid.util.cloneObject(grid.__columns,true);\r\n\t\t \t\tif(grid.gridType === grid.GRID_TYPE_GROUP)\r\n\t\t\t\t\t{\r\n\t\t \t\t\tarrColumnsTemp.splice(0, 1);\r\n\t\t\t\t\t}\r\n\t\t \t\tvar rowIndex = 0;\r\n\t\t \t\tvar colIndex = 0;\r\n\t\t\t for(colIndex = 0; colIndex < arrColumnsTemp.length; colIndex++)\r\n\t\t\t {\r\n\t\t\t \tvar colItem = arrColumnsTemp[colIndex];\r\n\t\t\t \tif(!(colItem && (!colItem.hasOwnProperty(grid.__fieldColVisible) || colItem[grid.__fieldColVisible]) && (!colItem.hasOwnProperty(\"isExportable\") || Boolean.parse(colItem[\"isExportable\"]))))\r\n\t\t\t \t{\r\n\t\t\t \t\tarrColumnsTemp.splice(colIndex, 1);\r\n\t\t\t \t}\r\n\t\t\t \telse\r\n\t\t\t \t{\r\n\t\t\t \t\tcolItem.headerCellStyle = colItem[\"excelStyleHeaderFunction\"] ? colItem[\"excelStyleHeaderFunction\"](colItem,colIndex) : null;\r\n\t\t\t \t\tcolItem.type = colItem.exportType;\r\n\t\t\t \t\tif(!util.isUndefinedOrNull(colItem.width))\r\n\t\t\t\t \t{\r\n\t\t\t\t \t\tvar unit = util.getDimensionUnit(colItem.width);\r\n\t\t\t\t \t\tswitch(unit)\r\n\t\t\t\t \t\t{\r\n\t\t\t\t \t\t\tcase 1:\r\n\t\t\t\t \t\t\t\tcolItem.widthInPercentage = parseInt(colItem.width.substring(0,colItem.width.length - 1));\r\n\t\t\t\t \t\t\t\tcolItem.width = null;\r\n\t\t\t\t \t\t\tbreak;\r\n\t\t\t\t \t\t\tcase 2:\r\n\t\t\t\t \t\t\t\tcolItem.widthInPx = util.getDimensionAsNumber(null,colItem.width);\r\n\t\t\t\t \t\t\t\tcolItem.width = null;\r\n\t\t\t\t \t\t\tbreak;\r\n\t\t\t\t \t\t}\r\n\t\t\t\t \t}\r\n\t\t\t \t}\r\n\t\t\t }\r\n\t\t\t var dataSource = grid.getFilteredData();\r\n\t\t\t if(dataSource && dataSource.length > 0)\r\n\t\t\t {\r\n\t\t\t \tfor(rowIndex = 0;rowIndex < dataSource.length;rowIndex++)\r\n\t\t\t \t {\r\n\t\t\t \t\tvar data = dataSource[rowIndex];\r\n\t\t\t \t\tvar item = {};\r\n\t\t\t \t\tfor(colIndex = 0;colIndex < arrColumnsTemp.length;colIndex++)\r\n\t\t\t \t {\r\n\t\t\t \t\t\tvar colItem = arrColumnsTemp[colIndex];\r\n\t\t\t \t\t\tvar dataField = colItem.dataField;\r\n\t\t\t \t\t\tvar text = colItem[\"exportGetBodyTextFunction\"] ? colItem[\"exportGetBodyTextFunction\"](data,dataField,colItem) : data[dataField];\r\n\t\t\t \t\t\tvar style = colItem[\"excelStyleBodyFunction\"] ? colItem[\"excelStyleBodyFunction\"](data,dataField,colItem,text) : null;\r\n\t\t\t \t\t\titem[dataField] = {value: text,style: style};\r\n\t\t\t \t }\r\n\t\t\t \t\tarrSource.push(item);\r\n\t\t\t \t }\r\n\t\t\t \tif(grid.__enableFooter)\r\n\t\t\t \t{\r\n\t\t\t \t\tvar item = {};\r\n\t\t\t \t\tfor (var colIndex = 0; colIndex < arrColumnsTemp.length; colIndex++)\r\n\t\t\t \t\t {\r\n\t\t\t \t\t \tvar colItem = arrColumnsTemp[colIndex];\r\n\t\t\t \t\t \tvar dataField = colItem.dataField;\r\n\t\t\t \t\t \tvar text = colItem[\"exportGetFooterTextFunction\"] ? colItem[\"exportGetFooterTextFunction\"](dataField,colItem,grid.getGroupedSource(),0,colIndex) : \"\";\r\n\t\t\t \t\t \tvar style = colItem[\"excelStyleFooterFunction\"] ? colItem[\"excelStyleFooterFunction\"](dataField,colItem,grid.getGroupedSource(),0,colIndex,text) : null;\r\n\t\t\t \t\t\titem