Hello, I am having this error when I try to export to excel my Kendo Grid:
SyntaxError: missing ) in parenthetical
return (d.Order Again)
not sure what is happening, somebody could give me a hand with this issue?
thanks in advance!
001.var NoFoundMessage = $("#NoFoundMessage");002.var Kendogrid = $("#grid");003.var isOrderById = false;004. 005.(function (myOrders, $) {006. 007. myOrders.OrderHistory = (function () {008. 009. var Order = $("#Order").text();010. var PSQ = $("#PSQ").text();011. var Date = $("#Date").text();012. var Status = $("#Status").text();013. var OrderPurchase = $("#OrderPurchase").text();014. var Purchaser = $("#Purchaser").text();015. var ShipTo = $("#ShipTo").text();016. var Volume = $("#Volume").text();017. var OrderAgain = $("#OrderAgain").text();018. var ViewReceipt = $("#ViewReceipt").text();019. 020. var getUrlWithLocale = function (url) {021. var pathArray = window.location.pathname.split('/');022. var segment = pathArray[1];023. var regex = /^([a-zA-Z]{2}-[a-zA-Z]{2})$/;024. 025. if (regex.test(segment)) {026. return "/" + segment + url;027. }028. return url;029. }030. 031. var load = function() {032. showGrid();033. kendo.ui.progress(Kendogrid, true);034. Kendogrid.kendoGrid({035. noRecords: true,036. dataSource: {037. type: "POST",038. transport: {039. read: function(options) {040. if (isOrderById === false) {041. getOrdersDataSource(myOrders.SearchControl.pagingSearch(), options);042. } else {043. getOrderByIdDataSource(localStorage.OrderID, options);044. isOrderById = false;045. }046. }047. },048. batch: true,049. schema: {050. type: 'json',051. model: {052. id: "OrderID",053. fields: {054. OrderID: { type: "string" },055. PurchasedBy: { type: "string" },056. ReceivedDate: { type: "date" },057. OrderStatusDesc: { type: "string" },058. HAPOrderStatus: { type: "string" },059. OrderPurpose: { type: "string" },060. PurchaserName: { type: "string" },061. Recipient: { type: "string" },062. VolumePoints: { type: "string" },063. OrderAgain: { type: "string" },064. ViewReceipt: { type: "string" }065. }066. }067. },068. pageSize: 10069. },070. groupable: false,071. sortable: true,072. pageable: {073. refresh: false,074. pageSizes: true075. },076. columns: [077. {078. field: "OrderID",079. title: Order,080. template: function(data) {081. var url = getUrlWithLocale("/Account/OrderHistory/GetOrderDetails/");082. return "<a id='btnViewDetails' data-orderID='" +083. data.OrderID +084. "' href='" +085. url +086. data.OrderID +087. "/Ds' target='_self'>" +088. data.OrderID +089. "</a>";090. }091. },092. {093. field: "PurchasedBy",094. title: PSQ095. },096. {097. field: "ReceivedDate",098. title: Date,099. template: function(data) {100. return data.ReceivedDate.toLocaleDateString();101. }102. },103. {104. field: "OrderStatusDesc",105. title: Status,106. template: function(data) {107. if (data.OrderStatusDesc === 'ORDER COMPLETE') {108. return "<span class='complete'>" + data.OrderStatusDesc + "</span>";109. } else if (data.OrderStatusDesc === "CANCELLED") {110. return "<span class='cancelled'>" + data.OrderStatusDesc + "</span>";111. }else if (data.OrderStatusDesc === "PAID"){112. return "<span class='paid'>" + data.OrderStatusDesc + "</span>";113. }114. else {115. return "<span class='processing'>" + data.OrderStatusDesc + "</span>";116. }117. }118. },119. {120. field: "HapOrderStatus",121. title: Status,122. hidden: true,123. template: function(data) {124. if (data.HapOrderStatus === "ACTIVE") {125. return "<span class='complete'>" + data.HapOrderStatus + "<span>";126. } else if (data.HapOrderStatus === "CANCELLED") {127. return "<span class='cancelled'>" + data.HapOrderStatus + "<span>";128. } else {129. return "<span class='processing'>" + data.HapOrderStatus + "<span>";130. }131. }132. },133. {134. field: "OrderPurpose",135. title: OrderPurchase136. },137. {138. field: "PurchaserName",139. title: Purchaser,140. attributes: {141. "class": "tablet"142. },143. template: "#:PurchaserInfo.PurchaserName#"144. },145. {146. field: "Recipient",147. title: ShipTo,148. attributes: {149. "class": "tablet"150. },151. template: "#:Shipment.Recipient#"152. },153. {154. field: "VolumePoints",155. title: Volume,156. template: "#:Pricing.VolumePoints#"157. },158. {159. field: "Order Again",160. title: OrderAgain,161. template: (function() {162. var url = getUrlWithLocale("/Shop/Cart/Copy/Index/");163. if (myOrders.SearchControl.pagingSearch().IsHapOrder === false) {164. return "<a class='icon-files-ln-3' href='" + url + "#:OrderID#/Ds'> </a>";165. }166. return "";167. }())168. },169. {170. field: "ViewReceipt",171. title: ViewReceipt,172. template: (function (data) {173. if(data.OrderPurpose=="Consumer Direct")174. {175. return "<a href=''><i class='icon-receipt-ln-4'></i></a>";176. }177. return "";178. })179. }180. ]181. });182. }183. 184. var searchByOrderId = function(orderId) {185. localStorage.searchByOrderId = true;186. isOrderById = true;187. localStorage.OrderID = orderId;188. load(false);189. }190. 191. function getOrdersDataSource(data, options) {192. $.ajax({193. url: getUrlWithLocale("/Account/OrderInquiry/GetOrders"),194. data: data,195. dataType: "json",196. success: function(result) {197. if (result == null) {198. noFound();199. } else {200. formatColumns(myOrders.SearchControl.pagingSearch().IsHapOrder);201. showGrid();202. }203. kendo.ui.progress(Kendogrid, false);204. options.success(result);205. }206. });207. }208. 209. function getOrderByIdDataSource(orderId, options) {210. $.ajax({211. url: getUrlWithLocale("/Account/OrderInquiry/GetOrderById"),212. data: { orderId: orderId },213. dataType: "json",214. success: function(result) {215. if (result == null) {216. noFound();217. } else {218. if (result[0].IsStandingHapOrder === true) {219. formatColumns(true);220. $(".k-grid-header-wrap > table").addClass("hap-table");221. $(".k-grid-content > table").addClass("hap-table");222. }223. showGrid();224. }225. kendo.ui.progress(Kendogrid, false);226. options.success(result);227. }228. });229. }230. 231. function noFound() {232. Kendogrid.hide();233. NoFoundMessage.show();234. }235. 236. function showGrid() {237. NoFoundMessage.hide();238. Kendogrid.css("display", "block");239. };240. 241. function formatColumns(isHapOrder) {242. 243. var grid = Kendogrid.data("kendoGrid");244. 245. if (isHapOrder === true) {246. grid.hideColumn("Recipient");247. grid.hideColumn("Order Again");248. grid.hideColumn("ViewReceipt");249. grid.hideColumn("OrderStatusDesc");250. grid.hideColumn("PurchasedBy");251. grid.hideColumn("PurchaserName");252. grid.showColumn("HapOrderStatus");253. 254. $("#grid thead [data-field=ReceivedDate] .k-link").html("Start Date");255. 256. } else {257. //CSS258. grid.showColumn("Recipient");259. //$("th[data-field='Recipient']").show();260. grid.showColumn("OrderAgain");261. //$("th[data-field='Order Again']").show();262. grid.showColumn("ViewReceipt");263. //$("th[data-field='ViewReceipt']").show();264. grid.showColumn("OrderStatusDesc");265. //$("th[data-field='OrderStatusDesc']").show();266. grid.showColumn("PurchasedBy");267. //$("th[data-field='PurchasedBy']").show();268. grid.showColumn("PurchaserName");269. //$("th[data-field='PurchaserName']").show();270. grid.hideColumn("HapOrderStatus");271. //$("th[data-field='HapOrderStatus']").hide();272. //$("#grid thead [data-field=ReceivedDate] .k-link").html("Date");273. }274. }275. 276. return {277. load: load,278. gerUrlWithLocale: getUrlWithLocale,279. searchByOrderId: searchByOrderId280. };281. 282. }());283. 284. return false;285. 286.})(window.myOrders = window.myOrders || {}, jQuery);287. 288.$(document).ready(function () {289. 290. myOrders.OrderHistory.load();291. 292. $("#show-form").click(function () {293. $("#search-form").slideToggle();294. $(this).find("i").toggleClass("icon-arrow-circle-ln-29 icon-arrow-circle-ln-30");295. return false;296. });297. 298. $("#export").click(function () {299. var grid = Kendogrid.data("kendoGrid");300. grid.saveAsExcel();301. return false;302. });303. 304.});